[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CACVXFVP0JrpUgterqHs5bvCQn7L9a-XrjDCD3BmQOLe+rgC1KQ@mail.gmail.com>
Date: Fri, 16 Aug 2019 00:34:44 +0800
From: Ming Lei <tom.leiming@...il.com>
To: Martijn Coenen <maco@...roid.com>
Cc: Ming Lei <ming.lei@...hat.com>, Jens Axboe <axboe@...nel.dk>,
linux-block <linux-block@...r.kernel.org>,
LKML <linux-kernel@...r.kernel.org>,
Greg KH <gregkh@...uxfoundation.org>, kernel-team@...roid.com,
Narayan Kamath <narayan@...gle.com>,
Dario Freni <dariofreni@...gle.com>,
Nikita Ioffe <ioffe@...gle.com>,
Jiyong Park <jiyong@...gle.com>,
Martijn Coenen <maco@...gle.com>
Subject: Re: [PATCH] RFC: loop: Avoid calling blk_mq_freeze_queue() when possible.
On Thu, Aug 15, 2019 at 11:38 PM Martijn Coenen <maco@...roid.com> wrote:
>
> On Wed, Aug 14, 2019 at 12:47 PM Ming Lei <ming.lei@...hat.com> wrote:
> > blk_queue_init_done() is only called in blk_queue_init_done() for
> > this purpose, so this approach should be fine, IMO.
>
> I was thinking somebody might add more stuff to "init" in the future,
> and then that new stuff would now no longer be executed for the loop
> driver. The name "init" is pretty generic...but if that's not a
> concern I'm happy with your proposal as well. There's one more
> "freeze" I'd like to get rid of - we also call LOOP_SET_STATUS(64),
> and there's a freeze in there because lo->transfer is modified. That
> makes sense, but I was hoping we can make that freeze conditional on
> whether lo->transfer would actually change value; if it stays the
> same, I think freezing is not necessary.
The queue freeze in SET_STATUS may not be avoided, not only
.transfer, there are also .lo_offset, .size, filename, dio and others.
If nothing will change, why does the userspace bother to send
SET_STATUS?
Thanks,
Ming Lei
Powered by blists - more mailing lists