From mboxrd@z Thu Jan 1 00:00:00 1970 From: Christoph Hellwig Subject: Re: [Qemu-devel] Re: [PATCH] virtio-blk: add SGI_IO passthru support Date: Thu, 30 Apr 2009 22:13:50 +0200 Message-ID: <20090430201350.GA30619@lst.de> References: <20090427082606.GA32604@lst.de> <200904291211.20374.paul@codesourcery.com> <20090429112130.GA11241@lst.de> <200904291237.21558.paul@codesourcery.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Cc: Christoph Hellwig , qemu-devel@nongnu.org, Anthony Liguori , kvm@vger.kernel.org, Rusty Russell , Christian Borntraeger , Hannes Reinecke To: Paul Brook Return-path: Received: from verein.lst.de ([213.95.11.210]:36829 "EHLO verein.lst.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751056AbZD3UOG (ORCPT ); Thu, 30 Apr 2009 16:14:06 -0400 Content-Disposition: inline In-Reply-To: <200904291237.21558.paul@codesourcery.com> Sender: kvm-owner@vger.kernel.org List-ID: 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. Now it might be possible to get that latency down to a level where we can ignore it but when doing all this additional work there always will be additional overhead. > > Paul ---end quoted text---