public inbox for linux-acpi@vger.kernel.org
 help / color / mirror / Atom feed
From: Len Brown <lenb@kernel.org>
To: "Pallipadi, Venkatesh" <venkatesh.pallipadi@intel.com>
Cc: "Zhao, Yakui" <yakui.zhao@intel.com>,
	"linux-acpi@vger.kernel.org" <linux-acpi@vger.kernel.org>
Subject: RE: [PATCH] Add decaying history logic to cpuidle menu idle predictor
Date: Wed, 31 Dec 2008 14:58:09 -0500 (EST)	[thread overview]
Message-ID: <alpine.LFD.2.00.0812311454490.3854@localhost.localdomain> (raw)
In-Reply-To: <7E82351C108FA840AB1866AC776AEC464383824C@orsmsx505.amr.corp.intel.com>





On Wed, 31 Dec 2008, Pallipadi, Venkatesh wrote:

> 
> >-----Original Message-----
> >From: Zhao, Yakui 
> >Sent: Tuesday, December 30, 2008 5:28 PM
> >To: Pallipadi, Venkatesh
> >Cc: Len Brown; linux-acpi@vger.kernel.org
> >Subject: Re: [PATCH] Add decaying history logic to cpuidle 
> >menu idle predictor
> >
> >On Wed, 2008-12-31 at 06:46 +0800, Pallipadi, Venkatesh wrote:
> >> Add decaying history of predicted idle time, instead of 
> >using the last early
> >> wakeup. This logic helps menu governor do better job of 
> >predicting idle time.
> >> 
> >> With this change, we also measured noticable (~8%) power savings on
> >> a DP server system with CPUs supporting deep C states, when system
> >> was lightly loaded. There was no change to power or perf on 
> >other load
> >> conditions.
> >> 
> >> Signed-off-by: Venkatesh Pallipadi <venkatesh.pallipadi@intel.com>
> >> 
> >> ---
> >>  drivers/cpuidle/governors/menu.c |   10 +++++++++-
> >>  1 file changed, 9 insertions(+), 1 deletion(-)
> >> 
> >> Index: linux-2.6/drivers/cpuidle/governors/menu.c
> >> ===================================================================
> >> --- linux-2.6.orig/drivers/cpuidle/governors/menu.c	
> >2008-11-10 15:27:13.000000000 -0800
> >> +++ linux-2.6/drivers/cpuidle/governors/menu.c	
> >2008-12-30 14:39:15.000000000 -0800
> >> @@ -15,12 +15,14 @@
> >>  #include <linux/tick.h>
> >>  
> >>  #define BREAK_FUZZ	4	/* 4 us */
> >> +#define PRED_HISTORY_PCT	50
> >Hi, Venki
> >   It seems that the history factor is fixed to 50%. 
> >   How about adding an interface to change the history factor?
> >
> 
> Yakui,
> 
> 50% seems to be reasonable default across all platforms we have checked. We still
> have to get some more data to see 25% works better on all platforms.
> 
> I considered adding a boot parameter or /sysfs tunable for this. Even though
> such options are good for developers, most of the time, any option like that
> will get misused at the end user/distro level.
> 
> So, this is the simple patch that helps in most cases. Going forward, we have
> options like
> 1 One single constant factor for all platforms
> 2 Different factor for different platforms, based on CPU type (HT, multi-core, etc)
> 3 History factor that varies over time, based on right or wrong predictions
> 
> My gut feeling is that we may end up with 3 in future. But, I wanted to get the
> basic code in now with options to optimize in future.

Agreed.
While I can see it would be possible for this to be platform dependent,
I would think that the difference between workloads would be
an even larger factor.

So far, the code reflects all of the measurements we've done,
so that is the best we can do at this point.

-- Len Brown, Intel Open Source Technology Center


      reply	other threads:[~2008-12-31 19:58 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-12-30 22:46 [PATCH] Add decaying history logic to cpuidle menu idle predictor Pallipadi, Venkatesh
2008-12-30 23:48 ` Len Brown
2008-12-31  1:27 ` Zhao Yakui
2008-12-31 19:46   ` Pallipadi, Venkatesh
2008-12-31 19:58     ` Len Brown [this message]

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=alpine.LFD.2.00.0812311454490.3854@localhost.localdomain \
    --to=lenb@kernel.org \
    --cc=linux-acpi@vger.kernel.org \
    --cc=venkatesh.pallipadi@intel.com \
    --cc=yakui.zhao@intel.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