mirror of
https://github.com/Fishwaldo/Star64_linux.git
synced 2025-06-19 13:11:14 +00:00
vmstat: create separate function to fold per cpu diffs into local counters
The main idea behind this patchset is to reduce the vmstat update overhead by avoiding interrupt enable/disable and the use of per cpu atomics. This patch (of 3): It is better to have a separate folding function because refresh_cpu_vm_stats() also does other things like expire pages in the page allocator caches. If we have a separate function then refresh_cpu_vm_stats() is only called from the local cpu which allows additional optimizations. The folding function is only called when a cpu is being downed and therefore no other processor will be accessing the counters. Also simplifies synchronization. [akpm@linux-foundation.org: fix UP build] Signed-off-by: Christoph Lameter <cl@linux.com> Cc: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com> CC: Tejun Heo <tj@kernel.org> Cc: Joonsoo Kim <js1304@gmail.com> Cc: Alexey Dobriyan <adobriyan@gmail.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
parent
d2cf5ad631
commit
2bb921e526
3 changed files with 37 additions and 8 deletions
|
@ -5435,7 +5435,7 @@ static int page_alloc_cpu_notify(struct notifier_block *self,
|
|||
* This is only okay since the processor is dead and cannot
|
||||
* race with what we are doing.
|
||||
*/
|
||||
refresh_cpu_vm_stats(cpu);
|
||||
cpu_vm_stats_fold(cpu);
|
||||
}
|
||||
return NOTIFY_OK;
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue