Re: quicklists confuse meminfo

From: Andi Kleen
Date: Sun Mar 09 2008 - 16:21:50 EST


Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> writes:

> On Sun, 9 Mar 2008 13:34:32 +0100 Ingo Molnar <mingo@xxxxxxx> wrote:
>
> > the right solution is to get rid of quicklists altogether
>
> Yes, I think so.
>
> - They are pretty marginal from a performance POV (iirc)

One general issue -- as noted again by Christoph Lameter recently --
is that the order 0 fast path in page_alloc.c isn't actually very
fast. That is why people keep inventing their own...

> - As I said when we merged them (under protest): Private object caches
> like this are just a bad idea - caches should be *shared*, because some
> other code path which wants a zeroed page wants a cache-warm one, not a
> cache-cold one from the allocator (iirc there was doubt over how
> cache-warm these pages are, however).
>
> Making __GFP_ZERO smarter/more efficient would be a preferable way of
> addressing any performance problems we have in there.

To do the same as quicklists you would need a __free_pages_zeroed()
and separate buddy lists I think. Later is probably somewhat ugly.
Or perhaps do it only for order 0?

Or perhaps idle time zeroing should be reinvestigated on modern CPUs,
but I'm always a little sceptical of that.

-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/