From mboxrd@z Thu Jan 1 00:00:00 1970 From: Paolo Bonzini Subject: Re: [RFC PATCH 2/2] block: virtio-blk: support multi virt queues per virtio-blk device Date: Tue, 17 Jun 2014 18:34:13 +0200 Message-ID: <53A06E05.9060708@redhat.com> References: <1402680562-8328-1-git-send-email-ming.lei@canonical.com> <1402680562-8328-3-git-send-email-ming.lei@canonical.com> <53A06475.7000308@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii"; Format="flowed" Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: virtualization-bounces@lists.linux-foundation.org Errors-To: virtualization-bounces@lists.linux-foundation.org To: Ming Lei Cc: Jens Axboe , "Michael S. Tsirkin" , linux-kernel , Linux Virtualization , Stefan Hajnoczi , linux-api@vger.kernel.org List-Id: virtualization@lists.linuxfoundation.org Il 17/06/2014 18:00, Ming Lei ha scritto: >> > If you want to do queue steering based on the guest VCPU number, the number >> > of queues must be = to the number of VCPUs shouldn't it? >> > >> > I tried using a divisor of the number of VCPUs, but couldn't get the block >> > layer to deliver interrupts to the right VCPU. > For blk-mq's hardware queue, that won't be necessary to equal to > VCPUs number, and irq affinity per hw queue can be simply set as > blk_mq_hw_ctx->cpumask. Yes, but on top of that you want to have each request processed exactly by the CPU that sent it. Unless the cpumasks are singletons, most of the benefit went away in my virtio-scsi tests. Perhaps blk-mq is smarter. Can you try benchmarking a 16 VCPU guest with 8 and 16 queues? Paolo