• Christoph Lameter's avatar
    vmstat: create separate function to fold per cpu diffs into local counters · 2bb921e5
    Christoph Lameter authored
    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: default avatarChristoph 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: default avatarAndrew Morton <akpm@linux-foundation.org>
    Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
    2bb921e5
vmstat.c 34.6 KB