diff options
| author | Cody P Schafer <[email protected]> | 2013-07-03 15:01:31 -0700 |
|---|---|---|
| committer | Linus Torvalds <[email protected]> | 2013-07-03 16:07:27 -0700 |
| commit | 8d7a8fa97abeb4fd6b3975d32c9f859875157770 (patch) | |
| tree | 99e057e6b90bd514e645ed0539d1d1b8178046d3 /tools/perf/scripts/python/bin | |
| parent | c8e251fadc6220261f6e0c6b8a4f1cdf27626165 (diff) | |
mm/page_alloc: insert memory barriers to allow async update of pcp batch and high
Introduce pageset_update() to perform a safe transision from one set of
pcp->{batch,high} to a new set using memory barriers.
This ensures that batch is always set to a safe value (1) prior to
updating high, and ensure that high is fully updated before setting the
real value of batch. It avoids ->batch ever rising above ->high.
Suggested by Gilad Ben-Yossef in these threads:
https://lkml.org/lkml/2013/4/9/23
https://lkml.org/lkml/2013/4/10/49
Also reproduces his proposed comment.
Signed-off-by: Cody P Schafer <[email protected]>
Reviewed-by: 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