From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1756670AbbJHTfc (ORCPT ); Thu, 8 Oct 2015 15:35:32 -0400 Received: from shadbolt.e.decadent.org.uk ([88.96.1.126]:34243 "EHLO shadbolt.e.decadent.org.uk" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1755889AbbJHTfb (ORCPT ); Thu, 8 Oct 2015 15:35:31 -0400 Message-ID: <1444332916.2956.262.camel@decadent.org.uk> Subject: Re: [PATCH RESEND] rtsx_usb_ms: Use msleep_interruptible() in polling loop From: Ben Hutchings To: Lee Jones Cc: Maxim Levitsky , Roger Tseng , LKML Date: Thu, 08 Oct 2015 20:35:16 +0100 In-Reply-To: <20151008071932.GI17172@x1> References: <1443400461.2517.22.camel@decadent.org.uk> <20151008071932.GI17172@x1> Content-Type: multipart/signed; micalg="pgp-sha512"; protocol="application/pgp-signature"; boundary="=-lvnwXZvMx4/YZShMtmmN" X-Mailer: Evolution 3.16.5-1 Mime-Version: 1.0 X-SA-Exim-Connect-IP: 192.168.4.247 X-SA-Exim-Mail-From: ben@decadent.org.uk X-SA-Exim-Scanned: No (on shadbolt.decadent.org.uk); SAEximRunCond expanded to false Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org --=-lvnwXZvMx4/YZShMtmmN Content-Type: multipart/mixed; boundary="=-2bN9czhk9KbuqUY84zyZ" --=-2bN9czhk9KbuqUY84zyZ Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Thu, 2015-10-08 at 08:19 +0100, Lee Jones wrote: > On Mon, 28 Sep 2015, Ben Hutchings wrote: >=20 > > rtsx_usb_ms creates a task that mostly sleeps, but tasks in > > uninterruptible sleep still contribute to the load average (for > > bug-compatibility with Unix). A load average of ~1 on a system that > > should be idle is somewhat alarming. > >=20 > > Change the sleep to be interruptible, but still ignore signals. > >=20 > > A better fix might be to replace this loop with a delayed work item. > >=20 > > References: https://bugs.debian.org/765717 > > Signed-off-by: Ben Hutchings >=20 > Any chance you can use Git instead of Quilt? Failing that, is there a > way to tell Quilt to supply a diffstat in the patch? Why does it matter? 'git am' is happy to apply it. But in case it really does make a difference, I've attached the git-format-patch version. Ben. > > --- > > --- a/drivers/memstick/host/rtsx_usb_ms.c > > +++ b/drivers/memstick/host/rtsx_usb_ms.c > > @@ -706,7 +706,8 @@ poll_again: > > > > > > > > if (host->eject) > > > > > > > > > > break; > > =20 > > -> > > > > > msleep(1000); > > +> > > > > > if (msleep_interruptible(1000)) > > +> > > > > > > > flush_signals(current); > > > > > > } > > =20 > > > > > > complete(&host->detect_ms_exit); >=20 >=20 >=20 --=20 Ben Hutchings Once a job is fouled up, anything done to improve it makes it worse. --=-2bN9czhk9KbuqUY84zyZ Content-Disposition: attachment; filename*0=0001-rtsx_usb_ms-Use-msleep_interruptible-in-polling-loop.pat; filename*1=ch Content-Transfer-Encoding: base64 Content-Type: text/x-patch; name="0001-rtsx_usb_ms-Use-msleep_interruptible-in-polling-loop.patch"; charset="UTF-8" RnJvbSAzNGRjYTZiMjA4YTExMDhhOTQ5OTQxMmY1ODQ0NjhiMzFlZTAyNWUwIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBCZW4gSHV0Y2hpbmdzIDxiZW5AZGVjYWRlbnQub3JnLnVrPgpE YXRlOiBTdW4sIDI2IE9jdCAyMDE0IDAzOjM5OjQyICswMDAwClN1YmplY3Q6IFtQQVRDSF0gcnRz eF91c2JfbXM6IFVzZSBtc2xlZXBfaW50ZXJydXB0aWJsZSgpIGluIHBvbGxpbmcgbG9vcAoKcnRz eF91c2JfbXMgY3JlYXRlcyBhIHRhc2sgdGhhdCBtb3N0bHkgc2xlZXBzLCBidXQgdGFza3MgaW4K dW5pbnRlcnJ1cHRpYmxlIHNsZWVwIHN0aWxsIGNvbnRyaWJ1dGUgdG8gdGhlIGxvYWQgYXZlcmFn ZSAoZm9yCmJ1Zy1jb21wYXRpYmlsaXR5IHdpdGggVW5peCkuICBBIGxvYWQgYXZlcmFnZSBvZiB+ MSBvbiBhIHN5c3RlbSB0aGF0CnNob3VsZCBiZSBpZGxlIGlzIHNvbWV3aGF0IGFsYXJtaW5nLgoK Q2hhbmdlIHRoZSBzbGVlcCB0byBiZSBpbnRlcnJ1cHRpYmxlLCBidXQgc3RpbGwgaWdub3JlIHNp Z25hbHMuCgpBIGJldHRlciBmaXggbWlnaHQgYmUgdG8gcmVwbGFjZSB0aGlzIGxvb3Agd2l0aCBh IGRlbGF5ZWQgd29yayBpdGVtLgoKUmVmZXJlbmNlczogaHR0cHM6Ly9idWdzLmRlYmlhbi5vcmcv NzY1NzE3ClNpZ25lZC1vZmYtYnk6IEJlbiBIdXRjaGluZ3MgPGJlbkBkZWNhZGVudC5vcmcudWs+ Ci0tLQogZHJpdmVycy9tZW1zdGljay9ob3N0L3J0c3hfdXNiX21zLmMgfCAzICsrLQogMSBmaWxl IGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQoKZGlmZiAtLWdpdCBhL2Ry aXZlcnMvbWVtc3RpY2svaG9zdC9ydHN4X3VzYl9tcy5jIGIvZHJpdmVycy9tZW1zdGljay9ob3N0 L3J0c3hfdXNiX21zLmMKaW5kZXggMTEwNWRiMi4uNjQ1ZGVkZSAxMDA2NDQKLS0tIGEvZHJpdmVy cy9tZW1zdGljay9ob3N0L3J0c3hfdXNiX21zLmMKKysrIGIvZHJpdmVycy9tZW1zdGljay9ob3N0 L3J0c3hfdXNiX21zLmMKQEAgLTcwNiw3ICs3MDYsOCBAQCBwb2xsX2FnYWluOgogCQlpZiAoaG9z dC0+ZWplY3QpCiAJCQlicmVhazsKIAotCQltc2xlZXAoMTAwMCk7CisJCWlmIChtc2xlZXBfaW50 ZXJydXB0aWJsZSgxMDAwKSkKKwkJCWZsdXNoX3NpZ25hbHMoY3VycmVudCk7CiAJfQogCiAJY29t cGxldGUoJmhvc3QtPmRldGVjdF9tc19leGl0KTsK --=-2bN9czhk9KbuqUY84zyZ-- --=-lvnwXZvMx4/YZShMtmmN Content-Type: application/pgp-signature; name="signature.asc" Content-Description: This is a digitally signed message part -----BEGIN PGP SIGNATURE----- Version: GnuPG v1 iQIVAwUAVhbFdOe/yOyVhhEJAQrC2BAAqK9a9hDxzBXG5cmB6AawaSE5bpnLlynU YQMkWZ4d/Ta34FtLBfRTkU+IqZbLF9aMPTnLaWni/XW4QfwYDnx5lH42cNkhCSiO dv8ELcKAAYjT35T08QiV8fwt7XmjAkqrWBB3By2hDRLbZ/NuZVIyf1uBYzVK6b1W dWYMH3/ahQhY0Mnu4wCPEc9WEwcwLNuDVrHSZQ3Q4i5z68tIDrnSbbot/KHpbv0G z+pPm+5dGKpMC6MuuhCR8J/VYvJfO74y81tqmwFZrAGw/EjlAhcfT4Zpz2rLFoyp rMbRVC52Pf00H/wygDDNKD+nvUvl8LnpV1JXPcbyt9gFsBO8pCIAcwU0XJAyDDbU GuIFcVh7S4OoiRB3eHWMnWkiEEz/wbTP6tEOIzHTmPaoUduPzhU5zmxJwBXJ1/fK m0Ab9qLfS9XQztSH3raQD8UEDHJO1+KgU6ULjdpofIoxQVch0zSol0fIop+/MySE q0J0Vn0PvKV1hjoudbTFDmO7r1gEYM2zF2AO7BWAfuj6TZazDhiFn4tOFRFNsQIo b4DQB0x+MqZGPspPNyerWuNfwpAxiuc3Wd+Z9hpJOYhZRikUqFLti+PHyctB+hv8 4SZ+SnyKepe8D4xWZFm8THRU9VFo6mKcwZCnwnvUiuECxphFv+LQ4Y9xXleAQyLN Z/J/7tCzflU= =29SP -----END PGP SIGNATURE----- --=-lvnwXZvMx4/YZShMtmmN--