On Wed, Jun 29, 2011 at 10:23:26AM +0200, Paolo Bonzini wrote: > On 06/12/2011 09:51 AM, Michael S. Tsirkin wrote: > >>> > >>> If a device uses more than one queue it is the responsibility of the > >>> device to ensure strict request ordering. > >Maybe I misunderstand - how can this be the responsibility of > >the device if the device does not get the information about > >the original ordering of the requests? > > > >For example, if the driver is crazy enough to put > >all write requests on one queue and all barriers > >on another one, how is the device supposed to ensure > >ordering? > > I agree here, in fact I misread Hannes's comment as "if a driver > uses more than one queue it is responsibility of the driver to > ensure strict request ordering". If you send requests to different > queues, you know that those requests are independent. I don't think > anything else is feasible in the virtio framework. > > Paolo
Like this then? If a driver uses more than one queue it is the responsibility of the driver to ensure strict request ordering: the device does not supply any guarantees about the ordering of requests between different virtqueues.