From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1759500AbcAUNZe (ORCPT ); Thu, 21 Jan 2016 08:25:34 -0500 Received: from mail-wm0-f68.google.com ([74.125.82.68]:33007 "EHLO mail-wm0-f68.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1759330AbcAUNZc (ORCPT ); Thu, 21 Jan 2016 08:25:32 -0500 Date: Thu, 21 Jan 2016 14:25:28 +0100 From: Frederic Weisbecker To: Peter Zijlstra Cc: LKML , Byungchul Park , Chris Metcalf , Thomas Gleixner , Luiz Capitulino , Christoph Lameter , "Paul E . McKenney" , Mike Galbraith , Rik van Riel Subject: Re: [RFC PATCH 4/4] sched: Upload nohz full CPU load on task enqueue/dequeue Message-ID: <20160121132525.GA5838@lerouge> References: <1452700891-21807-1-git-send-email-fweisbec@gmail.com> <1452700891-21807-5-git-send-email-fweisbec@gmail.com> <20160119131708.GF6344@twins.programming.kicks-ass.net> <20160119170317.GC5317@lerouge> <20160120090906.GG6357@twins.programming.kicks-ass.net> <20160120145416.GB22723@lerouge> <20160120165657.GN6357@twins.programming.kicks-ass.net> <20160120172106.GA27233@lerouge> <20160120182503.GP6357@twins.programming.kicks-ass.net> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20160120182503.GP6357@twins.programming.kicks-ass.net> User-Agent: Mutt/1.5.24 (2015-08-30) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Wed, Jan 20, 2016 at 07:25:03PM +0100, Peter Zijlstra wrote: > On Wed, Jan 20, 2016 at 06:21:07PM +0100, Frederic Weisbecker wrote: > > > You mean a periodic call to the above from the housekeepers? > > > > I didn't think about doing that because you nacked that approach with > > scheduler_tick(). This isn't much different. > > This does _one_ thing, namely load accounting. scheduler_tick() does a > whole bunch of things, some which really do not make much sense to do > remotely. Ok. > > > It means the housekeeper is entirely dedicated to full dynticks CPUs. > > Depends on how many there are, and how many housekeepers. I would > suggest one housekeeper cpu per node or so to make sure this keeps > working. That's possible to do. > > Then again, these load values aren't super important, esp. not for the > nohz_full case where you typically don't care about load balancing. In this case maybe we can assume that these stats don't need precision at all on nohz full and when the full nohz frame starts, we define all cpu_load[i] = cpu_load[0] = weighted_cpuload(cpu) and we keep it that way until the nohz full frame ends. This way we avoid the remote update.