[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