> + * To give a safety margin, the linear address starts about 8MB after the end
> + * of physical memory at VMALLOC_START. This is to try and catch memory
> + * overruns.
Thats architecture dependent. On ppc64 for example the kernel text
starts at 0xC000000000000000 and the vmalloc region starts at
0xD000000000000000, 2^60 bits apart.
> + /* The page table is unlocked because we don't need to traverse
> + * the page tables while a page is been allocated. As
> + * alloc_page could block for a long time, let go the lock
> + */
> spin_unlock(&init_mm.page_table_lock);
> page = alloc_page(gfp_mask);
> spin_lock(&init_mm.page_table_lock);
Since alloc_page can sleep we must drop the spinlock.
Anton
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/