From: Lee Jones <lee.jones@linaro.org>
To: Ben Hutchings <ben@decadent.org.uk>
Cc: Maxim Levitsky <maximlevitsky@gmail.com>,
Roger Tseng <rogerable@realtek.com>,
LKML <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH RESEND] rtsx_usb_ms: Use msleep_interruptible() in polling loop
Date: Fri, 9 Oct 2015 08:18:59 +0100 [thread overview]
Message-ID: <20151009071859.GL17172@x1> (raw)
In-Reply-To: <1444332916.2956.262.camel@decadent.org.uk>
On Thu, 08 Oct 2015, Ben Hutchings wrote:
> On Thu, 2015-10-08 at 08:19 +0100, Lee Jones wrote:
> > On Mon, 28 Sep 2015, Ben Hutchings wrote:
> >
> > > 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.
> > >
> > > References: https://bugs.debian.org/765717
> > > Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
> >
> > 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?
To this patch? It probably doesn't.
In general? It absolutely helps with patch review -- it's the second
thing I look at. Diffstats are especially helpful if/when patches
cross subsystem boundaries or when multiple files a touched. Until I
scroll down I have no idea if this is just a memstick patch (which I
can see at the bottom of my screen) or in fact amends 5 subsystems
and requires special handling.
> 'git am' is happy to apply it. But in case it
> really does make a difference, I've attached the git-format-patch
> version.
I meant more 'from now on', rather than that patch being a special
case. Ultimately it's your decision. I just think it makes things
that little bit easier for the reviewer, as I'm sure you can
appreciate.
> > > ---
> > > --- 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);
> >
> >
> >
> From 34dca6b208a1108a9499412f584468b31ee025e0 Mon Sep 17 00:00:00 2001
> From: Ben Hutchings <ben@decadent.org.uk>
> Date: Sun, 26 Oct 2014 03:39:42 +0000
> Subject: [PATCH] rtsx_usb_ms: Use msleep_interruptible() in polling loop
>
> 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.
>
> References: https://bugs.debian.org/765717
> Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
> ---
> drivers/memstick/host/rtsx_usb_ms.c | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/memstick/host/rtsx_usb_ms.c b/drivers/memstick/host/rtsx_usb_ms.c
> index 1105db2..645dede 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);
--
Lee Jones
Linaro STMicroelectronics Landing Team Lead
Linaro.org │ Open source software for ARM SoCs
Follow Linaro: Facebook | Twitter | Blog
next prev parent reply other threads:[~2015-10-09 7:19 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-09-28 0:34 [PATCH RESEND] rtsx_usb_ms: Use msleep_interruptible() in polling loop Ben Hutchings
2015-09-28 10:34 ` Lee Jones
2015-09-28 11:10 ` Ben Hutchings
2015-09-28 11:23 ` Lee Jones
2015-10-08 3:37 ` Roger Tseng
2015-10-08 7:19 ` Lee Jones
2015-10-08 19:35 ` Ben Hutchings
2015-10-09 7:18 ` Lee Jones [this message]
-- strict thread matches above, loose matches on Subject: below --
2016-05-02 20:17 Oleksandr Natalenko
2016-05-02 20:56 ` Andrew Morton
2016-05-03 13:40 ` Oleg Nesterov
2016-05-03 15:22 ` Ben Hutchings
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20151009071859.GL17172@x1 \
--to=lee.jones@linaro.org \
--cc=ben@decadent.org.uk \
--cc=linux-kernel@vger.kernel.org \
--cc=maximlevitsky@gmail.com \
--cc=rogerable@realtek.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.