public inbox for linux-arch@vger.kernel.org
 help / color / mirror / Atom feed
From: Arun R Bharadwaj <arun@linux.vnet.ibm.com>
To: Pavel Machek <pavel@ucw.cz>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>,
	Benjamin Herrenschmidt <benh@kernel.crashing.org>,
	Ingo Molnar <mingo@elte.hu>,
	Vaidyanathan Srinivasan <svaidy@linux.vnet.ibm.com>,
	Dipankar Sarma <dipankar@in.ibm.com>,
	Balbir Singh <balbir@in.ibm.com>,
	Andi Kleen <andi@firstfloor.org>,
	linux-kernel@vger.kernel.org, linuxppc-dev@lists.ozlabs.org,
	linux-arch@vger.kernel.org, linux-acpi@vger.kernel.org,
	Arun Bharadwaj <arun@linux.vnet.ibm.com>
Subject: Re: [v9 PATCH 4/9]: x86: refactor x86 idle power management code and remove all instances of pm_idle.
Date: Mon, 26 Oct 2009 13:55:25 +0530	[thread overview]
Message-ID: <20091026082524.GC17689@linux.vnet.ibm.com> (raw)
In-Reply-To: <20091026075831.GB22625@elf.ucw.cz>

* Pavel Machek <pavel@ucw.cz> [2009-10-26 08:58:31]:

> 
> > > > +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?
> > > 
> > 
> > We can move this code to a common place, but that would mean exporting
> > the idle function pointer to be called from within this routine, which
> > is exactly what we wanted to avoid.
> > 
> > Any suggestions are welcome.
> 
> You can just pass idle routine as a parameter...?
> 
> int common_idle_loop(struct cpuidle_device *dev, struct cpuidle_state
> *st, void *idle(void))
> 
> ...?
> 									Pavel

Yes, this should be fine. I was trying to avoid passing the void
function pointer around but i guess this reduces considerable code
size.

thanks!
arun
> -- 
> (english) http://www.livejournal.com/~pavelmachek
> (cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html

  reply	other threads:[~2009-10-26  8:25 UTC|newest]

Thread overview: 28+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-10-16  9:38 [v9 PATCH 0/9]: cpuidle: Cleanup cpuidle/ Introduce cpuidle to POWER Arun R Bharadwaj
2009-10-16  9:38 ` Arun R Bharadwaj
2009-10-16  9:40 ` [v9 PATCH 1/9]: cpuidle: Design documentation patch Arun R Bharadwaj
2009-10-16  9:40   ` Arun R Bharadwaj
2009-10-16  9:41 ` [v9 PATCH 2/9]: cpuidle: cleanup drivers/cpuidle/cpuidle.c Arun R Bharadwaj
2009-10-16  9:41   ` Arun R Bharadwaj
2009-10-16  9:42 ` [v9 PATCH 3/9]: cpuidle: implement a list based approach to register a set of idle routines Arun R Bharadwaj
2009-10-16  9:42   ` Arun R Bharadwaj
2009-10-16  9:43 ` [v9 PATCH 4/9]: x86: refactor x86 idle power management code and remove all instances of pm_idle Arun R Bharadwaj
2009-10-16  9:43   ` Arun R Bharadwaj
2009-10-23 16:07   ` Pavel Machek
2009-10-26  7:55     ` Arun R Bharadwaj
2009-10-26  7:55       ` Arun R Bharadwaj
2009-10-26  7:58       ` Pavel Machek
2009-10-26  8:25         ` Arun R Bharadwaj [this message]
2009-10-26  8:25           ` Arun R Bharadwaj
2009-10-16  9:44 ` [v9 PATCH 5/9]: POWER: enable cpuidle for POWER Arun R Bharadwaj
2009-10-16  9:44   ` Arun R Bharadwaj
2009-10-16  9:45 ` [v9 PATCH 6/9]: pSeries/cpuidle: refactor pseries idle loops Arun R Bharadwaj
2009-10-16  9:45   ` Arun R Bharadwaj
2009-10-16  9:46 ` [v9 PATCH 7/9]: POWER: add a default_idle idle loop for POWER Arun R Bharadwaj
2009-10-16  9:46   ` Arun R Bharadwaj
2009-10-16  9:47 ` [v9 PATCH 8/9]: pSeries: implement pSeries processor idle module Arun R Bharadwaj
2009-10-16  9:47   ` Arun R Bharadwaj
2009-10-16  9:48 ` [v9 PATCH 9/9]: POWER: Enable default_idle when power_save=off Arun R Bharadwaj
2009-10-16  9:48   ` Arun R Bharadwaj
2009-11-16 10:36 ` [v9 PATCH 0/9]: cpuidle: Cleanup cpuidle/ Introduce cpuidle to POWER Arun R Bharadwaj
2009-11-16 10:36   ` Arun R Bharadwaj

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20091026082524.GC17689@linux.vnet.ibm.com \
    --to=arun@linux.vnet.ibm.com \
    --cc=a.p.zijlstra@chello.nl \
    --cc=andi@firstfloor.org \
    --cc=balbir@in.ibm.com \
    --cc=benh@kernel.crashing.org \
    --cc=dipankar@in.ibm.com \
    --cc=linux-acpi@vger.kernel.org \
    --cc=linux-arch@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linuxppc-dev@lists.ozlabs.org \
    --cc=mingo@elte.hu \
    --cc=pavel@ucw.cz \
    --cc=svaidy@linux.vnet.ibm.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox