This looks pretty good!
I rather like the (lack of) locking in I/O completion (around the req
count vs. target/queue binding). It is unfortunate that you need to
hold the per-target lock in virtscsi_pick_vq() though; have any idea
how much that lock hurts?
Just two minor comments:
(in struct virtio_scsi_target_data):
+ /* This spinlock never help at the same time as vq_lock. */
^^^^ held?
(in struct virtio_scsi):
+ /* Does the affinity hint is set for virtqueues? */
Could you rephrase that, please?
Tested on qemu and w/ Google Compute Engine's virtio-scsi device.
Reviewed-and-tested-by: Venkatesh Srinivas <venkateshs@xxxxxxxxxx>
Thanks,
-- vs;
_______________________________________________
Virtualization mailing list
Virtualization@xxxxxxxxxxxxxxxxxxxxxxxxxx
https://lists.linuxfoundation.org/mailman/listinfo/virtualization