Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752457AbZJWQHO (ORCPT ); Fri, 23 Oct 2009 12:07:14 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1752348AbZJWQHM (ORCPT ); Fri, 23 Oct 2009 12:07:12 -0400 Received: from atrey.karlin.mff.cuni.cz ([195.113.26.193]:50663 "EHLO atrey.karlin.mff.cuni.cz" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752210AbZJWQHL (ORCPT ); Fri, 23 Oct 2009 12:07:11 -0400 Date: Fri, 23 Oct 2009 18:07:11 +0200 From: Pavel Machek To: Arun R Bharadwaj Cc: Peter Zijlstra , Benjamin Herrenschmidt , Ingo Molnar , Vaidyanathan Srinivasan , Dipankar Sarma , Balbir Singh , Andi Kleen , linux-kernel@vger.kernel.org, linuxppc-dev@lists.ozlabs.org, linux-arch@vger.kernel.org, linux-acpi@vger.kernel.org Subject: Re: [v9 PATCH 4/9]: x86: refactor x86 idle power management code and remove all instances of pm_idle. Message-ID: <20091023160711.GB1431@ucw.cz> References: <20091016093850.GB27350@linux.vnet.ibm.com> <20091016094308.GF27350@linux.vnet.ibm.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20091016094308.GF27350@linux.vnet.ibm.com> User-Agent: Mutt/1.5.18 (2008-05-17) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1811 Lines: 54 On Fri 2009-10-16 15:13:08, Arun R Bharadwaj wrote: > * Arun R Bharadwaj [2009-10-16 15:08:50]: > > This patch cleans up x86 of all instances of pm_idle. > > pm_idle which was earlier called from cpu_idle() idle loop > is replaced by cpuidle_idle_call. > > x86 also registers to cpuidle when the idle routine is selected, > by populating the cpuidle_device data structure for each cpu. > > This is replicated for apm module and for xen, which also used pm_idle. > > > Signed-off-by: Arun R Bharadwaj > --- > arch/x86/kernel/apm_32.c | 55 ++++++++++++++++++++++++- > arch/x86/kernel/process.c | 90 ++++++++++++++++++++++++++++++++---------- > arch/x86/kernel/process_32.c | 3 - > arch/x86/kernel/process_64.c | 3 - > arch/x86/xen/setup.c | 40 ++++++++++++++++++ > drivers/acpi/processor_core.c | 9 ++-- > drivers/cpuidle/cpuidle.c | 16 +++++-- > 7 files changed, 182 insertions(+), 34 deletions(-) ... > +static int local_idle_loop(struct cpuidle_device *dev, struct cpuidle_state *st) > +{ > + ktime_t t1, t2; > + s64 diff; > + int ret; > + > + t1 = ktime_get(); > + local_idle(); > + t2 = ktime_get(); > + > + diff = ktime_to_us(ktime_sub(t2, t1)); > + if (diff > INT_MAX) > + diff = INT_MAX; > + ret = (int) diff; > + > + return ret; > +} So we get this routine essentially 3 times. Is there no way to share the code? -- (english) http://www.livejournal.com/~pavelmachek (cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html -- 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/