spin_lock , zone, cgroup 에 관한질문..

조회 수 1087 추천 수 0 2010.03.13 22:13:51

첫번째 :

spin_lock 에 관한 질문입니다.

spin_lock 시 preempt_disable()하는 이유를 모르겠습니다.


두번째 : 

numa 시스템(x86)에서 각노드마다 zone_dma , zone_normal, zone_highmem

이 존재 하는것인지 아니면 zone_dma는 하나의 node에만 존재하는 것인지 궁금합니다.


세번째 : 

cgroup 관련 코드 분석중, 

cgroup 컨셉이나, 왜 필요한지 , 어떻게 구현이 되었는지 크게

흐름을 알면 좋을거 같아 질문 드립니다.




김남형

2010.03.14 01:20:53
*.176.78.41

1. spin_lock은 busy wait를 하기 때문에 lock을 잡은 태스크는 최대한 빨리 작업을 마치고 lock를 풀어줘야 합니다. 그런데 lock을 잡고 있는 도중 선점되어 다른 태스크가 먼저 실행된다면 안 되겠죠?


2. zone은 모든 node마다 동일하게 존재합니다만.. 실제로 zone 내에 page가 존재하지 않을 수도 있습니다. 메모리 구성에 따라 달라지겠지만요.. ;;


3. cgroup은 cpu나 메모리 등의 자원을 그룹 단위로 효과적으로 분배하기 위해 만들어진 것입니다. 커널 소스 내에 cgroup에 대한 문서가 잘 정리되어 있으니 참고하시면 될 것 같습니다.

강진성

2010.03.14 16:34:42
*.36.204.117

답변 정말 감사합니다^^;

 

spin_lock 시 선점을 금지 시키는 이유는 결국 spin_lock 부분(임계영역)의 수행 시간을 보장하기 위해서 한다는 것이군요.

 

 'zone은 모든 node 마다 동일하게 존재하지만 zone 내에 page가 존재하지 않을수도 있다 '

zone내에 page가 존재 하지 않는다면 노드 마다 존이 달라질수 있다라고 생각하면 될까여?

 

 

 

 

백창우

2010.03.14 23:08:35
*.33.115.195

아뇨. 노드마다 존은 동일한데, 해당 노드의 존에 페이지가 없을 수 있다는 말입니다.

 

노서영

2010.03.15 09:04:17
*.183.234.177

종합해보면,


모든 노드에 동일한 zone이 존재한다.

하지만, zone의 크기는 노드마다 다르고, 어떤 노드에서 특정 zone의 real size = 0이 될 수 있다.


코드를 분석해 보면, 모든 노드에 동일한 zone들이 있다고 생각되었고, 질문의 핵심은 zone dma인데, 이 zone은 특정 노드에만 존재해야 할것 같다는 생각이 들더군요.


이제 좀 클리어 해진것 같습니다.

List of Articles
번호 제목 글쓴이 날짜 조회 수
102 Linker Script부분과 종합된 질문 [4] 이상훈 2010-03-17 1037
101 sbrk() 의 정확한 역할 ... [3] 이상훈 2010-03-17 1072
100 엄청난 오개념 [4] 이상훈 2010-03-16 986
99 커널 스터디 관련 질문입니다. [1] 이준명 2010-03-16 965
98 용어적인 질문 [2] 이상훈 2010-03-16 938
» spin_lock , zone, cgroup 에 관한질문.. [4] 강진성 2010-03-13 1087
96 환경 변수 설정관련 질문 ... [3] 이상훈 2010-03-11 969
95 네트워크 인터페이스 할당 변경에 관련하여 문의드립니다. [3] 송인재 2010-03-10 1025
94 percpu_read 와 __attribute__(__section__) [5] 이상훈 2010-03-08 1123
93 cpu_number 정의가 어디있는건가요 ? [2] 이상훈 2010-03-07 1001
92 add_preempt_count() 에 대해서 ... [3] 이상훈 2010-03-07 1043
91 기계어 질문 [7] 이상훈 2010-03-06 1072
90 스터디 시간 좀 늦춰주실 수 없나요 ? [3] 이상훈 2010-03-06 956
89 백창우님 질문입니다 [4] 이상훈 2010-03-06 1103
88 __ASSEMBLY__ 의 의미는 무엇인가요 ? [2] 이상훈 2010-03-05 1121
87 신기한 것 발견 ... [2] 이상훈 2010-03-03 1230
86 제일 궁금한부분입니다 ㅡ_ㅡ;;; [2] 이상훈 2010-03-03 998
85 질문입니다 [2] 이상훈 2010-03-02 1019
84 $(TOPDIR)/Makefile 질문 [4] 이상훈 2010-03-02 1044
83 모듈 단위로 분석하는 것의 한계점 [5] Linux 2010-02-28 1053



XE Login