diff options
author | Michel Lespinasse <walken@google.com> | 2013-02-27 17:02:44 -0800 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2013-02-27 19:10:09 -0800 |
commit | ff6a6da60b894d008f704fbeb5bc596f9994b16e (patch) | |
tree | 84c0fd2850edcd836afee8f9c542d4d4d98602f4 /kernel/configs.c | |
parent | c5a51053cf3b499ddba60a89ab067ea05ad15840 (diff) | |
download | linux-ff6a6da60b894d008f704fbeb5bc596f9994b16e.tar.gz linux-ff6a6da60b894d008f704fbeb5bc596f9994b16e.tar.bz2 linux-ff6a6da60b894d008f704fbeb5bc596f9994b16e.zip |
mm: accelerate munlock() treatment of THP pages
munlock_vma_pages_range() was always incrementing addresses by PAGE_SIZE
at a time. When munlocking THP pages (or the huge zero page), this
resulted in taking the mm->page_table_lock 512 times in a row.
We can do better by making use of the page_mask returned by
follow_page_mask (for the huge zero page case), or the size of the page
munlock_vma_page() operated on (for the true THP page case).
Signed-off-by: Michel Lespinasse <walken@google.com>
Cc: Andrea Arcangeli <aarcange@redhat.com>
Cc: Rik van Riel <riel@redhat.com>
Cc: Mel Gorman <mgorman@suse.de>
Cc: Hugh Dickins <hughd@google.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'kernel/configs.c')
0 files changed, 0 insertions, 0 deletions