summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChristoph Lameter <cl@linux.com>2015-02-11 15:28:36 -0800
committerLinus Torvalds <torvalds@linux-foundation.org>2015-02-11 17:06:07 -0800
commit57c2e36b6f4dd52e7e90f4c748a665b13fa228d2 (patch)
tree9d93d542a10f9ceb3c0ef914b6847975aff445e9
parent94f759d62b2c6a9d124b0622077b1ddcfac43fb5 (diff)
downloadlinux-57c2e36b6f4dd52e7e90f4c748a665b13fa228d2.tar.bz2
vmstat: Reduce time interval to stat update on idle cpu
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: Christoph Lameter <cl@linux.com> Acked-by: Michal Hocko <mhocko@suse.cz> Cc: Vinayak Menon <vinmenon@codeaurora.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
-rw-r--r--mm/vmstat.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/mm/vmstat.c b/mm/vmstat.c
index 470cdd5b924b..4f5cd974e11a 100644
--- a/mm/vmstat.c
+++ b/mm/vmstat.c
@@ -1437,8 +1437,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();