diff mbox

Enable bit 11 in _PDC to advertise hw coord

Message ID 20090202195717.GA24510@linux-os.sc.intel.com (mailing list archive)
State Accepted
Headers show

Commit Message

venkip Feb. 2, 2009, 7:57 p.m. UTC
Bit 11 in intel PDC definitions is meant for OS capability to handle
hardware coordination of P-states. In Linux we have always supported
hwardware coordination of P-states. Just let the BIOSes know that we
support it, by setting this bit.

Some BIOSes use this bit to choose between hardware or software coordination
and without this change below, BIOSes switch to software coordination, which
is not very optimal in terms of power consumption and extra wakeups from idle.

Signed-off-by: Venkatesh Pallipadi <venkatesh.pallipadi@intel.com>

---
 include/acpi/pdc_intel.h |    2 ++
 1 file changed, 2 insertions(+)

--
To unsubscribe from this list: send the line "unsubscribe linux-acpi" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Comments

Jens Axboe Feb. 4, 2009, 8:57 a.m. UTC | #1
On Mon, Feb 02 2009, Pallipadi, Venkatesh wrote:
> 
> Bit 11 in intel PDC definitions is meant for OS capability to handle
> hardware coordination of P-states. In Linux we have always supported
> hwardware coordination of P-states. Just let the BIOSes know that we
> support it, by setting this bit.
> 
> Some BIOSes use this bit to choose between hardware or software coordination
> and without this change below, BIOSes switch to software coordination, which
> is not very optimal in terms of power consumption and extra wakeups from idle.

I can confirm that this fixes the excessive reschedule ipi count on an
x60 with the ondemand governor. Can we please get this into 2.6.29?

> 
> Signed-off-by: Venkatesh Pallipadi <venkatesh.pallipadi@intel.com>
> 
> ---
>  include/acpi/pdc_intel.h |    2 ++
>  1 file changed, 2 insertions(+)
> 
> Index: linux-2.6/include/acpi/pdc_intel.h
> ===================================================================
> --- linux-2.6.orig/include/acpi/pdc_intel.h	2009-01-20 16:11:20.000000000 -0800
> +++ linux-2.6/include/acpi/pdc_intel.h	2009-02-02 10:32:06.000000000 -0800
> @@ -14,6 +14,7 @@
>  #define ACPI_PDC_SMP_T_SWCOORD		(0x0080)
>  #define ACPI_PDC_C_C1_FFH		(0x0100)
>  #define ACPI_PDC_C_C2C3_FFH		(0x0200)
> +#define ACPI_PDC_SMP_P_HWCOORD		(0x0800)
>  
>  #define ACPI_PDC_EST_CAPABILITY_SMP	(ACPI_PDC_SMP_C1PT | \
>  					 ACPI_PDC_C_C1_HALT | \
> @@ -22,6 +23,7 @@
>  #define ACPI_PDC_EST_CAPABILITY_SWSMP	(ACPI_PDC_SMP_C1PT | \
>  					 ACPI_PDC_C_C1_HALT | \
>  					 ACPI_PDC_SMP_P_SWCOORD | \
> +					 ACPI_PDC_SMP_P_HWCOORD | \
>  					 ACPI_PDC_P_FFH)
>  
>  #define ACPI_PDC_C_CAPABILITY_SMP	(ACPI_PDC_SMP_C2C3  | \
Henrique de Moraes Holschuh Feb. 4, 2009, 7:53 p.m. UTC | #2
On Wed, 04 Feb 2009, Jens Axboe wrote:
> On Mon, Feb 02 2009, Pallipadi, Venkatesh wrote:
> > 
> > Bit 11 in intel PDC definitions is meant for OS capability to handle
> > hardware coordination of P-states. In Linux we have always supported
> > hwardware coordination of P-states. Just let the BIOSes know that we
> > support it, by setting this bit.
> > 
> > Some BIOSes use this bit to choose between hardware or software coordination
> > and without this change below, BIOSes switch to software coordination, which
> > is not very optimal in terms of power consumption and extra wakeups from idle.
> 
> I can confirm that this fixes the excessive reschedule ipi count on an
> x60 with the ondemand governor. Can we please get this into 2.6.29?

And, after that, -stable?
venkip Feb. 4, 2009, 8:06 p.m. UTC | #3
On Wed, 2009-02-04 at 11:53 -0800, Henrique de Moraes Holschuh wrote:
> On Wed, 04 Feb 2009, Jens Axboe wrote:
> > On Mon, Feb 02 2009, Pallipadi, Venkatesh wrote:
> > > 
> > > Bit 11 in intel PDC definitions is meant for OS capability to handle
> > > hardware coordination of P-states. In Linux we have always supported
> > > hwardware coordination of P-states. Just let the BIOSes know that we
> > > support it, by setting this bit.
> > > 
> > > Some BIOSes use this bit to choose between hardware or software coordination
> > > and without this change below, BIOSes switch to software coordination, which
> > > is not very optimal in terms of power consumption and extra wakeups from idle.
> > 
> > I can confirm that this fixes the excessive reschedule ipi count on an
> > x60 with the ondemand governor. Can we please get this into 2.6.29?
> 
> And, after that, -stable?
> 

Agreed. This should also go to -stable once it gets into mainline.

Thanks,
Venki

--
To unsubscribe from this list: send the line "unsubscribe linux-acpi" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Greg Kroah-Hartman Feb. 4, 2009, 8:40 p.m. UTC | #4
On Wed, Feb 04, 2009 at 12:06:42PM -0800, Pallipadi, Venkatesh wrote:
> On Wed, 2009-02-04 at 11:53 -0800, Henrique de Moraes Holschuh wrote:
> > On Wed, 04 Feb 2009, Jens Axboe wrote:
> > > On Mon, Feb 02 2009, Pallipadi, Venkatesh wrote:
> > > > 
> > > > Bit 11 in intel PDC definitions is meant for OS capability to handle
> > > > hardware coordination of P-states. In Linux we have always supported
> > > > hwardware coordination of P-states. Just let the BIOSes know that we
> > > > support it, by setting this bit.
> > > > 
> > > > Some BIOSes use this bit to choose between hardware or software coordination
> > > > and without this change below, BIOSes switch to software coordination, which
> > > > is not very optimal in terms of power consumption and extra wakeups from idle.
> > > 
> > > I can confirm that this fixes the excessive reschedule ipi count on an
> > > x60 with the ondemand governor. Can we please get this into 2.6.29?
> > 
> > And, after that, -stable?
> > 
> 
> Agreed. This should also go to -stable once it gets into mainline.

Can someone send stable@kernel.org the git commit id when it goes into
Linus's tree?

thanks,

greg k-h
--
To unsubscribe from this list: send the line "unsubscribe linux-acpi" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Len Brown Feb. 7, 2009, 4:10 a.m. UTC | #5
applied
thanks,
--
Len Brown, Intel Open Source Technology Center

On Mon, 2 Feb 2009, Pallipadi, Venkatesh wrote:

> 
> Bit 11 in intel PDC definitions is meant for OS capability to handle
> hardware coordination of P-states. In Linux we have always supported
> hwardware coordination of P-states. Just let the BIOSes know that we
> support it, by setting this bit.
> 
> Some BIOSes use this bit to choose between hardware or software coordination
> and without this change below, BIOSes switch to software coordination, which
> is not very optimal in terms of power consumption and extra wakeups from idle.
> 
> Signed-off-by: Venkatesh Pallipadi <venkatesh.pallipadi@intel.com>
> 
> ---
>  include/acpi/pdc_intel.h |    2 ++
>  1 file changed, 2 insertions(+)
> 
> Index: linux-2.6/include/acpi/pdc_intel.h
> ===================================================================
> --- linux-2.6.orig/include/acpi/pdc_intel.h	2009-01-20 16:11:20.000000000 -0800
> +++ linux-2.6/include/acpi/pdc_intel.h	2009-02-02 10:32:06.000000000 -0800
> @@ -14,6 +14,7 @@
>  #define ACPI_PDC_SMP_T_SWCOORD		(0x0080)
>  #define ACPI_PDC_C_C1_FFH		(0x0100)
>  #define ACPI_PDC_C_C2C3_FFH		(0x0200)
> +#define ACPI_PDC_SMP_P_HWCOORD		(0x0800)
>  
>  #define ACPI_PDC_EST_CAPABILITY_SMP	(ACPI_PDC_SMP_C1PT | \
>  					 ACPI_PDC_C_C1_HALT | \
> @@ -22,6 +23,7 @@
>  #define ACPI_PDC_EST_CAPABILITY_SWSMP	(ACPI_PDC_SMP_C1PT | \
>  					 ACPI_PDC_C_C1_HALT | \
>  					 ACPI_PDC_SMP_P_SWCOORD | \
> +					 ACPI_PDC_SMP_P_HWCOORD | \
>  					 ACPI_PDC_P_FFH)
>  
>  #define ACPI_PDC_C_CAPABILITY_SMP	(ACPI_PDC_SMP_C2C3  | \
> --
> To unsubscribe from this list: send the line "unsubscribe linux-acpi" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> 
--
To unsubscribe from this list: send the line "unsubscribe linux-acpi" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Greg KH Feb. 8, 2009, 7:51 p.m. UTC | #6
On Wed, Feb 04, 2009 at 12:40:36PM -0800, Greg KH wrote:
> On Wed, Feb 04, 2009 at 12:06:42PM -0800, Pallipadi, Venkatesh wrote:
> > On Wed, 2009-02-04 at 11:53 -0800, Henrique de Moraes Holschuh wrote:
> > > On Wed, 04 Feb 2009, Jens Axboe wrote:
> > > > On Mon, Feb 02 2009, Pallipadi, Venkatesh wrote:
> > > > > 
> > > > > Bit 11 in intel PDC definitions is meant for OS capability to handle
> > > > > hardware coordination of P-states. In Linux we have always supported
> > > > > hwardware coordination of P-states. Just let the BIOSes know that we
> > > > > support it, by setting this bit.
> > > > > 
> > > > > Some BIOSes use this bit to choose between hardware or software coordination
> > > > > and without this change below, BIOSes switch to software coordination, which
> > > > > is not very optimal in terms of power consumption and extra wakeups from idle.
> > > > 
> > > > I can confirm that this fixes the excessive reschedule ipi count on an
> > > > x60 with the ondemand governor. Can we please get this into 2.6.29?
> > > 
> > > And, after that, -stable?
> > > 
> > 
> > Agreed. This should also go to -stable once it gets into mainline.
> 
> Can someone send stable@kernel.org the git commit id when it goes into
> Linus's tree?

It's d96f94c604453f87fe24154b87e1e9a3a72511f8, I got it now.

thanks,

greg k-h
--
To unsubscribe from this list: send the line "unsubscribe linux-acpi" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

Index: linux-2.6/include/acpi/pdc_intel.h
===================================================================
--- linux-2.6.orig/include/acpi/pdc_intel.h	2009-01-20 16:11:20.000000000 -0800
+++ linux-2.6/include/acpi/pdc_intel.h	2009-02-02 10:32:06.000000000 -0800
@@ -14,6 +14,7 @@ 
 #define ACPI_PDC_SMP_T_SWCOORD		(0x0080)
 #define ACPI_PDC_C_C1_FFH		(0x0100)
 #define ACPI_PDC_C_C2C3_FFH		(0x0200)
+#define ACPI_PDC_SMP_P_HWCOORD		(0x0800)
 
 #define ACPI_PDC_EST_CAPABILITY_SMP	(ACPI_PDC_SMP_C1PT | \
 					 ACPI_PDC_C_C1_HALT | \
@@ -22,6 +23,7 @@ 
 #define ACPI_PDC_EST_CAPABILITY_SWSMP	(ACPI_PDC_SMP_C1PT | \
 					 ACPI_PDC_C_C1_HALT | \
 					 ACPI_PDC_SMP_P_SWCOORD | \
+					 ACPI_PDC_SMP_P_HWCOORD | \
 					 ACPI_PDC_P_FFH)
 
 #define ACPI_PDC_C_CAPABILITY_SMP	(ACPI_PDC_SMP_C2C3  | \