diff options
| author | Johannes Weiner <[email protected]> | 2013-02-22 16:32:12 -0800 |
|---|---|---|
| committer | Linus Torvalds <[email protected]> | 2013-02-23 17:50:09 -0800 |
| commit | d778df51c09264076fe0208c099ef7d428f21790 (patch) | |
| tree | 8022d838d72a46c23736218c460714652282a6db /tools/perf/scripts/python/bin | |
| parent | 7c5bd705d8f983ae1868a126956f5aa3a6702e3f (diff) | |
mm: vmscan: save work scanning (almost) empty LRU lists
In certain cases (kswapd reclaim, memcg target reclaim), a fixed minimum
amount of pages is scanned from the LRU lists on each iteration, to make
progress.
Do not make this minimum bigger than the respective LRU list size,
however, and save some busy work trying to isolate and reclaim pages
that are not there.
Empty LRU lists are quite common with memory cgroups in NUMA
environments because there exists a set of LRU lists for each zone for
each memory cgroup, while the memory of a single cgroup is expected to
stay on just one node. The number of expected empty LRU lists is thus
memcgs * (nodes - 1) * lru types
Each attempt to reclaim from an empty LRU list does expensive size
comparisons between lists, acquires the zone's lru lock etc. Avoid
that.
Signed-off-by: Johannes Weiner <[email protected]>
Reviewed-by: Rik van Riel <[email protected]>
Acked-by: Mel Gorman <[email protected]>
Reviewed-by: Michal Hocko <[email protected]>
Cc: Hugh Dickins <[email protected]>
Cc: Satoru Moriya <[email protected]>
Cc: Simon Jeons <[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