From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail.kernel.org ([198.145.29.136]:39683 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753590AbbLBEn4 (ORCPT ); Tue, 1 Dec 2015 23:43:56 -0500 Date: Tue, 1 Dec 2015 22:43:48 -0600 From: Bjorn Helgaas To: "Rafael J. Wysocki" Cc: Imre Deak , Bjorn Helgaas , Jani Nikula , Daniel Vetter , Linux PM , intel-gfx@lists.freedesktop.org, Linux PCI Subject: Re: [PATCH v5] PCI / PM: Tune down retryable runtime suspend error messages Message-ID: <20151202044348.GA11971@localhost> References: <1448699664-4178-1-git-send-email-imre.deak@intel.com> <1448910175-5904-1-git-send-email-imre.deak@intel.com> <4357316.BsOyM9M4tL@vostro.rjw.lan> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii In-Reply-To: <4357316.BsOyM9M4tL@vostro.rjw.lan> Sender: linux-pci-owner@vger.kernel.org List-ID: On Wed, Dec 02, 2015 at 02:54:45AM +0100, Rafael J. Wysocki wrote: > On Monday, November 30, 2015 09:02:55 PM Imre Deak wrote: > > The runtime PM core doesn't treat EBUSY and EAGAIN retvals from the driver > > suspend hooks as errors, but they still show up as errors in dmesg. Tune > > them down. See rpm_suspend() for details of handling these return values. > > > > Note that we use dev_dbg() for the retryable retvals, so after this > > change you'll need either CONFIG_DYNAMIC_DEBUG or CONFIG_PCI_DEBUG > > for them to show up in the log. > > > > One problem caused by this was noticed by Daniel: the i915 driver > > returns EAGAIN to signal a temporary failure to suspend and as a request > > towards the RPM core for scheduling a suspend again. This is a normal > > event, but the resulting error message flags a breakage during the > > driver's automated testing which parses dmesg and picks up the error. > > > > Reported-by: Daniel Vetter > > Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=92992 > > CC: Bjorn Helgaas > > CC: Rafael J. Wysocki > > Signed-off-by: Imre Deak > > Hi Bjorn, > > Are you going to handle this one or should I take care of it? Why don't you take it, since you're the PM guru :) Acked-by: Bjorn Helgaas Thanks for all your work, Imre! > > --- > > > > v2: > > - fix compile breake when CONFIG_PM_SLEEP=n (0-day builder) > > v3: > > - instead of modifying the suspend_report_result() helper to disinguish > > between the runtime and system suspend case, inline the error > > printing, it's not used anywhere else (Rafael) > > v4: > > - don't refer to log levels as flags in code comment (Rafael) > > - use pr_debug(), pr_err() instead of the corresponding printk() (Rafael) > > v5: > > - clarify commit message (Bjorn) > > - use dev_dbg, dev_err instead of pr_debug, pr_err (Bjorn) > > - use %pf in printk format instead of %pF (Bjorn) > > - make the debug/error messages more meaningful (Bjorn) > > --- > > drivers/pci/pci-driver.c | 16 ++++++++++++++-- > > 1 file changed, 14 insertions(+), 2 deletions(-) > > > > diff --git a/drivers/pci/pci-driver.c b/drivers/pci/pci-driver.c > > index 4446fcb..d7ffd66 100644 > > --- a/drivers/pci/pci-driver.c > > +++ b/drivers/pci/pci-driver.c > > @@ -1146,9 +1146,21 @@ static int pci_pm_runtime_suspend(struct device *dev) > > pci_dev->state_saved = false; > > pci_dev->no_d3cold = false; > > error = pm->runtime_suspend(dev); > > - suspend_report_result(pm->runtime_suspend, error); > > - if (error) > > + if (error) { > > + /* > > + * -EBUSY and -EAGAIN is used to request the runtime PM core > > + * to schedule a new suspend, so log the event only with debug > > + * log level. > > + */ > > + if (error == -EBUSY || error == -EAGAIN) > > + dev_dbg(dev, "can't suspend now (%pf returned %d)\n", > > + pm->runtime_suspend, error); > > + else > > + dev_err(dev, "can't suspend (%pf returned %d)\n", > > + pm->runtime_suspend, error); > > + > > return error; > > + } > > if (!pci_dev->d3cold_allowed) > > pci_dev->no_d3cold = true; > > > > > > -- > I speak only for myself. > Rafael J. Wysocki, Intel Open Source Technology Center. > -- > To unsubscribe from this list: send the line "unsubscribe linux-pci" in > the body of a message to majordomo@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html From mboxrd@z Thu Jan 1 00:00:00 1970 From: Bjorn Helgaas Subject: Re: [PATCH v5] PCI / PM: Tune down retryable runtime suspend error messages Date: Tue, 1 Dec 2015 22:43:48 -0600 Message-ID: <20151202044348.GA11971@localhost> References: <1448699664-4178-1-git-send-email-imre.deak@intel.com> <1448910175-5904-1-git-send-email-imre.deak@intel.com> <4357316.BsOyM9M4tL@vostro.rjw.lan> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Content-Disposition: inline In-Reply-To: <4357316.BsOyM9M4tL@vostro.rjw.lan> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: "Rafael J. Wysocki" Cc: Linux PM , Jani Nikula , Daniel Vetter , Linux PCI , Bjorn Helgaas , intel-gfx@lists.freedesktop.org List-Id: linux-pm@vger.kernel.org T24gV2VkLCBEZWMgMDIsIDIwMTUgYXQgMDI6NTQ6NDVBTSArMDEwMCwgUmFmYWVsIEouIFd5c29j a2kgd3JvdGU6Cj4gT24gTW9uZGF5LCBOb3ZlbWJlciAzMCwgMjAxNSAwOTowMjo1NSBQTSBJbXJl IERlYWsgd3JvdGU6Cj4gPiBUaGUgcnVudGltZSBQTSBjb3JlIGRvZXNuJ3QgdHJlYXQgRUJVU1kg YW5kIEVBR0FJTiByZXR2YWxzIGZyb20gdGhlIGRyaXZlcgo+ID4gc3VzcGVuZCBob29rcyBhcyBl cnJvcnMsIGJ1dCB0aGV5IHN0aWxsIHNob3cgdXAgYXMgZXJyb3JzIGluIGRtZXNnLiBUdW5lCj4g PiB0aGVtIGRvd24uIFNlZSBycG1fc3VzcGVuZCgpIGZvciBkZXRhaWxzIG9mIGhhbmRsaW5nIHRo ZXNlIHJldHVybiB2YWx1ZXMuCj4gPiAKPiA+IE5vdGUgdGhhdCB3ZSB1c2UgZGV2X2RiZygpIGZv ciB0aGUgcmV0cnlhYmxlIHJldHZhbHMsIHNvIGFmdGVyIHRoaXMKPiA+IGNoYW5nZSB5b3UnbGwg bmVlZCBlaXRoZXIgQ09ORklHX0RZTkFNSUNfREVCVUcgb3IgQ09ORklHX1BDSV9ERUJVRwo+ID4g Zm9yIHRoZW0gdG8gc2hvdyB1cCBpbiB0aGUgbG9nLgo+ID4gCj4gPiBPbmUgcHJvYmxlbSBjYXVz ZWQgYnkgdGhpcyB3YXMgbm90aWNlZCBieSBEYW5pZWw6IHRoZSBpOTE1IGRyaXZlcgo+ID4gcmV0 dXJucyBFQUdBSU4gdG8gc2lnbmFsIGEgdGVtcG9yYXJ5IGZhaWx1cmUgdG8gc3VzcGVuZCBhbmQg YXMgYSByZXF1ZXN0Cj4gPiB0b3dhcmRzIHRoZSBSUE0gY29yZSBmb3Igc2NoZWR1bGluZyBhIHN1 c3BlbmQgYWdhaW4uIFRoaXMgaXMgYSBub3JtYWwKPiA+IGV2ZW50LCBidXQgdGhlIHJlc3VsdGlu ZyBlcnJvciBtZXNzYWdlIGZsYWdzIGEgYnJlYWthZ2UgZHVyaW5nIHRoZQo+ID4gZHJpdmVyJ3Mg YXV0b21hdGVkIHRlc3Rpbmcgd2hpY2ggcGFyc2VzIGRtZXNnIGFuZCBwaWNrcyB1cCB0aGUgZXJy b3IuCj4gPiAKPiA+IFJlcG9ydGVkLWJ5OiBEYW5pZWwgVmV0dGVyIDxkYW5pZWwudmV0dGVyQGlu dGVsLmNvbT4KPiA+IEJ1Z3ppbGxhOiBodHRwczovL2J1Z3MuZnJlZWRlc2t0b3Aub3JnL3Nob3df YnVnLmNnaT9pZD05Mjk5Mgo+ID4gQ0M6IEJqb3JuIEhlbGdhYXMgPGJoZWxnYWFzQGdvb2dsZS5j b20+Cj4gPiBDQzogUmFmYWVsIEouIFd5c29ja2kgPHJhZmFlbC5qLnd5c29ja2lAaW50ZWwuY29t Pgo+ID4gU2lnbmVkLW9mZi1ieTogSW1yZSBEZWFrIDxpbXJlLmRlYWtAaW50ZWwuY29tPgo+IAo+ IEhpIEJqb3JuLAo+IAo+IEFyZSB5b3UgZ29pbmcgdG8gaGFuZGxlIHRoaXMgb25lIG9yIHNob3Vs ZCBJIHRha2UgY2FyZSBvZiBpdD8KCldoeSBkb24ndCB5b3UgdGFrZSBpdCwgc2luY2UgeW91J3Jl IHRoZSBQTSBndXJ1IDopCgpBY2tlZC1ieTogQmpvcm4gSGVsZ2FhcyA8YmhlbGdhYXNAZ29vZ2xl LmNvbT4KClRoYW5rcyBmb3IgYWxsIHlvdXIgd29yaywgSW1yZSEKCj4gPiAtLS0KPiA+IAo+ID4g djI6Cj4gPiAtIGZpeCBjb21waWxlIGJyZWFrZSB3aGVuIENPTkZJR19QTV9TTEVFUD1uICgwLWRh eSBidWlsZGVyKQo+ID4gdjM6Cj4gPiAtIGluc3RlYWQgb2YgbW9kaWZ5aW5nIHRoZSBzdXNwZW5k X3JlcG9ydF9yZXN1bHQoKSBoZWxwZXIgdG8gZGlzaW5ndWlzaAo+ID4gICBiZXR3ZWVuIHRoZSBy dW50aW1lIGFuZCBzeXN0ZW0gc3VzcGVuZCBjYXNlLCBpbmxpbmUgdGhlIGVycm9yCj4gPiAgIHBy aW50aW5nLCBpdCdzIG5vdCB1c2VkIGFueXdoZXJlIGVsc2UgKFJhZmFlbCkKPiA+IHY0Ogo+ID4g LSBkb24ndCByZWZlciB0byBsb2cgbGV2ZWxzIGFzIGZsYWdzIGluIGNvZGUgY29tbWVudCAoUmFm YWVsKQo+ID4gLSB1c2UgcHJfZGVidWcoKSwgcHJfZXJyKCkgaW5zdGVhZCBvZiB0aGUgY29ycmVz cG9uZGluZyBwcmludGsoKSAoUmFmYWVsKQo+ID4gdjU6Cj4gPiAtIGNsYXJpZnkgY29tbWl0IG1l c3NhZ2UgKEJqb3JuKQo+ID4gLSB1c2UgZGV2X2RiZywgZGV2X2VyciBpbnN0ZWFkIG9mIHByX2Rl YnVnLCBwcl9lcnIgKEJqb3JuKQo+ID4gLSB1c2UgJXBmIGluIHByaW50ayBmb3JtYXQgaW5zdGVh ZCBvZiAlcEYgKEJqb3JuKQo+ID4gLSBtYWtlIHRoZSBkZWJ1Zy9lcnJvciBtZXNzYWdlcyBtb3Jl IG1lYW5pbmdmdWwgKEJqb3JuKQo+ID4gLS0tCj4gPiAgZHJpdmVycy9wY2kvcGNpLWRyaXZlci5j IHwgMTYgKysrKysrKysrKysrKystLQo+ID4gIDEgZmlsZSBjaGFuZ2VkLCAxNCBpbnNlcnRpb25z KCspLCAyIGRlbGV0aW9ucygtKQo+ID4gCj4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9wY2kvcGNp LWRyaXZlci5jIGIvZHJpdmVycy9wY2kvcGNpLWRyaXZlci5jCj4gPiBpbmRleCA0NDQ2ZmNiLi5k N2ZmZDY2IDEwMDY0NAo+ID4gLS0tIGEvZHJpdmVycy9wY2kvcGNpLWRyaXZlci5jCj4gPiArKysg Yi9kcml2ZXJzL3BjaS9wY2ktZHJpdmVyLmMKPiA+IEBAIC0xMTQ2LDkgKzExNDYsMjEgQEAgc3Rh dGljIGludCBwY2lfcG1fcnVudGltZV9zdXNwZW5kKHN0cnVjdCBkZXZpY2UgKmRldikKPiA+ICAJ cGNpX2Rldi0+c3RhdGVfc2F2ZWQgPSBmYWxzZTsKPiA+ICAJcGNpX2Rldi0+bm9fZDNjb2xkID0g ZmFsc2U7Cj4gPiAgCWVycm9yID0gcG0tPnJ1bnRpbWVfc3VzcGVuZChkZXYpOwo+ID4gLQlzdXNw ZW5kX3JlcG9ydF9yZXN1bHQocG0tPnJ1bnRpbWVfc3VzcGVuZCwgZXJyb3IpOwo+ID4gLQlpZiAo ZXJyb3IpCj4gPiArCWlmIChlcnJvcikgewo+ID4gKwkJLyoKPiA+ICsJCSAqIC1FQlVTWSBhbmQg LUVBR0FJTiBpcyB1c2VkIHRvIHJlcXVlc3QgdGhlIHJ1bnRpbWUgUE0gY29yZQo+ID4gKwkJICog dG8gc2NoZWR1bGUgYSBuZXcgc3VzcGVuZCwgc28gbG9nIHRoZSBldmVudCBvbmx5IHdpdGggZGVi dWcKPiA+ICsJCSAqIGxvZyBsZXZlbC4KPiA+ICsJCSAqLwo+ID4gKwkJaWYgKGVycm9yID09IC1F QlVTWSB8fCBlcnJvciA9PSAtRUFHQUlOKQo+ID4gKwkJCWRldl9kYmcoZGV2LCAiY2FuJ3Qgc3Vz cGVuZCBub3cgKCVwZiByZXR1cm5lZCAlZClcbiIsCj4gPiArCQkJCXBtLT5ydW50aW1lX3N1c3Bl bmQsIGVycm9yKTsKPiA+ICsJCWVsc2UKPiA+ICsJCQlkZXZfZXJyKGRldiwgImNhbid0IHN1c3Bl bmQgKCVwZiByZXR1cm5lZCAlZClcbiIsCj4gPiArCQkJCXBtLT5ydW50aW1lX3N1c3BlbmQsIGVy cm9yKTsKPiA+ICsKPiA+ICAJCXJldHVybiBlcnJvcjsKPiA+ICsJfQo+ID4gIAlpZiAoIXBjaV9k ZXYtPmQzY29sZF9hbGxvd2VkKQo+ID4gIAkJcGNpX2Rldi0+bm9fZDNjb2xkID0gdHJ1ZTsKPiA+ ICAKPiA+IAo+IAo+IC0tIAo+IEkgc3BlYWsgb25seSBmb3IgbXlzZWxmLgo+IFJhZmFlbCBKLiBX eXNvY2tpLCBJbnRlbCBPcGVuIFNvdXJjZSBUZWNobm9sb2d5IENlbnRlci4KPiAtLQo+IFRvIHVu c3Vic2NyaWJlIGZyb20gdGhpcyBsaXN0OiBzZW5kIHRoZSBsaW5lICJ1bnN1YnNjcmliZSBsaW51 eC1wY2kiIGluCj4gdGhlIGJvZHkgb2YgYSBtZXNzYWdlIHRvIG1ham9yZG9tb0B2Z2VyLmtlcm5l bC5vcmcKPiBNb3JlIG1ham9yZG9tbyBpbmZvIGF0ICBodHRwOi8vdmdlci5rZXJuZWwub3JnL21h am9yZG9tby1pbmZvLmh0bWwKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0 b3Aub3JnCmh0dHA6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRl bC1nZngK