From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S964795AbeAXPqP (ORCPT ); Wed, 24 Jan 2018 10:46:15 -0500 Received: from mx1.redhat.com ([209.132.183.28]:43386 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S934058AbeAXPqO (ORCPT ); Wed, 24 Jan 2018 10:46:14 -0500 Date: Wed, 24 Jan 2018 10:46:08 -0500 From: Luiz Capitulino To: Frederic Weisbecker Cc: Ingo Molnar , LKML , Peter Zijlstra , Chris Metcalf , Thomas Gleixner , Christoph Lameter , "Paul E . McKenney" , Wanpeng Li , Mike Galbraith , Rik van Riel Subject: Re: [GIT PULL] isolation: 1Hz residual tick offloading v4 Message-ID: <20180124104608.038fb212@redhat.com> In-Reply-To: <1516320140-13189-1-git-send-email-frederic@kernel.org> References: <1516320140-13189-1-git-send-email-frederic@kernel.org> Organization: Red Hat MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Fri, 19 Jan 2018 01:02:14 +0100 Frederic Weisbecker wrote: > Ingo, > > Please pull the sched/0hz-v2 branch that can be found at: > > git://git.kernel.org/pub/scm/linux/kernel/git/frederic/linux-dynticks.git > sched/0hz-v2 > > HEAD: 9b14d5204490f9acd03998a5e406ecadb87cddba > > Changes in v4: > > * Remove the nohz_offload option, just stick with the existing interface, > the change is transparent. Suggested by Luiz. > > * Automatically pin workqueues to housekeepers. I've been testing this series and the tick doesn't go completely away for me: it ticks at around 8 seconds interval. I've debugged this down to the clocksource_watchdog() timer, which is created by clocksource_start_watchdog(). This timer cycles over all online CPUs. I couldn't find a way to disable it. It seems to be always enabled for x86 by CONFIG_CLOCKSOURCE_WATCHDOG since commit 6471b825c4. Since the 1Hz tick offload worked for you, I must be missing a way to disable this timer or the kernel is thinking my CPU has unstable TSC (which it doesn't AFAIK). > > --- > Now that scheduler_tick() has become resilient towards the absence of > ticks, current->sched_class->task_tick() is the last piece that needs > at least 1Hz tick to keep scheduler stats alive. > > This patchset offloads this residual 1Hz tick to workqueues. This way > the nohz full CPUs don't have anymore tick (assuming nothing else > requires it) as their residual 1Hz tick get handled by the housekeepers. > > Nothing special is required for testing, just use the usual kernel > parameters, say on CPUs 1-7: > > "nohz_full=1-7" > or > "isolcpus=nohz_offload,domain,1-7" > > Thanks, > Frederic > --- > > Frederic Weisbecker (6): > sched: Rename init_rq_hrtick to hrtick_rq_init > nohz: Allow to check if remote CPU tick is stopped > sched/isolation: Isolate workqueues when "nohz_full=" is set > sched/isolation: Residual 1Hz scheduler tick offload > sched/nohz: Remove the 1 Hz tick code > sched/isolation: Tick offload documentation > > > Documentation/admin-guide/kernel-parameters.txt | 6 +- > include/linux/sched/isolation.h | 1 + > include/linux/sched/nohz.h | 4 - > include/linux/tick.h | 2 + > kernel/sched/core.c | 104 +++++++++++++++++------- > kernel/sched/idle_task.c | 1 - > kernel/sched/isolation.c | 8 +- > kernel/sched/sched.h | 13 +-- > kernel/time/tick-sched.c | 13 +-- > kernel/workqueue.c | 3 +- > 10 files changed, 103 insertions(+), 52 deletions(-) >