Re: [RFC PATCH 2/2] block: virtio-blk: support multi virt queues per virtio-blk device

From: Paolo Bonzini
Date: Tue Jun 17 2014 - 12:34:31 EST


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
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/