Il 06/08/2014 07:34, Fam Zheng ha scritto: > Hi all, > > This series adds "iothread" property to virtio-scsi in a way just similar to > virtio-blk, and turns all scsi devices to run on top of it. > > Example: > > -object iothread,id=iothread-1 \ > -device virtio-scsi-pci,id=virtio-scsi-bus-0,iothread=iothread-1 \ > -drive file=guest.img,id=scsi-disk-1,if=none,cache=none,aio=native \ > -device scsi-disk,lun=1,drive=scsi-disk-1,id=scsi-disk-1 > > It uses irqfd, ioeventfd and vring in a way just like virtio-blk does now. > > Please review the general approach and see if major points are missed in terms > of thread safety and completeness of the moved things from original context to > iothread context. > > Note that the used vring is not function complete compared to virtqueue > implementation, because of its lacking of MMIO handling. So this is just an > RFC. > > Migration hasn't been looked into yet, either. Assigning multiple iothreads > is > supposed to be worked on top of this as well, but it's not thoroughly planned > yet. > > Thanks, > Fam > > > Fam Zheng (10): > virtio: Compile vring code unconditionally > virtio-scsi: Split virtio_scsi_handle_cmd_req from > virtio_scsi_handle_cmd > virtio-scsi: Split virtio_scsi_handle_ctrl_req from > virtio_scsi_handle_ctrl > virtio-scsi: Add VirtIOSCSIVring in VirtIOSCSIReq > virtio-scsi: Make virtio_scsi_init_req public > virtio-scsi: Make virtio_scsi_free_req public > virtio-scsi: Make virtio_scsi_push_event public > virtio-scsi: Add 'iothread' property to virtio-scsi-pci > virtio-scsi-dataplane: Code to run virtio-scsi on iothread > virtio-scsi: Hook up with dataplane > > hw/scsi/Makefile.objs | 2 +- > hw/scsi/virtio-scsi-dataplane.c | 219 +++++++++++++++++++++++++++++++++ > hw/scsi/virtio-scsi.c | 260 > +++++++++++++++++++++++++--------------- > hw/virtio/Makefile.objs | 2 +- > hw/virtio/virtio-pci.c | 2 + > include/hw/virtio/virtio-scsi.h | 65 ++++++++++ > 6 files changed, 450 insertions(+), 100 deletions(-) > create mode 100644 hw/scsi/virtio-scsi-dataplane.c >
I'm applying the patches to scsi-next. However, please resubmit the last two with the review comments addressed. I'm only pushing them so that we don't both spend time rebasing the branch. Thanks, Paolo Thanks