Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754698AbcK1Q2f (ORCPT ); Mon, 28 Nov 2016 11:28:35 -0500 Received: from shards.monkeyblade.net ([184.105.139.130]:60710 "EHLO shards.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754278AbcK1Q2Z (ORCPT ); Mon, 28 Nov 2016 11:28:25 -0500 Date: Mon, 28 Nov 2016 11:28:23 -0500 (EST) Message-Id: <20161128.112823.2263657283777032168.davem@davemloft.net> To: mst@redhat.com Cc: jasowang@redhat.com, virtualization@lists.linux-foundation.org, netdev@vger.kernel.org, linux-kernel@vger.kernel.org, hannes@redhat.com, nhorman@redhat.com, jeder@redhat.com, myllynen@redhat.com, maxime.coquelin@redhat.com Subject: Re: [PATCH net-next] virtio-net: enable multiqueue by default From: David Miller In-Reply-To: <20161125064201-mutt-send-email-mst@kernel.org> References: <1480048646-17536-1-git-send-email-jasowang@redhat.com> <20161125064201-mutt-send-email-mst@kernel.org> X-Mailer: Mew version 6.7 on Emacs 24.5 / Mule 6.0 (HANACHIRUSATO) Mime-Version: 1.0 Content-Type: Text/Plain; charset=us-ascii Content-Transfer-Encoding: 7bit X-Greylist: Sender succeeded SMTP AUTH, not delayed by milter-greylist-4.5.12 (shards.monkeyblade.net [149.20.54.216]); Mon, 28 Nov 2016 07:29:00 -0800 (PST) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1713 Lines: 41 From: "Michael S. Tsirkin" Date: Fri, 25 Nov 2016 06:43:08 +0200 > 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 >> Cc: Michael S. Tsirkin >> Cc: Neil Horman >> Cc: Jeremy Eder >> Cc: Marko Myllynen >> Cc: Maxime Coquelin >> Signed-off-by: Jason Wang > > 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? This is more being used like a heuristic in this scenerio, and in fact I would say one would keep the code this way even once proper hotplug handlers are installed to adjust the queued dynamically if there is a desired (which is also not necessarily the case). I really don't think this change should be held on up on this issue. So can we please make some forward progress here? Thanks.