]> Git Repo - linux.git/commitdiff
vmstat: make vmstat_update deferrable
authorMichal Hocko <[email protected]>
Fri, 5 Feb 2016 23:36:27 +0000 (15:36 -0800)
committerLinus Torvalds <[email protected]>
Sat, 6 Feb 2016 02:10:40 +0000 (18:10 -0800)
Commit 0eb77e988032 ("vmstat: make vmstat_updater deferrable again and
shut down on idle") made vmstat_shepherd deferrable.  vmstat_update
itself is still useing standard timer which might interrupt idle task.
This is possible because "mm, vmstat: make quiet_vmstat lighter" removed
cancel_delayed_work from the quiet_vmstat.

Change vmstat_work to use DEFERRABLE_WORK to prevent from pointless
wakeups from the idle context.

Acked-by: Christoph Lameter <[email protected]>
Signed-off-by: Michal Hocko <[email protected]>
Cc: Mike Galbraith <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
mm/vmstat.c

index 1543f64df3e6a9f984cfff85794f892dd669c27d..084c6725b3734430483e7ea4fcf74e2ab67f7bfa 100644 (file)
@@ -1512,7 +1512,7 @@ static void __init start_shepherd_timer(void)
        int cpu;
 
        for_each_possible_cpu(cpu)
-               INIT_DELAYED_WORK(per_cpu_ptr(&vmstat_work, cpu),
+               INIT_DEFERRABLE_WORK(per_cpu_ptr(&vmstat_work, cpu),
                        vmstat_update);
 
        if (!alloc_cpumask_var(&cpu_stat_off, GFP_KERNEL))
This page took 0.058249 seconds and 4 git commands to generate.