From patchwork Wed Jan 20 01:03:13 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Kamal Mostafa X-Patchwork-Id: 570257 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from huckleberry.canonical.com (huckleberry.canonical.com [91.189.94.19]) by ozlabs.org (Postfix) with ESMTP id CB527140BA2; Wed, 20 Jan 2016 12:09:38 +1100 (AEDT) Received: from localhost ([127.0.0.1] helo=huckleberry.canonical.com) by huckleberry.canonical.com with esmtp (Exim 4.76) (envelope-from ) id 1aLhHD-0005GN-Db; Wed, 20 Jan 2016 01:09:35 +0000 Received: from youngberry.canonical.com ([91.189.89.112]) by huckleberry.canonical.com with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.76) (envelope-from ) id 1aLhG5-0004uO-I4 for kernel-team@lists.ubuntu.com; Wed, 20 Jan 2016 01:08:25 +0000 Received: from 1.general.kamal.us.vpn ([10.172.68.52] helo=fourier) by youngberry.canonical.com with esmtpsa (TLS1.0:DHE_RSA_AES_128_CBC_SHA1:16) (Exim 4.76) (envelope-from ) id 1aLhB6-0008LR-VR; Wed, 20 Jan 2016 01:03:17 +0000 Received: from kamal by fourier with local (Exim 4.82) (envelope-from ) id 1aLhB4-0006Xj-6j; Tue, 19 Jan 2016 17:03:14 -0800 From: Kamal Mostafa To: Christoph Lameter Subject: [3.19.y-ckt stable] Patch "vmstat: Reduce time interval to stat update on idle cpu" has been added to the 3.19.y-ckt tree Date: Tue, 19 Jan 2016 17:03:13 -0800 Message-Id: <1453251793-25121-1-git-send-email-kamal@canonical.com> X-Mailer: git-send-email 1.9.1 X-Extended-Stable: 3.19 Cc: Kamal Mostafa , kernel-team@lists.ubuntu.com, Michal Hocko , Vinayak Menon , Andrew Morton , Linus Torvalds X-BeenThere: kernel-team@lists.ubuntu.com X-Mailman-Version: 2.1.14 Precedence: list List-Id: Kernel team discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Errors-To: kernel-team-bounces@lists.ubuntu.com Sender: kernel-team-bounces@lists.ubuntu.com This is a note to let you know that I have just added a patch titled vmstat: Reduce time interval to stat update on idle cpu to the linux-3.19.y-queue branch of the 3.19.y-ckt extended stable tree which can be found at: http://kernel.ubuntu.com/git/ubuntu/linux.git/log/?h=linux-3.19.y-queue This patch is scheduled to be released in version 3.19.8-ckt13. If you, or anyone else, feels it should not be added to this tree, please reply to this email. For more information about the 3.19.y-ckt tree, see https://wiki.ubuntu.com/Kernel/Dev/ExtendedStable Thanks. -Kamal ---8<------------------------------------------------------------ From 3349aa40de9c09d712c3021ffd0179e84d40c113 Mon Sep 17 00:00:00 2001 From: Christoph Lameter Date: Wed, 11 Feb 2015 15:28:36 -0800 Subject: vmstat: Reduce time interval to stat update on idle cpu 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 Acked-by: Michal Hocko Cc: Vinayak Menon Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [ 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 --- mm/vmstat.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) -- 1.9.1 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();