public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Hannes Reinecke <hare@suse.de>
To: "Michael S. Tsirkin" <mst@redhat.com>
Cc: Paolo Bonzini <pbonzini@redhat.com>,
	Linux Virtualization <virtualization@lists.linux-foundation.org>,
	Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
	qemu-devel <qemu-devel@nongnu.org>,
	Rusty Russell <rusty@rustcorp.com.au>,
	Stefan Hajnoczi <stefanha@linux.vnet.ibm.com>,
	Christoph Hellwig <chellwig@redhat.com>,
	"kvm@vger.kernel.org" <kvm@vger.kernel.org>
Subject: Re: virtio scsi host draft specification, v3
Date: Tue, 14 Jun 2011 17:30:24 +0200	[thread overview]
Message-ID: <4DF77E90.4080409@suse.de> (raw)
In-Reply-To: <20110612075140.GB11941@redhat.com>

On 06/12/2011 09:51 AM, Michael S. Tsirkin wrote:
> On Fri, Jun 10, 2011 at 02:55:35PM +0200, Hannes Reinecke wrote:
>>> Device operation: request queues
>>> --------------------------------
>>>
>>> The driver queues requests to an arbitrary request queue, and they are
>>> used by the device on that same queue.
>>>
>> What about request ordering?
>> If requests are placed on arbitrary queues you'll inevitably run on
>> locking issues to ensure strict request ordering.
>> I would add here:
>>
>> 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?
>
Which is exactly the problem I was referring to.
When using more than one channel the request ordering
_as seen by the initiator_ has to be preserved.

This is quite hard to do from a device's perspective;
it might be able to process the requests _in the order_ they've 
arrived, but it won't be able to figure out the latency of each 
request, ie how it'll take the request to be delivered to the initiator.

What we need to do here is to ensure that virtio will deliver
the requests in-order across all virtqueues. Not sure whether it 
does this already.

Cheers,

Hannes
-- 
Dr. Hannes Reinecke		      zSeries & Storage
hare@suse.de			      +49 911 74053 688
SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg
GF: J. Hawn, J. Guild, F. Imendörffer, HRB 16746 (AG Nürnberg)

  reply	other threads:[~2011-06-14 15:30 UTC|newest]

Thread overview: 30+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-06-07 13:43 virtio scsi host draft specification, v3 Paolo Bonzini
2011-06-08 23:28 ` Rusty Russell
2011-06-09  6:59   ` Paolo Bonzini
2011-06-10 11:33     ` Rusty Russell
2011-06-10 12:14       ` Stefan Hajnoczi
2011-06-10 12:22         ` Paolo Bonzini
2011-06-10 12:55 ` Hannes Reinecke
2011-06-10 14:35   ` Paolo Bonzini
2011-06-14  8:39     ` Hannes Reinecke
2011-06-14 15:53       ` Stefan Hajnoczi
2011-06-29  8:33       ` Paolo Bonzini
2011-06-29  9:39         ` Stefan Hajnoczi
2011-06-29 10:07           ` Christoph Hellwig
2011-06-29 10:23             ` Hannes Reinecke
2011-06-29 10:27               ` Christoph Hellwig
2011-07-01  6:41           ` Paolo Bonzini
2011-07-01  7:14             ` Hannes Reinecke
2011-07-01  8:35               ` Paolo Bonzini
2011-07-04 13:38                 ` Hai Dong,Li
2011-07-04 14:22                   ` Stefan Hajnoczi
2011-06-12  7:51   ` Michael S. Tsirkin
2011-06-14 15:30     ` Hannes Reinecke [this message]
2011-06-29 10:00       ` Christoph Hellwig
2011-06-29  8:23     ` Paolo Bonzini
2011-06-29  8:46       ` Michael S. Tsirkin
2011-06-29 10:03       ` Christoph Hellwig
2011-06-29 10:06         ` Paolo Bonzini
2011-06-29 10:31           ` Michael S. Tsirkin
2011-06-29 10:35             ` Paolo Bonzini
2011-06-29 10:01     ` Christoph Hellwig

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4DF77E90.4080409@suse.de \
    --to=hare@suse.de \
    --cc=chellwig@redhat.com \
    --cc=kvm@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mst@redhat.com \
    --cc=pbonzini@redhat.com \
    --cc=qemu-devel@nongnu.org \
    --cc=rusty@rustcorp.com.au \
    --cc=stefanha@linux.vnet.ibm.com \
    --cc=virtualization@lists.linux-foundation.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox