From: Andrew Morton <akpm@zip.com.au>
To: Jens Axboe <axboe@suse.de>
Cc: Linus Torvalds <torvalds@transmeta.com>,
lkml <linux-kernel@vger.kernel.org>
Subject: Re: [patch 1/16] unplugging fix
Date: Mon, 03 Jun 2002 12:27:04 -0700 [thread overview]
Message-ID: <3CFBC307.70F0581A@zip.com.au> (raw)
In-Reply-To: <3CF88852.BCFBF774@zip.com.au> <3CF9CB92.A6BF921B@zip.com.au> <20020602081204.GD820@suse.de> <20020603083937.GA23527@suse.de> <3CFB3383.44A6CC96@zip.com.au> <20020603094121.GB23527@suse.de>
Jens Axboe wrote:
>
> On Mon, Jun 03 2002, Andrew Morton wrote:
> > Jens Axboe wrote:
> > >
> > > ...
> > > Does this work? I can't poke holes in it, but then again...
> >
> > It survives a 30-minute test. It would not have done that
> > before...
>
> Excellent.
Hope so. My Friday-night-notfix wouild have survived that long :(
> > Are you sure blk_stop_queue() and blk_run_queues() can't
> > race against each other? Seems there's a window where
> > they could both do a list_del().
>
> Hmm I'd prefer to just use the safe variant and not rely on the plugged
> flag when the lock isn't held, so here's my final version with just that
> change. Agree?
Not really ;)
There still seems to be a window where blk_run_queues() will
assume the queue is on local_plug_list while not holding
plug_list_lock. The QUEUE_PLUGGED flag is set, so blk_stop_queue()
will remove the queue from local_plug_list. Then blk_run_queues()
removes it as well. The new list_head debug code will rudely
catch that.
I'd be more comfortable if the duplicated info in QUEUE_FLAG_PLUGGED
and "presence on a list" were made fully atomic/coherent via
blk_plug_lock?
-
next prev parent reply other threads:[~2002-06-03 19:28 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2002-06-01 8:39 [patch 1/16] unplugging fix Andrew Morton
2002-06-02 7:38 ` Andrew Morton
2002-06-02 8:12 ` Jens Axboe
2002-06-03 8:39 ` Jens Axboe
2002-06-03 9:14 ` Andrew Morton
2002-06-03 9:41 ` Jens Axboe
2002-06-03 19:27 ` Andrew Morton [this message]
2002-06-04 7:25 ` Jens Axboe
2002-06-04 8:09 ` Jens Axboe
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=3CFBC307.70F0581A@zip.com.au \
--to=akpm@zip.com.au \
--cc=axboe@suse.de \
--cc=linux-kernel@vger.kernel.org \
--cc=torvalds@transmeta.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.