From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:47317) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VnrNm-0002OV-H1 for qemu-devel@nongnu.org; Tue, 03 Dec 2013 09:55:34 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1VnrNd-00023W-M0 for qemu-devel@nongnu.org; Tue, 03 Dec 2013 09:55:26 -0500 Received: from mail-wi0-x229.google.com ([2a00:1450:400c:c05::229]:42037) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VnrNd-00023B-GA for qemu-devel@nongnu.org; Tue, 03 Dec 2013 09:55:17 -0500 Received: by mail-wi0-f169.google.com with SMTP id hn6so2142790wib.4 for ; Tue, 03 Dec 2013 06:55:16 -0800 (PST) Date: Tue, 3 Dec 2013 15:55:12 +0100 From: Stefan Hajnoczi Message-ID: <20131203145512.GH24604@stefanha-thinkpad.muc.redhat.com> References: <20131128021513.GJ2360@kernel.dk> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20131128021513.GJ2360@kernel.dk> Subject: Re: [Qemu-devel] Linux multiqueue block layer thoughts List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Jens Axboe Cc: Kevin Wolf , Paolo Bonzini , qemu-devel , Michael Roth On Wed, Nov 27, 2013 at 07:15:13PM -0700, Jens Axboe wrote: > On Wed, Nov 27 2013, Stefan Hajnoczi wrote: > > At the end of all this we'd arrive at the following architecture: > > 1. Guest virtio device has multiple queues (1 per node or vcpu). > > 2. QEMU has multiple dataplane/QContext threads that process virtqueue > > kicks, they are bound to host CPUs/nodes. > > 3. Linux kernel has multiqueue block I/O. > > I think that sounds very reasonable. Let me know if there's anything you > need help or advice with. > > > Jens: when experimenting with multiqueue virtio-blk, how far did you > > modify QEMU to eliminate global request processing state from block.c? > > I did very little scaling testing on virtio-blk, it was more a demo case > for conversion than anything else. So probably not of much use to what > you are looking for... Okay, thanks. It will be a while before the whole stack supports multiqueue but it's good to know this approach sounds reasonable. Stefan