Re: [PATCH] cpuidle: fix new C-states not functional after AC disconnect

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Dear Rafael,

thank you for applying Daniel's patch. I tested 3.8-rc4 and found that one 
patch ist still missing to fix the problem of not usable C-state after 
disconnect. I had it attached with my last e-mail as patch 1. For your 
conveniency, I have attached it here again.

With that patch the problem is fixed for me. So please consider applying this, 
too.

Kind regards,
  Thomas

Am Sonntag, 13. Januar 2013, 21:04:45 schrieb Rafael J. Wysocki:
> On Sunday, January 13, 2013 03:41:34 PM Daniel Lezcano wrote:
> > On 01/13/2013 01:34 PM, Thomas Schlichter wrote:
> > > Hi,
> > > 
> > > there is a long-standing regression about new C-states not working after
> > > disconnecting AC power from a laptop if the cpuidle driver "acpi-idle"
> > > is
> > > used. It was reported here:
> > > 
> > > [1] https://bugzilla.kernel.org/show_bug.cgi?id=42870  (March 5th 2012)
> > > [2] https://bugzilla.kernel.org/show_bug.cgi?id=43349  (June 7th 2012)
> > > [3] https://lkml.org/lkml/2012/10/16/518   (October 19th 2012)
> > > 
> > > In [1] Andreas proposed a patch that initialized the missing power_usage
> > > values from within acpi_idle in the same way as cpuidle does.
> > > In [2] I proposed a patch to use the power values provided by ACPI to
> > > initialize the power_usage variables.
> > > In [3] Julius proposed a patch to call the initialization function
> > > set_power_states()  not only once, but always when the C-states change.
> > > 
> > > Currently, Daniel Lezcano seems to be working on an intrusive change of
> > > not
> > > using the power_usage value at all for choosing a C-state:
> > > 
> > > [4] https://lkml.org/lkml/2012/12/14/155
> > > 
> > > As I could not find any of these patches in any git trees to be merged
> > > for
> > > 3.8, I propose an other, least intrusive patch for the time being. It is
> > > attached an initializes _all_ power_usage values in the first place.
> > > 
> > > As this is a real power consumption regression since 3.2, I really ask
> > > you to apply anything and push it to stable, too!
> > 
> > Rafael, is possible to apply the patch [1/2] I previously sent ?
> > 
> > https://patchwork.kernel.org/patch/1878691/
> 
> I need to talk about this with Len.  That should happen tomorrow if
> everything goes well.
> 
> > So we get this bug fixed.
> > 
> > I will resend the patch [2/2] as soon as possible.
> 
> OK
> 
> Thanks,
> Rafael
>From fc300f4fefff59fe1029bf7852ea32d957145821 Mon Sep 17 00:00:00 2001
From: Thomas Schlichter <thomas.schlichter@xxxxxx>
Date: Sun, 2 Sep 2012 14:35:34 +0200
Subject: [PATCH] Get power info before updating the C-states

acpi_processor_get_power_info() has to be called before
acpi_processor_setup_cpuidle_states() to have the latest
information available. This fixes the missing C-state information
after AC-->DC transition.

Signed-off-by: Thomas Schlichter <thomas.schlichter@xxxxxx>
---
 drivers/acpi/processor_idle.c |    1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/acpi/processor_idle.c b/drivers/acpi/processor_idle.c
index f1a5da4..17ed60b 100644
--- a/drivers/acpi/processor_idle.c
+++ b/drivers/acpi/processor_idle.c
@@ -1149,6 +1149,7 @@ int acpi_processor_cst_has_changed(struct acpi_processor *pr)
 		}
 
 		/* Populate Updated C-state information */
+		acpi_processor_get_power_info(pr);
 		acpi_processor_setup_cpuidle_states(pr);
 
 		/* Enable all cpuidle devices */
-- 
1.7.10.4


[Index of Archives]     [Linux IBM ACPI]     [Linux Power Management]     [Linux Kernel]     [Linux Laptop]     [Kernel Newbies]     [Share Photos]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Video 4 Linux]     [Device Mapper]     [Linux Resources]

  Powered by Linux