From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S933787AbdBQMHh (ORCPT ); Fri, 17 Feb 2017 07:07:37 -0500 Received: from mail-wr0-f171.google.com ([209.85.128.171]:34339 "EHLO mail-wr0-f171.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1755335AbdBQMHe (ORCPT ); Fri, 17 Feb 2017 07:07:34 -0500 From: Matt Fleming To: Peter Zijlstra , Ingo Molnar , Frederic Weisbecker Cc: linux-kernel@vger.kernel.org, Matt Fleming Subject: [PATCH v2 0/2] sched/loadavg: Fix loadavg spikes and sprinkle {READ,WRITE}_ONCE() Date: Fri, 17 Feb 2017 12:07:29 +0000 Message-Id: <20170217120731.11868-1-matt@codeblueprint.co.uk> X-Mailer: git-send-email 2.10.0 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Peter, Frederic, Here's a v2 of the patch series to fix the loadavg spikes I'm seeing on a v3.12 based kernel, caused by delaying load sampling if a sample period was crossed while in NO_HZ idle. I tried to make the changelog for PATCH 1 clearer this time around by incorporating suggestions from both of you. Please let me know if it's still unclear. PATCH 2 addresses Peter's comment: "Irrespective the above though; should we not make this: + this_rq->calc_load_update = READ_ONCE(calc_load_update); because if for some reason we do a double load of calc_load_update and see two different values, weird stuff could happen. And because, on general principle, a READ_ONCE() should be paired with a WRITE_ONCE(), that should be done too I suppose." The v1 of the patch can be found here: https://lkml.kernel.org/r/20170208132924.3038-1-matt@codeblueprint.co.uk Matt Fleming (2): sched/loadavg: Avoid loadavg spikes caused by delayed NO_HZ accounting sched/loadavg: Use {READ,WRITE}_ONCE() for sample window kernel/sched/loadavg.c | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) -- 2.10.0