Messages in this thread Patch in this message | | | Subject | [PATCH 3/2] mm, vmstat: cancel pending work of the cpu_stat_off CPU | From | Mike Galbraith <> | Date | Tue, 02 Feb 2016 08:53:25 +0100 |
| |
Cancel pending work of the cpu_stat_off CPU.
Signed-off-by: Mike Galbraith <mgalbraith@suse.de> --- mm/vmstat.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-)
--- a/mm/vmstat.c +++ b/mm/vmstat.c @@ -1486,25 +1486,25 @@ static void vmstat_shepherd(struct work_ get_online_cpus(); /* Check processors whose vmstat worker threads have been disabled */ - for_each_cpu(cpu, cpu_stat_off) + for_each_cpu(cpu, cpu_stat_off) { + struct delayed_work *dw = &per_cpu(vmstat_work, cpu); + if (need_update(cpu)) { if (cpumask_test_and_clear_cpu(cpu, cpu_stat_off)) - queue_delayed_work_on(cpu, vmstat_wq, - &per_cpu(vmstat_work, cpu), 0); + queue_delayed_work_on(cpu, vmstat_wq, dw, 0); } else { /* * Cancel the work if quiet_vmstat has put this * cpu on cpu_stat_off because the work item might * be still scheduled */ - cancel_delayed_work(this_cpu_ptr(&vmstat_work)); + cancel_delayed_work(dw); } - + } put_online_cpus(); schedule_delayed_work(&shepherd, round_jiffies_relative(sysctl_stat_interval)); - } static void __init start_shepherd_timer(void)
| |