]> Git Repo - linux.git/commit
mm: accelerate mm_populate() treatment of THP pages
authorMichel Lespinasse <[email protected]>
Sat, 23 Feb 2013 00:35:56 +0000 (16:35 -0800)
committerLinus Torvalds <[email protected]>
Sun, 24 Feb 2013 01:50:23 +0000 (17:50 -0800)
commit240aadeedc4a89fc44623f8ce4ca46bda73db07e
treee12cc254f2e78560837e5d454fdbe9b5d9e05c5c
parent28a35716d317980ae9bc2ff2f84c33a3cda9e884
mm: accelerate mm_populate() treatment of THP pages

This change adds a follow_page_mask function which is equivalent to
follow_page, but with an extra page_mask argument.

follow_page_mask sets *page_mask to HPAGE_PMD_NR - 1 when it encounters
a THP page, and to 0 in other cases.

__get_user_pages() makes use of this in order to accelerate populating
THP ranges - that is, when both the pages and vmas arrays are NULL, we
don't need to iterate HPAGE_PMD_NR times to cover a single THP page (and
we also avoid taking mm->page_table_lock that many times).

Signed-off-by: Michel Lespinasse <[email protected]>
Cc: Andrea Arcangeli <[email protected]>
Cc: Rik van Riel <[email protected]>
Cc: Mel Gorman <[email protected]>
Cc: Hugh Dickins <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
include/linux/mm.h
mm/memory.c
mm/nommu.c
This page took 0.053126 seconds and 4 git commands to generate.