一段内核代码,不理解.
rtm 2003-10-20 09:27:01 2.2.25内核linux\mm\page_alloc.c中的free_area_init函数:
有这样一段:
for (j = 0; j < NR_MEM_TYPES; j++) {
mask = PAGE_MASK;
for (i = 0 ; i < NR_MEM_LISTS ; i++) {
unsigned long bitmap_size;
init_mem_queue(free_area[j]+i);
mask += mask;
end_mem = (end_mem + ~mask) & mask;
bitmap_size = (end_mem - PAGE_OFFSET) >> (PAGE_SHIFT + i);
bitmap_size = (bitmap_size + 7) >> 3;
bitmap_size = LONG_ALIGN(bitmap_size);
free_area[j][i].map = (unsigned int *) start_mem;
memset((void *) start_mem, 0, bitmap_size);
start_mem += bitmap_size;
}
请教读过2.2版本的朋友,这段是想完成什么动作?