Commit 3349aa40 authored by Christoph Lameter's avatar Christoph Lameter Committed by Kamal Mostafa

vmstat: Reduce time interval to stat update on idle cpu

commit 57c2e36b upstream.

It was noted that the vm stat shepherd runs every 2 seconds and that the
vmstat update is then scheduled 2 seconds in the future.

This yields an interval of double the time interval which is not desired.

Change the shepherd so that it does not delay the vmstat update on the
other cpu.  We stil have to use schedule_delayed_work since we are using a
delayed_work_struct but we can set the delay to 0.
Signed-off-by: default avatarChristoph Lameter <cl@linux.com>
Acked-by: default avatarMichal Hocko <mhocko@suse.cz>
Cc: Vinayak Menon <vinmenon@codeaurora.org>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
[ kamal: 3.19-stable prereq for
  373ccbe5 mm, vmstat: allow WQ concurrency to discover memory reclaim doesn't make any progress ]
Signed-off-by: default avatarKamal Mostafa <kamal@canonical.com>
parent 9f631c00
......@@ -1435,8 +1435,8 @@ static void vmstat_shepherd(struct work_struct *w)
if (need_update(cpu) &&
cpumask_test_and_clear_cpu(cpu, cpu_stat_off))
schedule_delayed_work_on(cpu, &per_cpu(vmstat_work, cpu),
__round_jiffies_relative(sysctl_stat_interval, cpu));
schedule_delayed_work_on(cpu,
&per_cpu(vmstat_work, cpu), 0);
put_online_cpus();
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment