rtsx_usb_ms: use schedule_timeout_idle() in polling loop
PATCH RESEND v2 1/1 rtsx_usb_ms: use schedule_timeout_idle() in polling loop
First version of this patch has already been posted to LKML by Ben Hutchings ~6 months ago, but no further action were performed.
Original Ben's message goes below.
===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.
===
v2 of this patch uses schedule_timeout_idle() instead of msleep() and removes flush_signals() introduces in v1 of this patch as kthread ignores all signals unless it does allow_signal().
References: https://bugs.debian.org/765717
--- drivers/memstick/host/rtsx_usb_ms.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
drivers/memstick/host/rtsx_usb_ms.c +1 -1
@@ -706,7 +706,7 @@ poll_again:if (host->eject)break ; -msleep (1000 ); +schedule_timeout_idle (HZ ); }complete (&host->detect_ms_exit);
Signature · 1 line
2.8.2