Re: [PATCH 3/2] mm, vmstat: cancel pending work of the cpu_stat_off CPU
From: Michal Hocko <mhocko@kernel.org>
Date: 2016-02-02 08:18:33
Also in:
lkml
On Tue 02-02-16 08:53:25, Mike Galbraith wrote:
Cancel pending work of the cpu_stat_off CPU.
Thanks for catching that Mike. This was a last minute change and I screwed it... Andrew could you fold this into the original patch, please? Thanks!
Signed-off-by: Mike Galbraith <redacted>
Acked-by: Michal Hocko <mhocko@suse.com>
quoted hunk ↗ jump to hunk
--- 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)
-- Michal Hocko SUSE Labs -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@kvack.org. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>