From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:49797) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XChLL-0004L8-Q1 for qemu-devel@nongnu.org; Wed, 30 Jul 2014 23:47:59 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1XChLE-0003Z1-Ad for qemu-devel@nongnu.org; Wed, 30 Jul 2014 23:47:51 -0400 Received: from youngberry.canonical.com ([91.189.89.112]:41670) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XChLE-0003Yt-43 for qemu-devel@nongnu.org; Wed, 30 Jul 2014 23:47:44 -0400 Received: from mail-vc0-f172.google.com ([209.85.220.172]) by youngberry.canonical.com with esmtpsa (TLS1.0:RSA_ARCFOUR_SHA1:16) (Exim 4.71) (envelope-from ) id 1XChLD-00086D-BT for qemu-devel@nongnu.org; Thu, 31 Jul 2014 03:47:43 +0000 Received: by mail-vc0-f172.google.com with SMTP id im17so3389142vcb.3 for ; Wed, 30 Jul 2014 20:47:42 -0700 (PDT) MIME-Version: 1.0 In-Reply-To: <53D90E4C.3090105@redhat.com> References: <1406720388-18671-1-git-send-email-ming.lei@canonical.com> <1406720388-18671-15-git-send-email-ming.lei@canonical.com> <53D8FAD7.1070509@redhat.com> <20140730151232.GC26313@redhat.com> <53D90E4C.3090105@redhat.com> Date: Thu, 31 Jul 2014 11:47:42 +0800 Message-ID: From: Ming Lei Content-Type: text/plain; charset=UTF-8 Subject: Re: [Qemu-devel] [PATCH 14/15] hw/block/virtio-blk: create num_queues vqs if dataplane is enabled List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Paolo Bonzini Cc: Kevin Wolf , Peter Maydell , Fam Zheng , "Michael S. Tsirkin" , qemu-devel , Stefan Hajnoczi On Wed, Jul 30, 2014 at 11:25 PM, Paolo Bonzini wrote: > Il 30/07/2014 17:12, Michael S. Tsirkin ha scritto: >>> > >>> > Dataplane must not be a change to the guest ABI. If you implement this >>> > feature you have to implement it for both dataplane and non-dataplne. >>> > IMO, no matter if the feature is set or not, both old and new VM can support it well. Per virtio spec, only the feature is set, the VM can be allowed to access the 'num_queues' field, and I didn't see any problem from VM's view point. So could you explain why both dataplane and non-dataplane have to support the feature. I am doing so because there isn't performance advantage to take mq for non-dataplane. >>> > Paolo >> Actually, I think different backends at runtime should be allowed to >> change guest visible ABI. For example if you give qemu a read only >> backend this is guest visible right? > > Dataplane is not meant to be a different backend, it's just moving stuff > out to a separate thread. It's only due to QEMU limitation that it > doesn't share the vring code (and these patches include a lot of steps > backwards where dataplane becomes != non-dataplane). There won't lots of backwards steps, just the bypass co patch, which is just bypassing co in case of being unnecessary for raw image case, but it is still one code path. As I mentioned, all these steps are just for the performance regression from the commit 580b6b2aa2(dataplane: use the QEMU block layer for I/O). Thanks,