[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20220207085311.3f6d0d19@kicinski-fedora-pc1c0hjn.dhcp.thefacebook.com>
Date: Mon, 7 Feb 2022 08:53:11 -0800
From: Jakub Kicinski <kuba@...nel.org>
To: Íñigo Huguet <ihuguet@...hat.com>
Cc: Edward Cree <ecree.xilinx@...il.com>, habetsm.xilinx@...il.com,
"David S. Miller" <davem@...emloft.net>, netdev@...r.kernel.org
Subject: Re: [PATCH net-next 1/2] sfc: default config to 1 channel/core in
local NUMA node only
On Mon, 7 Feb 2022 16:03:01 +0100 Íñigo Huguet wrote:
> On Fri, Jan 28, 2022 at 11:27 PM Jakub Kicinski <kuba@...nel.org> wrote:
> > On Fri, 28 Jan 2022 16:19:21 +0100 Íñigo Huguet wrote:
> > > Handling channels from CPUs in different NUMA node can penalize
> > > performance, so better configure only one channel per core in the same
> > > NUMA node than the NIC, and not per each core in the system.
> > >
> > > Fallback to all other online cores if there are not online CPUs in local
> > > NUMA node.
> >
> > I think we should make netif_get_num_default_rss_queues() do a similar
> > thing. Instead of min(8, num_online_cpus()) we should default to
> > num_cores / 2 (that's physical cores, not threads). From what I've seen
> > this appears to strike a good balance between wasting resources on
> > pointless queues per hyperthread, and scaling up for CPUs which have
> > many wimpy cores.
> >
>
> I have a few busy weeks coming, but I can do this after that.
>
> With num_cores / 2 you divide by 2 because you're assuming 2 NUMA
> nodes, or just the plain number 2?
Plain number 2, it's just a heuristic which seems to work okay.
One queue per core (IOW without the /2) is still way too many queues
for normal DC workloads.
Powered by blists - more mailing lists