Messages in this thread | | | Date | Mon, 13 Aug 2012 13:29:48 +0100 | From | Mel Gorman <> | Subject | Re: [PATCH] mm: correct page->pfmemalloc to fix deactivate_slab regression |
| |
On Mon, Aug 13, 2012 at 08:14:35PM +0800, Alex Shi wrote: > commit cfd19c5a9ec (mm: only set page->pfmemalloc when > ALLOC_NO_WATERMARKS was used) try to narrow down page->pfmemalloc > setting, but it missed some places the pfmemalloc should be set. > > So, in __slab_alloc, the unalignment pfmemalloc and ALLOC_NO_WATERMARKS > cause incorrect deactivate_slab() on our core2 server: > > 64.73% fio [kernel.kallsyms] [k] _raw_spin_lock > | > --- _raw_spin_lock > | > |---0.34%-- deactivate_slab > | __slab_alloc > | kmem_cache_alloc > | | > > That causes our fio sync write performance has 40% regression. > > This patch move the checking in get_page_from_freelist, that resolved > this issue. > > Signed-off-by: Alex Shi <alex.shi@intel.com>
Acked-by: Mel Gorman <mgorman@suse.de>
-- Mel Gorman SUSE Labs
| |