일시 : 2014.05.10 (53주차)
모임명 : NAVER개발자커뮤니티지원_IAMROOT.ORG_10차ARM-C
장소 : 토즈 타워점
장소지원 : NAVER 개발자 커뮤니티 지원 프로그램
참여인원 : 4명
스터디 진도 :
- 지난 스터디에 이어서 mem_init()을 계속 분석합니다.
- start_kernel()-> mm_init()->kmem_cache_init()->create_boot_cache() 분석중
- kmem_cache_init()이 분석 중이어서 이번 후기는 내용이 짧습니다.
- 내용이 복잡해서 slub()이 끝나는 시점에서 내용 정리를 함께 다시 하기로 했습니다.
- 자세한 후기도 그때 다시 정리하려고 합니다.
스터디 주요 내용
- buddy할당자에 이어서 kmem 할당자 (Slub)을 분석중입니다.
- mem_init()->kmem_cache_init()->create_boot_cache()->kmem_cache_create()
->kmem_cache_open()->init_kmem_cache_nodes->early_kmem_cache_node_alloc()
->new_slab()->allocate_slab()->alloc_slab_page()->alloc_pages_exact_node()
->alloc_pages()->__alloc_pages_nodemask(); - 커널 버전을 3.13.11로 바꿨습니다. 괴도키드님께서 머지를 해주셨습니다.
linux_stable 사용
- git 저장소에서 연휴전에 이야기 되었던 소스를 ubuntu 14.04 LTS에서 사용 하는 3.13.x로 바꿨습니다. ubuntu 14.04 LTS는 2019년까지 지원합니다. 따라서 스터디가 끝나도 오랜 동안 사용할 수 있다는 점을 함께 고려했습니다.
- 괴도 키드님이 연휴 기간 중에 머지 작업을 진행해서 새로운 저장소에 올려 놓았습니다.
- 기존 : ver. 3.11. 1 , 저장소 arm10c/linux
- 수정 : ver. 3.13.11 , 저장소 arm10c/linux_stable
- checkout을 사용해서 master 를 사용하면 3.13.11이 됩니다.
- checkout으로 study-3.11.1 을 사용하면 기존 스더디 내용이 것이 된다.
- 즉 우리는 이제부터 저장소로 arm10c/linux_stable 을 사용합니다.
- tags와 branch의 차이점
- tags 는 리눅스 버전이 올라갈 때마다 태그가 추가된다. 쉽게 이야기 하면 어느 시점에서 릴리즈 한 것이라고 보면 됩니다.
- branch 는 계속 바뀔 수 있는 것입니다. 자신의 로컬에서 브랜치를 만들어 작업하고 이것을 반영하려면 머지 명령으로 병합합니다.
merge 방법
- 우선 기존에 모든 branch를 가져오자.
git fetch -u origin +refs/heads/:refs/heads/ - 우리가 스터디 한 것으로 checkout해서 이동하자.
git checkout study-3.11.1 - 우리가 스터디 한 3.11.1이 맞게 되어있는지 확인해 보자
git log - git checkout master
- 3.13.11 로 스터디를 계속 해 보자.
branch를 만들어 보자.
- 3.13.y 로 체크아웃하자.git checkout linux-3.13.y
- merge_test라는 이름으로 브랜치를 만든자.git branch merge_test
- 브랜치가 생겼는지 확인git branch -v
- merge_test로 이동.git checkout merge_test
- 자동 머지가 되는 것이 있고, 충돌난 부분이 있다.git merge study-3.11.1
- 충돌난 부분(빨간색으로 된 부분)이 나타난다.git status
- 충돌난 파일들을 열어서 수정한다.vim Makefile
emacs Makefile - 수정한 충돌난 부분을 새로 브렌치에 넣어 준다.git add Makefile
자기 repo것을 수정해보자.
- 원격지 repo를 확인해 본다.git remote -v
- 원격지 repo에 my_repo의 repo주소를 추가한다.git remote add my_repo 리포주소
- 원격지 repo가 맞게 되었는지 확인해 본다.git remote -v
- 메인으로 이동하고,git checkout master
- 주석을 확인git log
- review 브랜치를 새로 만든다.git branch review
- review 브렌치로 이동한다.git checkout review
- 주석을 확인git log
- my_reporo/review 브랜치를 가져온다.git pull my_repo review
- 맞게 되었는지 주석을 확인git log
vm_stat[?]
- vm_stat[0] : number of free pags 수
- vm_stat1 : batch, chunk size for buddy add/remove
댓글 없음:
댓글 쓰기