티스토리 뷰
for_each_possible_cpu() 는 CPU(NR_CPUS)의 갯수만큼 루프를 도는 커널 매크로. (kernel 2.6 기준)
#define for_each_possible_cpu(cpu) for_each_cpu_mask((cpu), cpu_possible_map)
NR_CPUS는 Command-line option으로 제어가 가능하니 참고하도록 합시다. for_each_cpu_mask 내부는 아래와 같습니다.
#if NR_CPUS > 1
#define for_each_cpu_mask(cpu, mask) \
for ((cpu) = first_cpu(mask); \
(cpu) < NR_CPUS; \
(cpu) = next_cpu((cpu), (mask)))
#else /* NR_CPUS == 1 */
#define for_each_cpu_mask(cpu, mask) \
for ((cpu) = 0; (cpu) < 1; (cpu)++, (void)mask)
#endif /* NR_CPUS */
※ NR_CPUS 값이 비정상일 경우 부팅에 문제가 생길 수 있음을 주의하도록 합니다.
'개발 > Linux' 카테고리의 다른 글
비용이 낮은 연산자 선택 [%->&, / -> >>] (0) | 2011.11.20 |
---|---|
pages_to_mb (0) | 2011.11.02 |
dmesg Option (0) | 2011.10.31 |
vmalloc 영역... [가설] (0) | 2011.10.28 |
RPC Packet header에 대한 짧은 참고의 글.. (0) | 2011.10.13 |
댓글
최근에 올라온 글
최근에 달린 댓글
글 보관함
- Total
- Today
- Yesterday