On 2016年11月25日 12:43, Michael S. Tsirkin wrote:
On Fri, Nov 25, 2016 at 12:37:26PM +0800, Jason Wang wrote:
>We use single queue even if multiqueue is enabled and let admin to
>enable it through ethtool later. This is used to avoid possible
>regression (small packet TCP stream transmission). But looks like an
>overkill since:
>
>- single queue user can disable multiqueue when launching qemu
>- brings extra troubles for the management since it needs extra admin
>   tool in guest to enable multiqueue
>- multiqueue performs much better than single queue in most of the
>   cases
>
>So this patch enables multiqueue by default: if #queues is less than or
>equal to #vcpu, enable as much as queue pairs; if #queues is greater
>than #vcpu, enable #vcpu queue pairs.
>
>Cc: Hannes Frederic Sowa<han...@redhat.com>
>Cc: Michael S. Tsirkin<m...@redhat.com>
>Cc: Neil Horman<nhor...@redhat.com>
>Cc: Jeremy Eder<je...@redhat.com>
>Cc: Marko Myllynen<mylly...@redhat.com>
>Cc: Maxime Coquelin<maxime.coque...@redhat.com>
>Signed-off-by: Jason Wang<jasow...@redhat.com>
OK at some level but all uses of num_online_cpus()
like this are racy versus hotplug.
I know we already have this bug but shouldn't we fix it
before we add more?

Not sure I get the point, do you mean adding get/put_online_cpus()? But is it a real bug? We don't do any cpu specific things so I believe it's not necessary (unless we want to keep #queues == #vcpus magically but I don't think so). Admin need to re-configure #queues after cpu hotplug if they wish.

Thanks

Reply via email to