[dpdk-dev] [PATCH v5] build: optional NUMA and cpu counts detection

Juraj Linkeš juraj.linkes at pantheon.tech
Tue Aug 31 09:54:16 CEST 2021



> -----Original Message-----
> From: Piotr Kubaj <pkubaj at anongoth.pl>
> Sent: Tuesday, August 31, 2021 2:55 AM
> To: Juraj Linkeš <juraj.linkes at pantheon.tech>
> Cc: David Christensen <drc at linux.vnet.ibm.com>; thomas at monjalon.net;
> david.marchand at redhat.com; bruce.richardson at intel.com;
> Honnappa.Nagarahalli at arm.com; Ruifeng.Wang at arm.com;
> ferruh.yigit at intel.com; jerinjacobk at gmail.com; jerinj at marvell.com;
> stephen at networkplumber.org; dev at dpdk.org
> Subject: Re: [PATCH v5] build: optional NUMA and cpu counts detection
> 
> Hi,
> 
> sorry for the late answer.

Thanks for the answer anyway, better late than never.

> 
> I suppose you mean sysctl command, not systemctl.
> 

That's right. What does lscpu say? Are the NUMA nodes non-contiguous like this?:
NUMA node0 CPU(s):   0-63
NUMA node8 CPU(s):   64-127
NUMA node252 CPU(s):
NUMA node253 CPU(s):
NUMA node254 CPU(s):
NUMA node255 CPU(s):

> On dual CPU systems, it returns 2. On single CPU ones, 1.

I asked the previous question so that we know the actual numa node number of the second CPU. If it's 8, then sysctl does some renumeration and we can't use it.

Bruce, maybe we should just parse lscpu output? That introduces a dependency, but that may not be such a big deal as lscpu is pretty common.

> 
> On 21-08-03 10:21:50, Juraj Linkeš wrote:
> >
> >
> > > -----Original Message-----
> > > From: David Christensen <drc at linux.vnet.ibm.com>
> > > Sent: Tuesday, August 3, 2021 1:29 AM
> > > To: Juraj Linkeš <juraj.linkes at pantheon.tech>; thomas at monjalon.net;
> > > david.marchand at redhat.com; bruce.richardson at intel.com;
> > > Honnappa.Nagarahalli at arm.com; Ruifeng.Wang at arm.com;
> > > ferruh.yigit at intel.com; jerinjacobk at gmail.com; jerinj at marvell.com;
> > > stephen at networkplumber.org; Piotr Kubaj <pkubaj at FreeBSD.org>
> > > Cc: dev at dpdk.org
> > > Subject: Re: [PATCH v5] build: optional NUMA and cpu counts
> > > detection
> > >
> > >
> > >
> > > On 8/2/21 5:44 AM, Juraj Linkeš wrote:
> > > >> +if os.name == 'posix':
> > > >> +    if os.path.isdir('/sys/devices/system/node'):
> > > >> +        numa_nodes = glob.glob('/sys/devices/system/node/node*')
> > > >> +        numa_nodes.sort()
> > > >> +        print(int(os.path.basename(numa_nodes[-1])[4:]) + 1)
> > > >> +    else:
> > > >> +        subprocess.run(['sysctl', '-n', 'vm.ndomains'],
> > > >> +check=False)
> > > >> +
> > > >
> > > > Bruce, David, Thomas,
> > > >
> > > > Is DPDK actually supported on Power9 FreeBSD? Is anyone using this
> > > combination? How can we address the open question of what exactly
> > > does sysctl -n vm.ndomains return on a Power9 FreeBSD system? Or
> > > should we just leave it as is? Or maybe add 1 to the output (as we do in other
> cases)?
> > >
> > > Not supported within IBM, but you can buy OpenPOWER boxes from 3rd
> > > parties such as Raptor Computing Systems so there may be customers
> > > using DPDK on POWER with FreeBSD that I don't track.  Adding Piotr
> > > Kubaj who has commented on POWER/FreeBSD issues in this past.
> > >
> > > Dave
> >
> > Thanks, David.
> >
> > Piotr, to provide more context, we're trying to figure out what the highest
> NUMA node on a system is.
> > On P9 systems, here's how NUMA nodes look like in Linux:
> > NUMA node0 CPU(s):   0-63
> > NUMA node8 CPU(s):   64-127
> > NUMA node252 CPU(s):
> > NUMA node253 CPU(s):
> > NUMA node254 CPU(s):
> > NUMA node255 CPU(s):
> > The highest NUMA with CPUs is node8.
> >
> > We're trying to get the highest NUMA with CPUs on P9 FreeBSD systems, but
> we don't know whether FreeBSD NUMA layout looks the same (does FreeBSD
> report non-contiguous NUMA nodes as Linxu above, or does it renumerate) a
> what does "systemctl -n vm.ndomains" return. Could you check these for us?


More information about the dev mailing list