Re: [PATCH] virtio-blk: support polling I/O

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, Mar 17, 2022 at 10:20:05AM +0800, Jason Wang wrote:
> On Wed, Mar 16, 2022 at 11:33 PM Suwan Kim <suwan.kim027@xxxxxxxxx> 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@xxxxxxxxx> 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@xxxxxxxxx> 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?
> 
> I agree.
> 
> Thanks
 
Okay. Then I will send v2 with .queue_rqs patch

Regards,
Suwan Kim



[Index of Archives]     [Linux RAID]     [Linux SCSI]     [Linux ATA RAID]     [IDE]     [Linux Wireless]     [Linux Kernel]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Device Mapper]

  Powered by Linux