diff options
author | Alex Shi <[email protected]> | 2012-08-21 16:16:08 -0700 |
---|---|---|
committer | Linus Torvalds <[email protected]> | 2012-08-21 16:45:03 -0700 |
commit | b121186ab1b12e2a96a945d88eae0735b4542158 (patch) | |
tree | 9d142b77b090af2c508302457435f33143630a0b /tools/perf/util/trace-event-scripting.c | |
parent | 5ed12f12825c6c0451d703bfe918a7fc190e2738 (diff) |
mm: correct page->pfmemalloc to fix deactivate_slab regression
Commit cfd19c5a9ecf ("mm: only set page->pfmemalloc when
ALLOC_NO_WATERMARKS was used") tried 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 to have a 40% regression.
Move the checking in get_page_from_freelist() which resolves this issue.
Signed-off-by: Alex Shi <[email protected]>
Acked-by: Mel Gorman <[email protected]>
Cc: David Miller <[email protected]
Cc: Peter Zijlstra <[email protected]>
Tested-by: Eric Dumazet <[email protected]>
Tested-by: Sage Weil <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
Diffstat (limited to 'tools/perf/util/trace-event-scripting.c')
0 files changed, 0 insertions, 0 deletions