Re: [PATCH 06/16] virtio_blk: drop config_enable
From: Cornelia Huck
Date: Mon Oct 06 2014 - 08:20:53 EST
On Mon, 6 Oct 2014 15:09:53 +0300
"Michael S. Tsirkin" <mst@xxxxxxxxxx> wrote:
> On Mon, Oct 06, 2014 at 01:42:29PM +0200, Cornelia Huck wrote:
> > On Sun, 5 Oct 2014 19:07:07 +0300
> > "Michael S. Tsirkin" <mst@xxxxxxxxxx> wrote:
> >
> > > Now that virtio core ensures config changes don't
> > > arrive during probing, drop config_enable flag
> > > in virtio blk.
> > > On removal, flush is now sufficient to guarantee that
> > > no change work is queued.
> > >
> > > This help simplify the driver, and will allow
> > > setting DRIVER_OK earlier without losing config
> > > change notifications.
> > >
> > > Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
> > > ---
> > > drivers/block/virtio_blk.c | 19 ++-----------------
> > > 1 file changed, 2 insertions(+), 17 deletions(-)
> > >
> > > diff --git a/drivers/block/virtio_blk.c b/drivers/block/virtio_blk.c
> > > index 0a58140..c8cf6a1 100644
> > > --- a/drivers/block/virtio_blk.c
> > > +++ b/drivers/block/virtio_blk.c
> >
> > > @@ -772,9 +766,7 @@ static void virtblk_remove(struct virtio_device *vdev)
> > > int refc;
> > >
> > > /* Prevent config work handler from accessing the device. */
> >
> > /* Common code ensures no further work will be queued. */
> >
> > instead?
>
> No, I think you missed the point:
> this comment now refers to the flush below: flush is required to
> ensure work handler is not running.
>
> Agree?
I think we both mean the same thing.
Preventing the handler from access sounds to me more like "when the
handler starts running, it is prevented from accessing the
device" (like with setting config_enable, as the code did before). What
I meant was "common code has already ensured that our work-queueing
function will not be called, therefore flushing the workqueue is
enough."
(same for net)
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/