From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S934385AbcATPMV (ORCPT ); Wed, 20 Jan 2016 10:12:21 -0500 Received: from www.linutronix.de ([62.245.132.108]:60021 "EHLO Galois.linutronix.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S934215AbcATPMQ (ORCPT ); Wed, 20 Jan 2016 10:12:16 -0500 Date: Wed, 20 Jan 2016 16:11:14 +0100 (CET) From: Thomas Gleixner To: Frederic Weisbecker cc: Peter Zijlstra , LKML , Byungchul Park , Chris Metcalf , 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 In-Reply-To: <20160120145416.GB22723@lerouge> Message-ID: 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> User-Agent: Alpine 2.11 (DEB 23 2013-08-11) MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII X-Linutronix-Spam-Score: -1.0 X-Linutronix-Spam-Level: - X-Linutronix-Spam-Status: No , -1.0 points, 5.0 required, ALL_TRUSTED=-1,SHORTCIRCUIT=-0.0001 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Wed, 20 Jan 2016, Frederic Weisbecker wrote: > On Wed, Jan 20, 2016 at 10:09:06AM +0100, Peter Zijlstra wrote: > > Also, since when can we have enqueues/dequeues while NOHZ_FULL ? I > > thought that was the 1 task 100% cpu case, there are no > > enqueues/dequeues there. > > That's the most optimized case but we can definetly have small moments with > more than one task running. For example if we have a workqueue, or such > short and quick tasks. > > If the user makes use of full dynticks for soft isolation (for performance, > can live with a few interrupts...), there can be short moments of > multitasking. Again, you are trying to make the second step after the first one is completed. We do not even have proper accounting when we have the ONE task 100% case and still you try to solve problems beyond that. If that ONE task gets interrupted, then accounting should take place. When there is another runnable task then that nohz state needs to be left. You can go back to it once the task is alone again. You are trying to make the complete accounting 'almost' tick independent, but approaching that from the tick nohz angle is wrong. When you really want to go there, and I can see why you want that, then you need to solve this from ground up and such a solution has nothing to do with any flavour of NOHZ. That simply needs to rework the whole accounting machinery and rip out the complete tick dependency. Once you have that your NOHZ business falls into place. Any other approach is just duct tape engineering. Thanks, tglx