Received: by 10.192.165.148 with SMTP id m20csp2167242imm; Thu, 3 May 2018 11:29:48 -0700 (PDT) X-Google-Smtp-Source: AB8JxZocfPcq/XmFlxchFLyU9IPyxcaJvEM/l89pqUA/cVgGYOraKLjPBnZMpYmnfwOdcW+Xitnw X-Received: by 10.98.32.199 with SMTP id m68mr2531064pfj.110.1525372188260; Thu, 03 May 2018 11:29:48 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1525372188; cv=none; d=google.com; s=arc-20160816; b=RVjF02gwpYy47GyI72Ln5074MW0NmWnCtrtJtKqGnunrUeZlWxolH1pb/Pfegsd2OS cb98XG2PHKIG4B68AS4y5PDbt9iftr/w0HEClc4TgcXCEPdlPq4WEFFil0i9Bh33HeVF oFoQjHsbbRW5p2fnpTERXxYNZAyDdu/uzyPn5vNQbM17y7U+WGYashfYYfHpDbSv2i6X 1qQrI9qgnvheQzwSEcQX+I0mzrV9Uwr/twCVG+Kwhf2TbVtb4wHs1XTb3f5vZWkgmbs2 +t5pLFbER86dp1GkHd7waFs5Gb/r+l3DkAICmgpxq9hmnIDbKbhfkAnEV2HhPlHX0i+E 4/pw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-language :content-transfer-encoding:in-reply-to:mime-version:user-agent:date :message-id:autocrypt:openpgp:from:references:cc:to:subject :arc-authentication-results; bh=rXWo2PThhEbDluEsUcezkcYFFBJ9MoJk3E2GiK6+da0=; b=sRZOtwulpCRjmcWGooIIOsPx6DcNCsXvt1jRQpLwso0aLX8W/NWLjUTp04aiu/g/HR 0zxyx+5sNqxPcbpkXQYz+VbRyHadPvdSl3HK3Wc/ohl7Zc5HhPtaJ25Sia8ZpmrzbYeH p2EH/LEmdwtjCAxMvyddbMabwo2XsmjRqBb6Fo2Y+zfz1A46P4nvOmzTLgjSY4gNfxLI 0NYJqq8GZm1YTTjqGhyG1KacuBXNsUG1+yMTlBEWjZl/ZrF7NRdKDjOi2mhs9t0SSj0s iQyXJNgQ7/9/DKqv33J9IPihLeleUP/5Ct4OBvorfj81bjLe5/vntjPjrF3MYA9nXrcG /IFg== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=canonical.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id z3si14959891pfm.151.2018.05.03.11.29.34; Thu, 03 May 2018 11:29:48 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=canonical.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751425AbeECS3O (ORCPT + 99 others); Thu, 3 May 2018 14:29:14 -0400 Received: from youngberry.canonical.com ([91.189.89.112]:47934 "EHLO youngberry.canonical.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751342AbeECS3G (ORCPT ); Thu, 3 May 2018 14:29:06 -0400 Received: from 1.general.jsalisbury.us.vpn ([10.172.67.212]) by youngberry.canonical.com with esmtpsa (TLS1.0:DHE_RSA_AES_128_CBC_SHA1:16) (Exim 4.76) (envelope-from ) id 1fEIyW-0002O2-Ro; Thu, 03 May 2018 18:29:04 +0000 Subject: Re: [Regression] PCI / PM: Simplify device wakeup settings code To: "Rafael J. Wysocki" , Bjorn Helgaas Cc: "Rafael J. Wysocki" , Len Brown , Bjorn Helgaas , ACPI Devel Maling List , Linux PCI , "linux-kernel@vger.kernel.org" , 1745646@bugs.launchpad.net, Mika Westerberg References: <56a8953c-d833-837c-57d5-fe758d4db02a@canonical.com> <1f67f00a-8141-f9af-2120-c78f7cfecb1d@canonical.com> <20180501195501.GB11698@bhelgaas-glaptop.roam.corp.google.com> From: Joseph Salisbury Openpgp: preference=signencrypt Autocrypt: addr=joseph.salisbury@canonical.com; prefer-encrypt=mutual; keydata= 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 p24lPxLL08SuCEzuBw== Message-ID: <59bc04f8-e819-46c0-651d-a00eef4d34f8@canonical.com> Date: Thu, 3 May 2018 14:29:02 -0400 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.7.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Content-Language: en-US Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 05/02/2018 06:41 AM, Rafael J. Wysocki wrote: > On Tue, May 1, 2018 at 9:55 PM, Bjorn Helgaas wrote: >> On Tue, May 01, 2018 at 10:34:29AM +0200, Rafael J. Wysocki wrote: >>> On Mon, Apr 30, 2018 at 4:22 PM, Joseph Salisbury >>> wrote: >>>> On 04/16/2018 11:58 AM, Rafael J. Wysocki wrote: >>>>> On Mon, Apr 16, 2018 at 5:31 PM, Joseph Salisbury >>>>> wrote: >>>>>> On 04/13/2018 05:34 PM, Rafael J. Wysocki wrote: >>>>>>> On Fri, Apr 13, 2018 at 7:56 PM, Joseph Salisbury >>>>>>> wrote: >>>>>>>> Hi Rafael, >>>>>>>> >>>>>>>> A kernel bug report was opened against Ubuntu [0]. After a kernel >>>>>>>> bisect, it was found that reverting the following two commits resolved >>>>>>>> this bug: >>>>>>>> >>>>>>>> 0ce3fcaff929 ("PCI / PM: Restore PME Enable after config space restoration") >>>>>>>> 0847684cfc5f("PCI / PM: Simplify device wakeup settings code") >>>>>>>> >>>>>>>> This is a regression introduced in v4.13-rc1 and still exists in >>>>>>>> mainline. The bug causes the battery to drain when the system is >>>>>>>> powered down and unplugged, which does not happed prior to these two >>>>>>>> commits. >>>>>>> What system and what do you mean by "powered down"? How much time >>>>>>> does it take for the battery to drain now? >>>>>> By powered down, the bug reporter is saying physically powered off and >>>>>> unplugged. The system is a HP laptop: >>>>>> >>>>>> dmi.chassis.vendor: HP >>>>>> dmi.product.family: 103C_5335KV HP Notebook >>>>>> dmi.product.name: HP Notebook >>>>>> vendor_id : GenuineIntel >>>>>> cpu family : 6 >>>>>> >>>>>> >>>>>>>> The bisect actually pointed to commit de3ef1e, but reverting >>>>>>>> these two commits fixes the issue. >>>>>>>> >>>>>>>> I was hoping to get your feedback, since you are the patch author. Do >>>>>>>> you think gathering any additional data will help diagnose this issue, >>>>>>>> or would it be best to submit a revert request? >>>>>>> First, reverting these is not an option or you will break systems >>>>>>> relying on them now. 4.13 is three releases back at this point. >>>>>>> >>>>>>> Second, your issue appears to be related to the suspend/shutdown path >>>>>>> whereas commit 0ce3fcaff929 is mostly about resume, so presumably the >>>>>>> change in pci_enable_wake() causes the problem to happen. Can you try >>>>>>> to revert this one alone and see if that helps? >>>>>> A test kernel with commits 0ce3fcaff929 and de3ef1eb1cd0 reverted was >>>>>> tested. However, the test kernel still exhibited the bug. >>>>> So essentially the bisection result cannot be trusted. >>>> We performed some more testing and confirmed just a revert of the >>>> following commit resolves the bug: >>>> >>>> 0847684cfc5f0 ("PCI / PM: Simplify device wakeup settings code") >>> Thanks for confirming this! >>> >>>> Can you think of any suggestions to help debug further? >>> The root cause of the regression is likely the change in >>> pci_enable_wake() removing the device_may_wakeup() check from it. >>> >>> Probably, one of the drivers in the platform calls pci_enable_wake() >>> directly from its ->shutdown() callback and that causes the device to >>> be set up for system wakeup which in turn causes the power draw while >>> the system is off to increase. >>> >>> I would look at the PCI drivers used on that platform to find which of >>> them call pci_enable_wake() directly from ->shutdown() and I would >>> make these calls conditional on device_may_wakeup(). >> I took a quick look with >> >> git grep -E "pci_enable_wake\(.*[^0]\);|device_may_wakeup" >> >> and didn't notice any pci_enable_wake() callers that called >> device_may_wakeup() first. > I've just look at a bunch of network drivers doing that. > > It looks like I may need to restore __pci_enable_wake() with an extra > "runtime" argument for internal use. > > Joseph, can you ask the reporter to test the Bjorn's patch, please? The bug reporter has testing Bjorn's patch.  It did in fact resolve the bug.  Thanks for the quick help, Rafael and Bjorn!