Nick Piggin <nickpiggin@xxxxxxxxxxxx> wrote:
Despite what people were trying to tell me at Ottawa, this patch
set really does add quite a lot of complexity to the page
allocator, and it seems to be increasingly only of benefit to
dynamically allocating hugepages and memory hot unplug.
Remember that Rohit is seeing ~10% variation between runs of scientific
software, and that his patch to use higher-order pages to preload the
percpu-pages magazines fixed that up. I assume this means that it provided
up to 10% speedup, which is a lot.
But the patch caused page allocator fragmentation and several reports of
gigE Tx buffer allocation failures, so I dropped it.
We think that Mel's patches will allow us to reintroduce Rohit's
optimisation.
If that is the case, do we really want to make such sacrifices
for the huge machines that want these things? What about just
making an extra zone for easy-to-reclaim things to live in?
This could possibly even be resized at runtime according to
demand with the memory hotplug stuff (though I haven't been
following that).
Don't take this as criticism of the actual implementation or its
effectiveness.
But yes, adding additional complexity is a black mark, and these patches
add quite a bit. (Ditto the fine-looking adaptive readahead patches, btw).