[PATCH 3.19.y-ckt 084/160] vmstat: Reduce time interval to stat update on idle cpu

Kamal Mostafa kamal at canonical.com
Wed Jan 20 01:06:02 UTC 2016


3.19.8-ckt13 -stable review patch.  If anyone has any objections, please let me know.

---8<------------------------------------------------------------

From: Christoph Lameter <cl at linux.com>

commit 57c2e36b6f4dd52e7e90f4c748a665b13fa228d2 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: Christoph Lameter <cl at linux.com>
Acked-by: Michal Hocko <mhocko at suse.cz>
Cc: Vinayak Menon <vinmenon at codeaurora.org>
Signed-off-by: Andrew Morton <akpm at linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds at linux-foundation.org>
[ kamal: 3.19-stable prereq for
  373ccbe mm, vmstat: allow WQ concurrency to discover memory reclaim doesn't make any progress ]
Signed-off-by: Kamal Mostafa <kamal at canonical.com>
---
 mm/vmstat.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/mm/vmstat.c b/mm/vmstat.c
index cdac773..7be790da 100644
--- a/mm/vmstat.c
+++ b/mm/vmstat.c
@@ -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();
 
-- 
1.9.1





More information about the kernel-team mailing list