From: Ming Lei <ming.lei@redhat.com>
To: Sagi Grimberg <sagi@grimberg.me>
Cc: Gabriel Krisman Bertazi <krisman@collabora.com>,
Jens Axboe <axboe@kernel.dk>,
linux-block@vger.kernel.org,
Harris James R <james.r.harris@intel.com>,
linux-kernel@vger.kernel.org, io-uring@vger.kernel.org,
ZiyangZhang <ZiyangZhang@linux.alibaba.com>,
Xiaoguang Wang <xiaoguang.wang@linux.alibaba.com>,
Stefan Hajnoczi <stefanha@redhat.com>,
ming.lei@redhat.com
Subject: Re: [PATCH V3 1/1] ublk: add io_uring based userspace block driver
Date: Tue, 5 Jul 2022 08:43:43 +0800 [thread overview]
Message-ID: <YsOJP9BaD0LUpsgg@T590> (raw)
In-Reply-To: <c2053491-abb6-dc75-923d-bfea81431afa@grimberg.me>
On Mon, Jul 04, 2022 at 07:19:09PM +0300, Sagi Grimberg wrote:
>
> > > > > > diff --git a/drivers/block/Kconfig b/drivers/block/Kconfig
> > > > > > index fdb81f2794cd..d218089cdbec 100644
> > > > > > --- a/drivers/block/Kconfig
> > > > > > +++ b/drivers/block/Kconfig
> > > > > > @@ -408,6 +408,12 @@ config BLK_DEV_RBD
> > > > > > If unsure, say N.
> > > > > > +config BLK_DEV_UBLK
> > > > > > + bool "Userspace block driver"
> > > > >
> > > > > Really? why compile this to the kernel and not tristate as loadable
> > > > > module?
> > > > So far, this is only one reason: task_work_add() is required, which
> > > > isn't exported for modules.
> > >
> > > So why not exporting it?
> > > Doesn't seem like a good justification to build it into the kernel.
> >
> > Sagi,
> >
> > If I understand correctly, the task_work_add function is quite a core
> > API that we probably want to avoid exposing directly to (out-of-tree)
> > modules? I agree, though, it would be great to have this buildable as a
> > module for general use cases. Would it make sense to have it exposed
> > through a thin built-in wrapper, specific to UBD, which is exported, and
> > therefore able to invoke that function? Is it a reasonable approach?
>
> All I'm saying is that either we should expose it (or an interface to
> it) if it has merit, or use something else (use a workqueue).
There isn't replacement for task_work_add().
If module has to be supported, we can add one command for running the
work function in the ubq context, that will add some cost.
> Having a block driver driver builtin is probably not the answer.
Not sure, there are at least two drivers which use the API.
Thanks,
Ming
next prev parent reply other threads:[~2022-07-05 0:44 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-06-28 16:08 [PATCH V3 0/1] ublk: add io_uring based userspace block driver Ming Lei
2022-06-28 16:08 ` [PATCH V3 1/1] " Ming Lei
2022-06-30 11:35 ` Ziyang Zhang
2022-06-30 12:33 ` Ming Lei
2022-07-01 2:47 ` Ziyang Zhang
2022-07-01 4:06 ` Ming Lei
2022-07-04 11:17 ` Sagi Grimberg
2022-07-04 12:34 ` Ming Lei
2022-07-04 14:00 ` Sagi Grimberg
2022-07-04 16:13 ` Gabriel Krisman Bertazi
2022-07-04 16:19 ` Sagi Grimberg
2022-07-05 0:43 ` Ming Lei [this message]
2022-07-04 22:10 ` Gabriel Krisman Bertazi
2022-07-05 4:16 ` Ziyang Zhang
2022-07-05 8:12 ` Ming Lei
2022-07-05 8:06 ` Ming Lei
2022-07-07 7:49 ` Ming Lei
2022-07-07 7:58 ` Ming Lei
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=YsOJP9BaD0LUpsgg@T590 \
--to=ming.lei@redhat.com \
--cc=ZiyangZhang@linux.alibaba.com \
--cc=axboe@kernel.dk \
--cc=io-uring@vger.kernel.org \
--cc=james.r.harris@intel.com \
--cc=krisman@collabora.com \
--cc=linux-block@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=sagi@grimberg.me \
--cc=stefanha@redhat.com \
--cc=xiaoguang.wang@linux.alibaba.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.