https://bugzilla.kernel.org/show_bug.cgi?id=52381
Summary: [Regression][Bisected]Updating from kernel 3.5 to 3.6 doubles idle power consumption Product: ACPI Version: 2.5 Kernel Version: 3.6 Platform: All OS/Version: Linux Tree: Mainline Status: NEW Severity: normal Priority: P1 Component: ACPICA-Core AssignedTo: acpi_acpica-c...@kernel-bugs.osdl.org ReportedBy: da_...@mad.scientist.com Regression: Yes Some time ago I noticed that my laptop's battery life had significantly decreased. Some investigation revealed that the idle power consumption had doubled, because the built-in nvidia graphics card would not turn off any more (I have an optimus-enabled laptop, which has both an intel and an nvidia graphics card). I do not use the nvidia card at all (I don't even have any drivers for it installed). I rely on the acpi_call module to make an acpi call to disable the nvidia card at boot. I.e. something like the following snippet from my on/off script, which is based on a script from the bumblebee project: ---8<--------- try_call "\_SB.PCI0.PEG0.PEGP._DSM" "{0xF8,0xD8,0x86,0xA4,0xDA,0x0B,0x1B,0x47,0xA7,0x2B,0x60,0x42,0xA6,0xB5,0xBE,0xE0}" "0x100 0x1A {0x1,0x0,0x0,0x3}" # ok to turn off: Buffer {0x59 0x0 0x0 0x11} # is already off: Buffer {0x41 0x0 0x0 0x11} try_call "\_SB.PCI0.PEG0.PEGP._PS3" --->8--------- --- Steps to reproduce--- 1) Fully charge laptop, then disconnect from charger (so that you are running on battery power). 2) Boot into kernel 3.5 3) Make sure system is idle 4) cat /sys/class/power_supply/BAT0/current_now # outputs a value around 10000 (10mW) 5) (Re)boot into kernel 3.6 (or later) 6) Make sure system is idle 7) cat /sys/class/power_supply/BAT0/current_now # outputs a value around 20000 (20mW) --- Expected result --- The reported values for 'current_now' should be the same for kernel 3.5 and 3.6 --- Actual result --- 'current_now' is doubled for kernel 3.6, compared to kernel 3.5. --- Hardware --- I have a 'Dell XPS 15 (L502x)' laptop. lspci reports the following for the nvidia card: lspci -v -s 01:00.0 01:00.0 VGA compatible controller: NVIDIA Corporation GF108 [GeForce GT 540M] (rev ff) (prog-if ff) !!! Unknown header type 7f --- Bisection results --- The following commit was identified as the first bad commit: ---8<--------- commit 71a83bd727cc31c5fe960c3758cb396267ff710e Author: Zheng Yan <zheng.z....@intel.com> Date: Sat Jun 23 10:23:49 2012 +0800 PCI/PM: add runtime PM support to PCIe port This patch adds runtime PM support to PCIe port. This is needed by PCIe D3cold support, where PCIe device without ACPI node may be powered on/off by PCIe port. Because runtime suspend is broken for some chipsets, a black list is used to disable runtime PM support for these chipsets. Reviewed-by: Rafael J. Wysocki <r...@sisk.pl> Signed-off-by: Zheng Yan <zheng.z....@intel.com> Signed-off-by: Huang Ying <ying.hu...@intel.com> Signed-off-by: Bjorn Helgaas <bhelg...@google.com> --->8--------- I have verified that the following patch fixes the issue for me on kernel 3.7: --->8--------- diff --git a/drivers/pci/pcie/portdrv_pci.c b/drivers/pci/pcie/portdrv_pci.c index 0761d90..0a11bc5 100644 --- a/drivers/pci/pcie/portdrv_pci.c +++ b/drivers/pci/pcie/portdrv_pci.c @@ -207,8 +207,8 @@ static int __devinit pcie_portdrv_probe(struct pci_dev *dev, * it by default. */ dev->d3cold_allowed = false; - if (!pci_match_id(port_runtime_pm_black_list, dev)) - pm_runtime_put_noidle(&dev->dev); + //if (!pci_match_id(port_runtime_pm_black_list, dev)) + //pm_runtime_put_noidle(&dev->dev); return 0; } --->8--------- I think the problem is that the return value from pci_match_id() is not being interpreted correctly: the exclamation mark should not be present. At present the blacklist is empty, and hence, presumably, pm_runtime_put_noidle() should not get called at all. However right now pm_runtime_put_noidle() is always called. I will attach dmesgs shortly. Please let me know if any additional information is required. -- Configure bugmail: https://bugzilla.kernel.org/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are watching the assignee of the bug. ------------------------------------------------------------------------------ Master Visual Studio, SharePoint, SQL, ASP.NET, C# 2012, HTML5, CSS, MVC, Windows 8 Apps, JavaScript and much more. Keep your skills current with LearnDevNow - 3,200 step-by-step video tutorials by Microsoft MVPs and experts. ON SALE this month only -- learn more at: http://p.sf.net/sfu/learnmore_123012 _______________________________________________ acpi-bugzilla mailing list acpi-bugzilla@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/acpi-bugzilla