On Wed, Mar 16, 2022 at 05:36:20PM +0200, Max Gurtovoy
wrote:>
> On 3/16/2022 5:32 PM, Suwan Kim wrote:
> > On Wed, Mar 16, 2022 at 10:02:13AM +0800, Jason Wang wrote:
> > > On Tue, Mar 15, 2022 at 10:43 PM Suwan Kim <suwan.kim027 at
gmail.com> wrote:
> > > > On Tue, Mar 15, 2022 at 04:59:23PM +0800, Jason Wang wrote:
> > > > > On Mon, Mar 14, 2022 at 8:33 PM Suwan Kim
<suwan.kim027 at gmail.com> wrote:
> > > > >
> > > > > > On Mon, Mar 14, 2022 at 02:14:53PM +0800, Jason
Wang wrote:
> > > > > > > ? 2022/3/11 ??11:28, Suwan Kim ??:
> > > > > > > > diff --git
a/include/uapi/linux/virtio_blk.h
> > > > > > b/include/uapi/linux/virtio_blk.h
> > > > > > > > index d888f013d9ff..3fcaf937afe1 100644
> > > > > > > > --- a/include/uapi/linux/virtio_blk.h
> > > > > > > > +++ b/include/uapi/linux/virtio_blk.h
> > > > > > > > @@ -119,8 +119,9 @@ struct
virtio_blk_config {
> > > > > > > > * deallocation of one or more of
the sectors.
> > > > > > > > */
> > > > > > > > __u8 write_zeroes_may_unmap;
> > > > > > > > + __u8 unused1;
> > > > > > > > - __u8 unused1[3];
> > > > > > > > + __virtio16 num_poll_queues;
> > > > > > > > } __attribute__((packed));
> > > > > > >
> > > > > > > This looks like a implementation specific
(virtio-blk-pci) optimization,
> > > > > > how
> > > > > > > about other implementation like
vhost-user-blk?
> > > > > > I didn?t consider vhost-user-blk yet. But does
vhost-user-blk also
> > > > > > use vritio_blk_config as kernel-qemu interface?
> > > > > >
> > > > > Yes, but see below.
> > > > >
> > > > >
> > > > > > Does vhost-user-blk need additional modification
to support polling
> > > > > > in kernel side?
> > > > > >
> > > > >
> > > > > No, but the issue is, things like polling looks not a
good candidate for
> > > > > the attributes belonging to the device but the driver.
So I have more
> > > > > questions:
> > > > >
> > > > > 1) what does it really mean for hardware virtio block
devices?
> > > > > 2) Does driver polling help for the qemu implementation
without polling?
> > > > > 3) Using blk_config means we can only get the benefit
from the new device
> > > > 1) what does it really mean for hardware virtio block
devices?
> > > > 3) Using blk_config means we can only get the benefit from
the new device
> > > >
> > > > This patch adds dedicated HW queue for polling purpose to
virtio
> > > > block device.
> > > >
> > > > So I think it can be a new hw feature. And it can be a new
device
> > > > that supports hw poll queue.
> > > One possible issue is that the "poll" looks more like a
> > > software/driver concept other than the device/hardware.
> > >
> > > > BTW, I have other idea about it.
> > > >
> > > > How about adding ?num-poll-queues" property as a driver
parameter
> > > > like NVMe driver, not to QEMU virtio-blk-pci property?
> > > It should be fine, but we need to listen to others.
> > To Michael, Stefan, Max
> >
> > How about using driver parameter instead of virio_blk_config?
>
> Yes. I mentioned that virtio_blk_config shouldn't change.
There are pros and cons to module parameters and configuration space
fields. Both are valid but feel free to drop the configuration space
field.
On note about module parameters: if the guest has a virtio-blk device
with a root file system and another one for benchmarking then it's
unfortunate that the number of poll queues module parameter affects both
devices.
Is there a way to set a module parameter for a specific device instance?
I guess you'd need something else like a sysfs attribute instead but the
implementation is more complex.
I'm fine with a module parameter.
Stefan
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 488 bytes
Desc: not available
URL:
<http://lists.linuxfoundation.org/pipermail/virtualization/attachments/20220316/3d06691f/attachment.sig>