All of lore.kernel.org
 help / color / mirror / Atom feed
From: Paul Brook <paul@codesourcery.com>
To: Christoph Hellwig <hch@lst.de>
Cc: qemu-devel@nongnu.org, Anthony Liguori <anthony@codemonkey.ws>,
	kvm@vger.kernel.org, Rusty Russell <rusty@rustcorp.com.au>,
	Christian Borntraeger <borntraeger@de.ibm.com>,
	Hannes Reinecke <hare@suse.de>
Subject: Re: [Qemu-devel] Re: [PATCH] virtio-blk: add SGI_IO passthru support
Date: Thu, 30 Apr 2009 22:49:19 +0100	[thread overview]
Message-ID: <200904302249.20940.paul@codesourcery.com> (raw)
In-Reply-To: <20090430201350.GA30619@lst.de>

On Thursday 30 April 2009, Christoph Hellwig wrote:
> On Wed, Apr 29, 2009 at 12:37:20PM +0100, Paul Brook wrote:
> > How exactly does it introduce additional latency? A scsi command block is
> > hardly large or complicated. Are you suggesting that a 16/32byte scsi
> > command takes significantly longer to process than a 16byte virtio
> > command descriptor? I'd expect any extra processing to be a small
> > fraction of the host syscall latency, let alone the latency of the
> > physical host adapter. It probably even fits on the same CPU cache line.
>
> Encoding the scsi CDB is additional work but I would be surprised it it
> is mesurable.  Just using scsi cdbs would be simple enough, the bigger
> issue is emulating a full blown scsi bus because then you need to do all
> kinds queueing decisions at target levels etc and drag in a complicated
> scsi stack and not just a simple block driver in the guest.  And at
> least on current linux kernels that does introduce mesurable latency.

Only if you emulate a crufty old parallel scsi bus, and that's just silly.
One of the nice things about scsi is it separates the command set from the 
transport layer. cf. USB mass-storage, SAS, SBP2(firewire), and probably 
several others I've forgotten.

Paul

WARNING: multiple messages have this Message-ID (diff)
From: Paul Brook <paul@codesourcery.com>
To: Christoph Hellwig <hch@lst.de>
Cc: kvm@vger.kernel.org, Rusty Russell <rusty@rustcorp.com.au>,
	qemu-devel@nongnu.org,
	Christian Borntraeger <borntraeger@de.ibm.com>,
	Hannes Reinecke <hare@suse.de>
Subject: Re: [Qemu-devel] Re: [PATCH] virtio-blk: add SGI_IO passthru support
Date: Thu, 30 Apr 2009 22:49:19 +0100	[thread overview]
Message-ID: <200904302249.20940.paul@codesourcery.com> (raw)
In-Reply-To: <20090430201350.GA30619@lst.de>

On Thursday 30 April 2009, Christoph Hellwig wrote:
> On Wed, Apr 29, 2009 at 12:37:20PM +0100, Paul Brook wrote:
> > How exactly does it introduce additional latency? A scsi command block is
> > hardly large or complicated. Are you suggesting that a 16/32byte scsi
> > command takes significantly longer to process than a 16byte virtio
> > command descriptor? I'd expect any extra processing to be a small
> > fraction of the host syscall latency, let alone the latency of the
> > physical host adapter. It probably even fits on the same CPU cache line.
>
> Encoding the scsi CDB is additional work but I would be surprised it it
> is mesurable.  Just using scsi cdbs would be simple enough, the bigger
> issue is emulating a full blown scsi bus because then you need to do all
> kinds queueing decisions at target levels etc and drag in a complicated
> scsi stack and not just a simple block driver in the guest.  And at
> least on current linux kernels that does introduce mesurable latency.

Only if you emulate a crufty old parallel scsi bus, and that's just silly.
One of the nice things about scsi is it separates the command set from the 
transport layer. cf. USB mass-storage, SAS, SBP2(firewire), and probably 
several others I've forgotten.

Paul

  parent reply	other threads:[~2009-04-30 21:49 UTC|newest]

Thread overview: 50+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-04-27  8:26 [PATCH] virtio-blk: add SGI_IO passthru support Christoph Hellwig
2009-04-27  8:29 ` Christoph Hellwig
2009-04-27  8:29   ` [Qemu-devel] " Christoph Hellwig
2009-04-27  9:15   ` Avi Kivity
2009-04-27  9:15     ` [Qemu-devel] " Avi Kivity
2009-04-28  9:47     ` Christoph Hellwig
2009-04-28  9:47       ` Christoph Hellwig
2009-04-27 14:36   ` Anthony Liguori
2009-04-27 14:36     ` [Qemu-devel] " Anthony Liguori
2009-04-28  9:51     ` Christoph Hellwig
2009-04-28  9:51       ` Christoph Hellwig
2009-04-28 16:37       ` Anthony Liguori
2009-04-28 16:52         ` Christian Borntraeger
2009-04-28 16:52           ` Christian Borntraeger
2009-04-29 10:48         ` Christoph Hellwig
2009-04-29 10:48           ` Christoph Hellwig
2009-04-29 11:11           ` Paul Brook
2009-04-29 11:11             ` Paul Brook
2009-04-29 11:19             ` Christian Borntraeger
2009-04-29 11:19               ` Christian Borntraeger
2009-04-29 11:29               ` Paul Brook
2009-04-29 11:29                 ` Paul Brook
2009-04-29 11:21             ` Christoph Hellwig
2009-04-29 11:21               ` Christoph Hellwig
2009-04-29 11:37               ` Paul Brook
2009-04-29 11:37                 ` Paul Brook
2009-04-30 20:13                 ` Christoph Hellwig
2009-04-30 20:13                   ` Christoph Hellwig
2009-04-30 20:55                   ` Nicholas A. Bellinger
2009-04-30 20:55                     ` Nicholas A. Bellinger
2009-04-30 21:49                   ` Paul Brook [this message]
2009-04-30 21:49                     ` Paul Brook
2009-04-30 21:56                     ` Javier Guerra
2009-04-30 21:56                       ` Javier Guerra
2009-05-01  7:24                     ` Christoph Hellwig
2009-05-01  7:24                       ` Christoph Hellwig
2009-05-01 11:08                       ` Jamie Lokier
2009-05-01 11:08                         ` Jamie Lokier
2009-05-01 14:28                         ` Christoph Hellwig
2009-05-01 14:28                           ` Christoph Hellwig
2009-05-05  5:21                   ` Rusty Russell
2009-05-05  5:21                     ` Rusty Russell
2009-04-28 19:09       ` Christian Borntraeger
2009-04-28 19:09         ` Christian Borntraeger
2009-04-29 10:50         ` Christoph Hellwig
2009-04-29 10:50           ` Christoph Hellwig
2009-04-29 11:07           ` Christian Borntraeger
2009-04-29 11:07             ` Christian Borntraeger
2009-04-28  9:57   ` [PATCH 2/2] virtio-blk: add SG_IO " Christoph Hellwig
2009-04-28  9:57     ` [Qemu-devel] " 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=200904302249.20940.paul@codesourcery.com \
    --to=paul@codesourcery.com \
    --cc=anthony@codemonkey.ws \
    --cc=borntraeger@de.ibm.com \
    --cc=hare@suse.de \
    --cc=hch@lst.de \
    --cc=kvm@vger.kernel.org \
    --cc=qemu-devel@nongnu.org \
    --cc=rusty@rustcorp.com.au \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.