From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753279AbcECTq7 (ORCPT ); Tue, 3 May 2016 15:46:59 -0400 Received: from mail-wm0-f50.google.com ([74.125.82.50]:38557 "EHLO mail-wm0-f50.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754782AbcECTq5 (ORCPT ); Tue, 3 May 2016 15:46:57 -0400 From: Matt Fleming To: Ingo Molnar , Peter Zijlstra Cc: linux-kernel@vger.kernel.org, Matt Fleming , Mike Galbraith , Mel Gorman , Thomas Gleixner , Frederic Weisbecker , Rik van Riel Subject: [PATCH] sched/fair: Update rq clock before updating nohz cpu load Date: Tue, 3 May 2016 20:46:54 +0100 Message-Id: <1462304814-11715-1-git-send-email-matt@codeblueprint.co.uk> X-Mailer: git-send-email 2.7.3 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org If we're accessing rq_clock() (e.g. in sched_avg_update()) we should update the rq clock before calling cpu_load_update(), otherwise any time calculations will be stale. All other paths currently call update_rq_clock(). Cc: Peter Zijlstra Cc: Ingo Molnar Cc: Mike Galbraith Cc: Mel Gorman Cc: Thomas Gleixner Cc: Frederic Weisbecker Cc: Rik van Riel Signed-off-by: Matt Fleming --- kernel/sched/fair.c | 1 + 1 file changed, 1 insertion(+) diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c index b8a33abce650..aa9ba82f0d7c 100644 --- a/kernel/sched/fair.c +++ b/kernel/sched/fair.c @@ -4723,6 +4723,7 @@ void cpu_load_update_nohz_stop(void) load = weighted_cpuload(cpu_of(this_rq)); raw_spin_lock(&this_rq->lock); + update_rq_clock(this_rq); cpu_load_update_nohz(this_rq, curr_jiffies, load); raw_spin_unlock(&this_rq->lock); } -- 2.7.3