Thread (2 messages) flat view 2 messages, 2 authors, 2008-01-23

Re: [PATCH v2] Fix handling of memreserve if the range lands in highmem

From: Paul Mackerras <hidden>
Date: 2008-01-23 23:04:18

Kumar Gala writes:
There were several issues if a memreserve range existed and happened
to be in highmem:

* The bootmem allocator is only aware of lowmem so calling
  reserve_bootmem with a highmem address would cause a BUG_ON
* All highmem pages were provided to the buddy allocator

Added a lmb_is_reserved() api that we now use to determine if a highem
page should continue to be PageReserved or provided to the buddy
allocator.

Also, we incorrectly reported the amount of pages reserved since all
highmem pages are initally marked reserved and we clear the
PageReserved flag as we "free" up the highmem pages.
This patch breaks all the 64-bit configs since 64-bit doesn't have
total_lowmem.  The extra complexity is only needed in the
CONFIG_HIGHMEM case, so an ifdef would be one solution, though an ugly
one.  We do already have an ifdef just above the place you changed in
arch/powerpc/mm/mem.c which you could just enlarge rather than adding
a new ifdef.

And clearly I can't pull your tree until this is sorted somehow...

Paul.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help