[PATCH V7 4/5] virtio-scsi: introduce multiqueue support

2013-03-23 Thread Wanlong Gao
From: Paolo Bonzini This patch adds queue steering to virtio-scsi. When a target is sent multiple requests, we always drive them to the same queue so that FIFO processing order is kept. However, if a target was idle, we can choose a queue arbitrarily. In this case the queue is chosen according

Re: [PATCH V7 4/5] virtio-scsi: introduce multiqueue support

2013-03-25 Thread Bart Van Assche
On 03/23/13 12:28, Wanlong Gao wrote: +static struct virtio_scsi_vq *virtscsi_pick_vq(struct virtio_scsi *vscsi, + struct virtio_scsi_target_state *tgt) +{ + struct virtio_scsi_vq *vq; + unsigned long flags; + u32 queue_num; + +

Re: [PATCH V7 4/5] virtio-scsi: introduce multiqueue support

2013-03-25 Thread Paolo Bonzini
Il 25/03/2013 08:25, Bart Van Assche ha scritto: >> >> +queue_num = smp_processor_id(); >> +while (unlikely(queue_num >= vscsi->num_queues)) >> +queue_num -= vscsi->num_queues; >> + >> +tgt->req_vq = vq = &vscsi->req_vqs[queue_num]; >> +} >> + >> +spin_un