diff options
| author | Cody P Schafer <[email protected]> | 2013-07-03 15:01:33 -0700 |
|---|---|---|
| committer | Linus Torvalds <[email protected]> | 2013-07-03 16:07:27 -0700 |
| commit | 0a647f3811d6af56405a819341ceac23e31d4572 (patch) | |
| tree | ba96d8341d2de9379d5acbb799cb6da6b5a16b41 /tools/perf/scripts/python/bin | |
| parent | 998d39cb236fe464af86a3492a24d2f67ee1efc2 (diff) | |
mm/page_alloc: convert zone_pcp_update() to rely on memory barriers instead of stop_machine()
zone_pcp_update()'s goal is to adjust the ->high and ->mark members of a
percpu pageset based on a zone's ->managed_pages. We don't need to drain
the entire percpu pageset just to modify these fields.
This lets us avoid calling setup_pageset() (and the draining required to
call it) and instead allows simply setting the fields' values (with some
attention paid to memory barriers to prevent the relationship between
->batch and ->high from being thrown off).
This does change the behavior of zone_pcp_update() as the percpu pagesets
will not be drained when zone_pcp_update() is called (they will end up
being shrunk, not completely drained, later when a 0-order page is freed
in free_hot_cold_page()).
Signed-off-by: Cody P Schafer <[email protected]>
Cc: Gilad Ben-Yossef <[email protected]>
Cc: KOSAKI Motohiro <[email protected]>
Cc: Mel Gorman <[email protected]>
Cc: Pekka Enberg <[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