public inbox for stable@vger.kernel.org
 help / color / mirror / Atom feed
From: Jens Axboe <axboe@kernel.dk>
To: Linus Torvalds <torvalds@linux-foundation.org>,
	Ingo Molnar <mingo@kernel.org>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	Tetsuo Handa <penguin-kernel@i-love.sakura.ne.jp>,
	Omar Sandoval <osandov@fb.com>, stable <stable@vger.kernel.org>,
	Peter Zijlstra <peterz@infradead.org>,
	Thomas Gleixner <tglx@linutronix.de>,
	kernel-team <kernel-team@fb.com>
Subject: Re: sched/wait: Fix add_wait_queue() behavioral change
Date: Tue, 13 Feb 2018 09:15:53 -0700	[thread overview]
Message-ID: <a5cf6022-bd25-1262-d63e-6b4c0f1d2985@kernel.dk> (raw)
In-Reply-To: <CA+55aFz26j1Pr0PCEmF3V2_mfgG8OJbP5dTOLBpyuc6FocnYnQ@mail.gmail.com>

On 2/11/18 11:28 AM, Linus Torvalds wrote:
> On Sun, Feb 11, 2018 at 2:32 AM, Ingo Molnar <mingo@kernel.org> wrote:
>>
>>
>> Indeed, the bug was introduced in v4.13 and the fix was included in v4.15, but
>> it's missing from v4.13 and v4.14 - not sure how I missed that.
> 
> Sadly, this would actually have been picked up automatically, except
> for this other problem:
> 
>> Fixes: ("sched/wait: Standardize internal naming of wait-queue entries")
> 
> If that had instead said
> 
>   Fixes: 50816c48997a ("sched/wait: Standardize internal naming of
> wait-queue entries")
> 
> then I think Greg's stable scripts would have noticed this even
> without any Cc: stable.
> 
> But the commit ID for the thing it fixed was only in the body of the
> email, not in that Fixes: line, so together with the lack of stable cc
> it got entirely missed.
> 
> That said, the block layer doesn't use exclusive waits very much, so
> I'm not sure how much this can trigger. So any block IO hangs don't
> sound likely to be due to this. The only exclusive waits I can find
> are:
> 
>  - regular request allocation.
> 
>    But *all* the waiters are exclusive, so this won't affect it
> 
>  - blk-mq-tag.c uses
> 
>         prepare_to_wait_exclusive(&ws->wait, ,,
> 
>    But all the _wakers_ seem to do "wake_up_all()", so again the order
> on the wait list shouldn't matter.
> 
> but maybe I'm missing something.
> 
> Regardless, that commit should be back-ported, but I do get the
> feeling that it never really ended up being something that people
> could possibly trigger in practice.

Newer kernels do use them without wake_up_all(), but then he would
not be hitting the regression here. It is possible that he's seeing
hangs that aren't at the end of the IO stack, just somewhere else.
Or it could be that it's something else entirely...

In any case, it's prudent to back port the fix to the kernels that
don't have it.

-- 
Jens Axboe

  reply	other threads:[~2018-02-13 16:15 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-02-10 14:14 sched/wait: Fix add_wait_queue() behavioral change Tetsuo Handa
2018-02-10 17:37 ` Jens Axboe
2018-02-11 10:32   ` Ingo Molnar
2018-02-11 18:28     ` Linus Torvalds
2018-02-13 16:15       ` Jens Axboe [this message]
2018-02-13 15:42     ` Greg Kroah-Hartman

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=a5cf6022-bd25-1262-d63e-6b4c0f1d2985@kernel.dk \
    --to=axboe@kernel.dk \
    --cc=gregkh@linuxfoundation.org \
    --cc=kernel-team@fb.com \
    --cc=mingo@kernel.org \
    --cc=osandov@fb.com \
    --cc=penguin-kernel@i-love.sakura.ne.jp \
    --cc=peterz@infradead.org \
    --cc=stable@vger.kernel.org \
    --cc=tglx@linutronix.de \
    --cc=torvalds@linux-foundation.org \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox