[kernel] r21977 - in dists/sid/linux/debian: . patches patches/bugfix/all
Ben Hutchings
benh at moszumanska.debian.org
Sun Oct 26 03:47:19 UTC 2014
Author: benh
Date: Sun Oct 26 03:47:19 2014
New Revision: 21977
Log:
rtsx_usb_ms: Use msleep_interruptible() in polling loop (Closes: #765717)
Added:
dists/sid/linux/debian/patches/bugfix/all/rtsx_usb_ms-use-msleep_interruptible-in-polling-loop.patch
Modified:
dists/sid/linux/debian/changelog
dists/sid/linux/debian/patches/series
Modified: dists/sid/linux/debian/changelog
==============================================================================
--- dists/sid/linux/debian/changelog Sun Oct 26 02:43:20 2014 (r21976)
+++ dists/sid/linux/debian/changelog Sun Oct 26 03:47:19 2014 (r21977)
@@ -10,6 +10,7 @@
(Closes: #765621)
* [x86] drm/i915: Initialise userptr mmu_notifier serial to 1
(Closes: #765590)
+ * rtsx_usb_ms: Use msleep_interruptible() in polling loop (Closes: #765717)
[ Mauricio Faria de Oliveira ]
* [ppc64el] Disable CONFIG_CMDLINE{,_BOOL} usage for setting consoles
Added: dists/sid/linux/debian/patches/bugfix/all/rtsx_usb_ms-use-msleep_interruptible-in-polling-loop.patch
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ dists/sid/linux/debian/patches/bugfix/all/rtsx_usb_ms-use-msleep_interruptible-in-polling-loop.patch Sun Oct 26 03:47:19 2014 (r21977)
@@ -0,0 +1,28 @@
+From: Ben Hutchings <ben at decadent.org.uk>
+Date: Sun, 26 Oct 2014 03:39:42 +0000
+Subject: rtsx_usb_ms: Use msleep_interruptible() in polling loop
+Bug-Debian: https://bugs.debian.org/765717
+
+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.
+
+Change the sleep to be interruptible, but still ignore signals.
+
+A better fix might be to replace this loop with a delayed work item.
+
+diff --git a/drivers/memstick/host/rtsx_usb_ms.c b/drivers/memstick/host/rtsx_usb_ms.c
+index a7282b7..7356780 100644
+--- 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;
+
+- msleep(1000);
++ if (msleep_interruptible(1000))
++ flush_signals(current);
+ }
+
+ complete(&host->detect_ms_exit);
Modified: dists/sid/linux/debian/patches/series
==============================================================================
--- dists/sid/linux/debian/patches/series Sun Oct 26 02:43:20 2014 (r21976)
+++ dists/sid/linux/debian/patches/series Sun Oct 26 03:47:19 2014 (r21977)
@@ -390,3 +390,4 @@
bugfix/all/qla2xxx-fix-kernel-NULL-pointer-access.patch
features/all/mmc_block-increase-max_devices.patch
bugfix/x86/drm-i915-initialise-userptr-mmu_notifier-serial-to-1.patch
+bugfix/all/rtsx_usb_ms-use-msleep_interruptible-in-polling-loop.patch
More information about the Kernel-svn-changes
mailing list