Messages in this thread | | | Subject | Re: quicklists confuse meminfo | From | Andi Kleen <> | Date | 09 Mar 2008 21:21:38 +0100 |
| |
Andrew Morton <akpm@linux-foundation.org> writes:
> On Sun, 9 Mar 2008 13:34:32 +0100 Ingo Molnar <mingo@elte.hu> 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
| |