Re: quicklists confuse meminfo

From: Andi Kleen
Date: Sun Mar 09 2008 - 08:49:41 EST


Ingo Molnar <mingo@xxxxxxx> writes:

> * Thomas Gleixner <tglx@xxxxxxxxxxxxx> 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
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/