[커널 17차 A-2조] 16주차

2020.12.19 15:09

ㅇㅇㅇ 조회 수:113

init/main.c

 

start_kernel 진행 중

 

init_cgroup_root();

RCU_INIT_POINTER();

cgroup_init_subsys(); <-- 분석 중

 

mutex_lock();

idr_init();

init_and_link_css(); <-- 분석 중

 

 

초기화 안된 static 변수는 BSS에서 관리함. C에서 초기화 안된 static 변수는 0/NULL로 초기화됨
https://dreamlog.tistory.com/91

__init 컴파일러 지시어 : 초기에만 필요한 데이터/코드로 컴파일러가 init 영역에 올려놓고 부팅 후 초기에 사용한뒤 초기화 끝나면 날려서 해당 메모리 영역을 일반 영역으로 사용
https://kkoroke.tistory.com/entry/init-initdata-exit-exitdata

built-in : 커널의 feature를 선택하여 build config를 설정
1. kernel image의 일부로 설정
2. module로 build
3. 선택 안함


RCU 개괄적 개념
http://jake.dothome.co.kr/rcu/
https://seokbeomkim.github.io/posts/rcu/
https://xoit.tistory.com/48

 

매크로를 do { } while (0) 형태로 만드는 이유
1. 매크로에 ;을 취할 수 있게 해주는 의도
2. block으로 감싸서 문법 오류 방지 (한 줄짜리 if의 경우)

 

Sparse 툴 : 코드 정적 분석 도구
http://jake.dothome.co.kr/sparse/
https://www.kernel.org/doc/html/v4.12/dev-tools/sparse.html

 

might_sleep : 지금 sleep할 수 있는지 체크 (디버그 용)
# CONFIG_DEBUG_ATOMIC_SLEEP is not set
might_reshed : preempt_voluntary config --> desktop only

 

IDR : radix-tree로 ID를 pointer를 연결시키는 자료구조임
https://en.wikipedia.org/wiki/Radix_tree
http://jake.dothome.co.kr/radix-tree/
http://jake.dothome.co.kr/idr/

 

#define 문을 통해 radix-tree를 xarray라는 자료구조로 바꿔서 사용함
https://namj.be/linux-kernel/2020-03-11-linux-radix-tree/2020-03-11-linux-radix-tree/
https://www.kernel.bz/boardPost/118679/19

 

GFP 플래그 (get free page) : 메모리 할당시 할당 옵션을 주는 플래그
https://lwn.net/Articles/23042/
http://blog.naver.com/PostView.nhn?blogId=crushhh&logNo=221631386014
https://lwn.net/Articles/22909/

__rcu_dereference_check():
x = ({ a = a+1; b = b - 1; c});

 

css_alloc : 부모 taskgroup의 css로부터 새로운 css를 할당

번호 제목 글쓴이 날짜 조회 수
공지 [공지] 스터디 정리 노트 공간입니다. woos 2016.05.14 629
248 [커널 19차] 103 주차 Min 2024.04.28 33
247 [커널 20차] 48주차 무한질주 2024.04.25 38
246 [커널 19차] 102 주차 Min 2024.04.20 44
245 [커널 19차] 101 주차 Min 2024.04.13 64
244 [커널 19차] 100 주차 Min 2024.04.13 18
243 [커널 19차] 99 주차 Min 2024.03.30 82
242 [커널 19차] 98 주차 Min 2024.03.23 57
241 [커널 19차] 97 주차 Min 2024.03.16 50
240 [커널 19차] 96 주차 Min 2024.03.14 32
239 [커널 19차] 95 주차 [2] Min 2024.03.03 111
238 [커널 20차] 32주차 brw 2023.12.16 388
237 [커널 20차] 29주차 brw 2023.11.27 163
236 [커널 20차] 27주차 brw 2023.11.21 86
235 [커널 20차] 26주차 brw 2023.11.21 50
234 [커널 20차] 28주차 이민찬 2023.11.19 65
233 [커널 20차] 25주차 이민찬 2023.10.30 120
232 [커널 20차] 24주차 이민찬 2023.10.22 802
231 [커널 20차] 23주차 이민찬 2023.10.14 81
230 [커널 20차] 22주차 이민찬 2023.10.08 76
229 [커널 20차] 21주차 이민찬 2023.09.23 116
XE Login