[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH] x86-64 linux: unmap temporary mappings established for setup of 1:1 mappings
On 1 Jun 2006, at 19:21, Keir Fraser wrote: The temporary mappings needed to set up the 1:1 mappings must be torn down after use; otherwise they may trigger the WARN_ON() in vmap_pte_range() (namely if the chunk allocated to hold kernel and initial page tables gets close to or exceeds 128Mb, or if a sufficiently high mem= argument causes the static allocations to grow beyond 128Mb, which ineither case means these mappings extend into the modules area).I've applied this to -unstable, but in this patch I only see code to destroy the extended init mappings. What happens if you have a really big initrd (for example)? That will push the initial pagetables up into the modules area -- is that handled correctly now or is more fixup required? Might it make sense to zap all init mappings (after kernel code/data) in mem_init(), where we leave 'bootmem mode'? At that point initrd etc. can all be accessed via the main 1:1 mapping. I think this should work so long as we don't have any residual pointers to the init mapping hanging around. Another concern I have is that our x86/64 mm/init.c is still very complicated and rather different from native mm/init.c (even though I did clean it up a lot some time ago). I'm interested in any ideas about how to reduce the complexity... -- Keir _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |