diff options
| author | Dave Hansen <[email protected]> | 2011-03-22 16:32:56 -0700 |
|---|---|---|
| committer | Linus Torvalds <[email protected]> | 2011-03-22 17:44:04 -0700 |
| commit | 033193275b3ffcfe7f3fde7b569f3d207f6cd6a0 (patch) | |
| tree | fc65fa02248f855f0f63e087f35a507b6abb5617 /tools/perf/scripts/python/bin | |
| parent | 278df9f451dc71dcd002246be48358a473504ad0 (diff) | |
pagewalk: only split huge pages when necessary
Right now, if a mm_walk has either ->pte_entry or ->pmd_entry set, it will
unconditionally split any transparent huge pages it runs in to. In
practice, that means that anyone doing a
cat /proc/$pid/smaps
will unconditionally break down every huge page in the process and depend
on khugepaged to re-collapse it later. This is fairly suboptimal.
This patch changes that behavior. It teaches each ->pmd_entry handler
(there are five) that they must break down the THPs themselves. Also, the
_generic_ code will never break down a THP unless a ->pte_entry handler is
actually set.
This means that the ->pmd_entry handlers can now choose to deal with THPs
without breaking them down.
[[email protected]: coding-style fixes]
Signed-off-by: Dave Hansen <[email protected]>
Acked-by: Mel Gorman <[email protected]>
Acked-by: David Rientjes <[email protected]>
Reviewed-by: Eric B Munson <[email protected]>
Tested-by: Eric B Munson <[email protected]>
Cc: Michael J Wolf <[email protected]>
Cc: Andrea Arcangeli <[email protected]>
Cc: Johannes Weiner <[email protected]>
Cc: Matt Mackall <[email protected]>
Cc: Jeremy Fitzhardinge <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
Diffstat (limited to 'tools/perf/scripts/python/bin')
0 files changed, 0 insertions, 0 deletions