Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753409AbbHCMuD (ORCPT ); Mon, 3 Aug 2015 08:50:03 -0400 Received: from mail-wi0-f169.google.com ([209.85.212.169]:36808 "EHLO mail-wi0-f169.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752833AbbHCMuA (ORCPT ); Mon, 3 Aug 2015 08:50:00 -0400 Date: Mon, 3 Aug 2015 14:49:54 +0200 From: Frederic Weisbecker To: Peter Zijlstra Cc: LKML , Thomas Gleixner , Preeti U Murthy , Christoph Lameter , Ingo Molnar , Viresh Kumar , Rik van Riel Subject: Re: [PATCH 04/10] nohz: Remove useless argument on tick_nohz_task_switch() Message-ID: <20150803124952.GB20269@lerouge> References: <1437669735-8786-1-git-send-email-fweisbec@gmail.com> <1437669735-8786-5-git-send-email-fweisbec@gmail.com> <20150803123959.GG19282@twins.programming.kicks-ass.net> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20150803123959.GG19282@twins.programming.kicks-ass.net> User-Agent: Mutt/1.5.23 (2014-03-12) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1613 Lines: 40 On Mon, Aug 03, 2015 at 02:39:59PM +0200, Peter Zijlstra wrote: > On Thu, Jul 23, 2015 at 06:42:09PM +0200, Frederic Weisbecker wrote: > > diff --git a/kernel/sched/core.c b/kernel/sched/core.c > > index 78b4bad10..4d34035 100644 > > --- a/kernel/sched/core.c > > +++ b/kernel/sched/core.c > > @@ -2489,7 +2489,7 @@ static struct rq *finish_task_switch(struct task_struct *prev) > > put_task_struct(prev); > > } > > > > - tick_nohz_task_switch(current); > > + tick_nohz_task_switch(); > > return rq; > > } > > OK, so I just noticed this one. Please explain? WTF does it make sense > to have per task tick state? > > If we have >1 tasks, we need the tick. If we have 1 task, per-task == > per-cpu. > > So what gives? tick_nohz_task_switch() is removed in the end of the patchset. There is no more per task dependency after this specific set. Now we just had a talk with Chris about Posix cpu timers whose tick dependency turned from per-task/per-process to global dependency. When a posix timer is queued somewhere, we keep the tick everywhere (still talking about this patchset, not linus tree). Since some nohz full users may still want to run posix timers on housekeepers, I'll turn it to a per task dependency again. But this context switch call will still be removed and the scheduler tick dependency stays a per-cpu dependency and not a task one. -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/