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

From: Paolo Bonzini
Date: Tue Sep 04 2012 - 07:19:07 EST


Il 04/09/2012 13:09, Michael S. Tsirkin ha scritto:
>> > queuecommand on CPU #0 queuecommand #2 on CPU #1
>> > --------------------------------------------------------------
>> > atomic_inc_return(...) == 1
>> > atomic_inc_return(...) == 2
>> > virtscsi_queuecommand to queue #1
>> > tgt->req_vq = queue #0
>> > virtscsi_queuecommand to queue #0
>> >
>> > then two requests are issued to different queues without a quiescent
>> > point in the middle.
> What happens then? Does this break correctness?

Yes, requests to the same target should be processed in FIFO order, or
you have things like a flush issued before the write it was supposed to
flush. This is why I can only change the queue when there is no request
pending.

Paolo
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/