diff options
author | Vlastimil Babka <vbabka@suse.cz> | 2013-09-11 23:22:33 +0200 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2013-09-12 00:58:00 +0200 |
commit | 5b40998ae35cf64561868370e6c9f3d3e94b6bf7 (patch) | |
tree | 24f7142d850df3512392004501fc9db7573fc031 /lib/dynamic_queue_limits.c | |
parent | mm: munlock: bypass per-cpu pvec for putback_lru_page (diff) | |
download | linux-5b40998ae35cf64561868370e6c9f3d3e94b6bf7.tar.xz linux-5b40998ae35cf64561868370e6c9f3d3e94b6bf7.zip |
mm: munlock: remove redundant get_page/put_page pair on the fast path
The performance of the fast path in munlock_vma_range() can be further
improved by avoiding atomic ops of a redundant get_page()/put_page() pair.
When calling get_page() during page isolation, we already have the pin
from follow_page_mask(). This pin will be then returned by
__pagevec_lru_add(), after which we do not reference the pages anymore.
After this patch, an 8% speedup was measured for munlocking a 56GB large
memory area with THP disabled.
Signed-off-by: Vlastimil Babka <vbabka@suse.cz>
Reviewed-by: Jörn Engel <joern@logfs.org>
Acked-by: Mel Gorman <mgorman@suse.de>
Cc: Michel Lespinasse <walken@google.com>
Cc: Hugh Dickins <hughd@google.com>
Cc: Rik van Riel <riel@redhat.com>
Cc: Johannes Weiner <hannes@cmpxchg.org>
Cc: Michal Hocko <mhocko@suse.cz>
Cc: Vlastimil Babka <vbabka@suse.cz>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'lib/dynamic_queue_limits.c')
0 files changed, 0 insertions, 0 deletions