Messages in this thread | | | Subject | Re: quicklists confuse meminfo | From | Andi Kleen <> | Date | 09 Mar 2008 13:49:26 +0100 |
| |
Ingo Molnar <mingo@elte.hu> writes:
> * Thomas Gleixner <tglx@linutronix.de> wrote: > > > Right, also the quicklist_trim() in idle() is freeing at max 16 pages > > in one go. According to the quicklist_trim() code we keep up to > > (node_free_pages / 16) in the quicklist unconditionally, which seems > > rather odd as well. > > i suspect the right approach would be to get rid of them altogether and > to convert the code to RCU and plain old alloc/free instead.
Are you sure RCU is even needed? AFAIK all delayed freeing on page table level is already handled by the standard free-after-flush mmu code.
iirc quicklists were just to avoid rezeroing pages which are known to be zero at free time (in theory __GFP_ZERO should handle that at page_alloc.c level, but it doesn't) and to get a little private fast path for the page allocator (might actually predate the current page_alloc fast paths)
-Andi
| |