Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752764AbdHJMyq (ORCPT ); Thu, 10 Aug 2017 08:54:46 -0400 Received: from mail-wr0-f196.google.com ([209.85.128.196]:34680 "EHLO mail-wr0-f196.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751550AbdHJMyp (ORCPT ); Thu, 10 Aug 2017 08:54:45 -0400 Date: Thu, 10 Aug 2017 14:54:40 +0200 From: Frederic Weisbecker To: Chris Metcalf Cc: LKML , Peter Zijlstra , Thomas Gleixner , Luiz Capitulino , Christoph Lameter , "Paul E . McKenney" , Ingo Molnar , Mike Galbraith , Rik van Riel , Wanpeng Li Subject: Re: [RFC PATCH 0/9] Introduce housekeeping subsystem Message-ID: <20170810125437.GA8754@lerouge> References: <1500643290-25842-1-git-send-email-fweisbec@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: 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 Content-Length: 2175 Lines: 52 On Fri, Jul 21, 2017 at 03:48:16PM -0400, Chris Metcalf wrote: > On 7/21/2017 9:21 AM, Frederic Weisbecker wrote: > >I'm leaving for two weeks so this is food for thoughts in the meantime :) > > > >We have a design issue with nohz_full: it drives the isolation features > >through the *housekeeping*() functions: kthreads, unpinned timers, > >watchdog, ... > > > >But things should work the other way around because the tick is just an > >isolation feature among others. > > > >So we need a housekeeping subsystem to drive all these isolation > >features, including nohz full in a later iteration. For now this is a > >basic draft. In the long run this subsystem should also drive the tick > >offloading (remove residual 1Hz) and all unbound kthreads. > > > >git://git.kernel.org/pub/scm/linux/kernel/git/frederic/linux-dynticks.git > > nohz/0hz > > > >HEAD: 68e3af1de5db228bf6c2a5e721bce59a02cfc4e1 > > For the series: > > Reviewed-by: Chris Metcalf > > I spotted a few typos that you should grep for and fix for your next > version: > "watchog", "Lets/lets" instead of "Let's/let's", "overriden" (should have > two d's). Thanks, I'll check those. > > The new housekeeping=MASK boot option seems like it might make it a little > irritating to specify nohz_full=MASK as well. I guess if setting > NO_HZ_FULL_ALL > implied "all but housekeeping", it becomes a reasonably tidy solution. To > make > this work right you might have to make the housekeeping option early_param > instead so its value is available early enough. Good point. But perhaps I should add a new NO_HZ_FULL_BUT_HOUSEKEEPING option. Otherwise we'll change the meaning of NO_HZ_FULL_ALL way too much, to the point that its default behaviour will be the exact opposite of the current one: by default every CPU is housekeeping, so NO_HZ_FULL_ALL would have no effect anymore if we don't set housekeeping boot option. Also I plan to add a housekeeping option to offload the residual 1Hz tick from nohz_full CPUs. So having "housekeeping=0,tick_offload" would make CPU 0 the housekeeper, make the other CPUs nohz_full and handle their 1hz tick from CPU 0. Just a few thoughts.