From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1Lzcdw-0004he-0u for qemu-devel@nongnu.org; Thu, 30 Apr 2009 16:14:04 -0400 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1Lzcdq-0004h4-LW for qemu-devel@nongnu.org; Thu, 30 Apr 2009 16:14:02 -0400 Received: from [199.232.76.173] (port=48226 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Lzcdq-0004h1-FE for qemu-devel@nongnu.org; Thu, 30 Apr 2009 16:13:58 -0400 Received: from verein.lst.de ([213.95.11.210]:36824) by monty-python.gnu.org with esmtps (TLS-1.0:DHE_RSA_3DES_EDE_CBC_SHA1:24) (Exim 4.60) (envelope-from ) id 1Lzcdo-00006D-P3 for qemu-devel@nongnu.org; Thu, 30 Apr 2009 16:13:57 -0400 Date: Thu, 30 Apr 2009 22:13:50 +0200 From: Christoph Hellwig Subject: Re: [Qemu-devel] Re: [PATCH] virtio-blk: add SGI_IO passthru support 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 Content-Disposition: inline In-Reply-To: <200904291237.21558.paul@codesourcery.com> List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Paul Brook Cc: kvm@vger.kernel.org, Rusty Russell , qemu-devel@nongnu.org, Christian Borntraeger , Hannes Reinecke , Christoph Hellwig 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---