On Mon, Mar 14, 2022 at 09:33:08PM +0900, Suwan Kim 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? > > Does vhost-user-blk need additional modification to support polling > in kernel side? I think QEMU's --device vhost-user-blk-pci will work with this patch series because QEMU passes the struct virtio_blk_config from the vhost-user-blk server to the guest. If a new vhost-user-blk server supports num_poll_queues then the guest will see the config field. However, the new feature bit that was discussed in another sub-thread needs to be added to hw/block/vhost-user-blk.c:user_feature_bits[] and QEMU needs to be recompiled. Stefan