From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1757270Ab2HPN7d (ORCPT ); Thu, 16 Aug 2012 09:59:33 -0400 Received: from e06smtp12.uk.ibm.com ([195.75.94.108]:57774 "EHLO e06smtp12.uk.ibm.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1756595Ab2HPN7b (ORCPT ); Thu, 16 Aug 2012 09:59:31 -0400 Date: Thu, 16 Aug 2012 15:59:22 +0200 From: Martin Schwidefsky To: Frederic Weisbecker Cc: Ingo Molnar , Thomas Gleixner , LKML , Tony Luck , Fenghua Yu , Benjamin Herrenschmidt , Paul Mackerras , Heiko Carstens , Peter Zijlstra Subject: Re: [PATCH 3/4] cputime: Consolidate vtime handling on context switch Message-ID: <20120816155922.5de4f1e3@de.ibm.com> In-Reply-To: <20120816125030.GF19716@somewhere> References: <1344953810-20564-1-git-send-email-fweisbec@gmail.com> <1344953810-20564-4-git-send-email-fweisbec@gmail.com> <20120815172219.4e4d5ef5@de.ibm.com> <20120815192813.GE19716@somewhere> <20120816095032.16611651@de.ibm.com> <20120816125030.GF19716@somewhere> Organization: IBM Corporation X-Mailer: Claws Mail 3.8.1 (GTK+ 2.24.10; i486-pc-linux-gnu) Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit x-cbid: 12081613-8372-0000-0000-0000037B839F Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Thu, 16 Aug 2012 14:50:33 +0200 Frederic Weisbecker wrote: > On Thu, Aug 16, 2012 at 09:50:32AM +0200, Martin Schwidefsky wrote: > > On Wed, 15 Aug 2012 21:28:17 +0200 > > Frederic Weisbecker wrote: > > > > > On Wed, Aug 15, 2012 at 05:22:19PM +0200, Martin Schwidefsky wrote: > > > > On Tue, 14 Aug 2012 16:16:49 +0200 > > > > Frederic Weisbecker wrote: > > > > > > > > > The archs that implement virtual cputime accounting all > > > > > flush the cputime of a task when it gets descheduled > > > > > and sometimes set up some ground initialization for the > > > > > next task to account its cputime. > > > > > > > > > > These archs all put their own hooks in their context > > > > > switch callbacks and handle the off-case themselves. > > > > > > > > > > Consolidate this by creating a new account_switch_vtime() > > > > > callback called in generic code right after a context switch > > > > > and that these archs must implement to flush the prev task > > > > > cputime and initialize the next task cputime related state. > > > > > > > > That change requires that the accounting for the previous process > > > > can be done before finish_arch_switch() completed. With the old > > > > code the architecture could to the accounting call in the middle > > > > of finish_arch_switch, that is not possible anymore. Dunno if this > > > > is relevant or not. For s390 the new code should work fine. > > > > > > I'm not sure how this could potentially cause a problem. Interrupts are disabled > > > between while we switch_to() until finish_lock_switch(). So nothing > > > should be able to mess up with the accounting of the prev task. > > > > > > I don't really understand what you mean actually. > > > > It is more a theoretical consideration. If the finish_arch_switch code > > updates fields that are required to do the cputime accounting then the > > order could be important. But then you could move that necessary code > > from finish_arch_switch to account_switch_vtime. > > As said that change is fine for s390, so I'm good with it. > > Ah ok. Well like you said this is fine for s390. And it looks also fine > to me on ia64 and powerpc as it doesn't look like we depend on something > done in finish_arch_switch() there. They were flush the previous task > cputime from switch_to() anyway. > > Thanks. > > PS: can I add your ack? Sure, feel free to add my Acked-by. -- blue skies, Martin. "Reality continues to ruin my life." - Calvin.