* [PATCH v1] buildtools: ensure the NUMA nodes are counted correct @ 2022-08-02 7:54 Chaoyong He 2022-08-29 10:41 ` Thomas Monjalon 2022-09-22 8:06 ` [PATCH v2] " Niklas Söderlund 0 siblings, 2 replies; 10+ messages in thread From: Chaoyong He @ 2022-08-02 7:54 UTC (permalink / raw) To: dev; +Cc: oss-drivers, niklas.soderlund, Peng Zhang, stable, Chaoyong He From: Peng Zhang <peng.zhang@corigine.com> Sorting a list of strings with the format "node[0-9]+" in order to find the largest integer by looking at the last item after the sort breaks. But if there are more then 10 items as a string sort will sort "node10" before "node2", it will get the error NUMA nodes. Solve this by sorting the list based on the integer part of the string. Fixes: 8ef09fdc506b ("build: add optional NUMA and CPU counts detection") Cc: stable@dpdk.org Signed-off-by: Peng Zhang <peng.zhang@corigine.com> Signed-off-by: Chaoyong He <chaoyong.he@corigine.com> Reviewed-by: Niklas Söderlund <niklas.soderlund@corigine.com> --- buildtools/get-numa-count.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/buildtools/get-numa-count.py b/buildtools/get-numa-count.py index 1b7787787f..2f243886cd 100644 --- a/buildtools/get-numa-count.py +++ b/buildtools/get-numa-count.py @@ -6,11 +6,12 @@ import glob import os import subprocess +import re if os.name == 'posix': if os.path.isdir('/sys/devices/system/node'): numa_nodes = glob.glob('/sys/devices/system/node/node*') - numa_nodes.sort() + numa_nodes.sort(key=lambda l: int(re.findall('\d+', l)[0])) print(int(os.path.basename(numa_nodes[-1])[4:]) + 1) else: subprocess.run(['sysctl', '-n', 'vm.ndomains'], check=False) -- 2.27.0 ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH v1] buildtools: ensure the NUMA nodes are counted correct 2022-08-02 7:54 [PATCH v1] buildtools: ensure the NUMA nodes are counted correct Chaoyong He @ 2022-08-29 10:41 ` Thomas Monjalon [not found] ` <MWHPR1301MB1997EA5A5CF4A320A13493E4EF769@MWHPR1301MB1997.namprd13.prod.outlook.com> 2022-09-22 8:06 ` [PATCH v2] " Niklas Söderlund 1 sibling, 1 reply; 10+ messages in thread From: Thomas Monjalon @ 2022-08-29 10:41 UTC (permalink / raw) To: Chaoyong He; +Cc: dev, oss-drivers, niklas.soderlund, Peng Zhang, stable 02/08/2022 09:54, Chaoyong He: > From: Peng Zhang <peng.zhang@corigine.com> > > Sorting a list of strings with the format "node[0-9]+" in order to find the > largest integer by looking at the last item after the sort breaks. But if > there are more then 10 items as a string sort will sort "node10" before > "node2", it will get the error NUMA nodes. What is the error you are seeing? ^ permalink raw reply [flat|nested] 10+ messages in thread
[parent not found: <MWHPR1301MB1997EA5A5CF4A320A13493E4EF769@MWHPR1301MB1997.namprd13.prod.outlook.com>]
[parent not found: <3155813.0WQXIW03uk@thomas>]
[parent not found: <MWHPR1301MB1997910EB07FA86DE33053C2EF799@MWHPR1301MB1997.namprd13.prod.outlook.com>]
* FW: [PATCH v1] buildtools: ensure the NUMA nodes are counted correct [not found] ` <MWHPR1301MB1997910EB07FA86DE33053C2EF799@MWHPR1301MB1997.namprd13.prod.outlook.com> @ 2022-08-31 8:47 ` Nole Zhang 2022-09-20 10:11 ` Niklas Soderlund 0 siblings, 1 reply; 10+ messages in thread From: Nole Zhang @ 2022-08-31 8:47 UTC (permalink / raw) To: Thomas Monjalon; +Cc: dev, Chaoyong He, Niklas Soderlund, oss-drivers > -----Original Message----- > From: Thomas Monjalon <thomas@monjalon.net> > Sent: 2022年8月29日 21:15 > To: Nole Zhang <peng.zhang@corigine.com>; Chaoyong He > <chaoyong.he@corigine.com> > Subject: Re: [PATCH v1] buildtools: ensure the NUMA nodes are counted > correct > > 29/08/2022 13:17, Nole Zhang: > > From: Thomas Monjalon <thomas@monjalon.net> > > > 02/08/2022 09:54, Chaoyong He: > > > > From: Peng Zhang <peng.zhang@corigine.com> > > > > > > > > Sorting a list of strings with the format "node[0-9]+" in order > > > > to find the largest integer by looking at the last item after > > > > the sort breaks. But if there are more then 10 items as a string > > > > sort will sort "node10" before "node2", it will get the error NUMA nodes. > > > > > > What is the error you are seeing? > > > > > > > > We get the error NUMA, in this example, we get the NUMA nodes is 10, > > But at fact, it has 11 NUMA. > > Please give more details, where do you see this error? > We should know how to reproduce and check we have the same issue. > Thanks > > Please reply with a detailed answer on the mailing list. > In the China Phytium S2500 CPU + INSPUR server, it has 16 NUMA. The details are as follows: ~#: lscpu Architecture: aarch64 CPU op-mode(s): 64-bit Byte Order: Little Endian CPU(s): 128 On-line CPU(s) list: 0-127 Thread(s) per core: 1 Core(s) per socket: 64 Socket(s): 2 NUMA node(s): 16 Vendor ID: 0x70 Model: 3 Model name: S2500 Stepping: 0x1 BogoMIPS: 100.00 L1d cache: 4 MiB L1i cache: 4 MiB L2 cache: 64 MiB L3 cache: 128 MiB NUMA node0 CPU(s): 0-7 NUMA node1 CPU(s): 8-15 NUMA node2 CPU(s): 16-23 NUMA node3 CPU(s): 24-31 NUMA node4 CPU(s): 32-39 NUMA node5 CPU(s): 40-47 NUMA node6 CPU(s): 48-55 NUMA node7 CPU(s): 56-63 NUMA node8 CPU(s): 64-71 NUMA node9 CPU(s): 72-79 NUMA node10 CPU(s): 80-87 NUMA node11 CPU(s): 88-95 NUMA node12 CPU(s): 96-103 NUMA node13 CPU(s): 104-111 NUMA node14 CPU(s): 112-119 NUMA node15 CPU(s): 120-127 Flags: half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt lpae evtstrm I use meson build -Dmax_lcores=detect -Dmax_numa_nodes=detect to compile, then dpdk initialization only shows 10 numa. ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: FW: [PATCH v1] buildtools: ensure the NUMA nodes are counted correct 2022-08-31 8:47 ` FW: " Nole Zhang @ 2022-09-20 10:11 ` Niklas Soderlund 2022-09-20 13:22 ` Thomas Monjalon 0 siblings, 1 reply; 10+ messages in thread From: Niklas Soderlund @ 2022-09-20 10:11 UTC (permalink / raw) To: Thomas Monjalon; +Cc: Nole Zhang, dev, Chaoyong He, oss-drivers Hi Thomas, Have you checked if this address the same issue you where seeing? Do you think we can move forward with this fix? On 2022-08-31 10:47:24 +0200, Nole Zhang wrote: > > > > > -----Original Message----- > > From: Thomas Monjalon <thomas@monjalon.net> > > Sent: 2022年8月29日 21:15 > > To: Nole Zhang <peng.zhang@corigine.com>; Chaoyong He > > <chaoyong.he@corigine.com> > > Subject: Re: [PATCH v1] buildtools: ensure the NUMA nodes are counted > > correct > > > > 29/08/2022 13:17, Nole Zhang: > > > From: Thomas Monjalon <thomas@monjalon.net> > > > > 02/08/2022 09:54, Chaoyong He: > > > > > From: Peng Zhang <peng.zhang@corigine.com> > > > > > > > > > > Sorting a list of strings with the format "node[0-9]+" in order > > > > > to find the largest integer by looking at the last item after > > > > > the sort breaks. But if there are more then 10 items as a string > > > > > sort will sort "node10" before "node2", it will get the error NUMA nodes. > > > > > > > > What is the error you are seeing? > > > > > > > > > > > We get the error NUMA, in this example, we get the NUMA nodes is 10, > > > But at fact, it has 11 NUMA. > > > > Please give more details, where do you see this error? > > We should know how to reproduce and check we have the same issue. > > Thanks > > > > Please reply with a detailed answer on the mailing list. > > > In the China Phytium S2500 CPU + INSPUR server, it has 16 NUMA. > The details are as follows: > > ~#: lscpu > > Architecture: aarch64 > CPU op-mode(s): 64-bit > Byte Order: Little Endian > CPU(s): 128 > On-line CPU(s) list: 0-127 > Thread(s) per core: 1 > Core(s) per socket: 64 > Socket(s): 2 > NUMA node(s): 16 > Vendor ID: 0x70 > Model: 3 > Model name: S2500 > Stepping: 0x1 > BogoMIPS: 100.00 > L1d cache: 4 MiB > L1i cache: 4 MiB > L2 cache: 64 MiB > L3 cache: 128 MiB > NUMA node0 CPU(s): 0-7 > NUMA node1 CPU(s): 8-15 > NUMA node2 CPU(s): 16-23 > NUMA node3 CPU(s): 24-31 > NUMA node4 CPU(s): 32-39 > NUMA node5 CPU(s): 40-47 > NUMA node6 CPU(s): 48-55 > NUMA node7 CPU(s): 56-63 > NUMA node8 CPU(s): 64-71 > NUMA node9 CPU(s): 72-79 > NUMA node10 CPU(s): 80-87 > NUMA node11 CPU(s): 88-95 > NUMA node12 CPU(s): 96-103 > NUMA node13 CPU(s): 104-111 > NUMA node14 CPU(s): 112-119 > NUMA node15 CPU(s): 120-127 > Flags: half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt lpae evtstrm > > > I use meson build -Dmax_lcores=detect -Dmax_numa_nodes=detect to compile, then dpdk initialization only shows 10 numa. -- Kind Regards, Niklas Söderlund ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: FW: [PATCH v1] buildtools: ensure the NUMA nodes are counted correct 2022-09-20 10:11 ` Niklas Soderlund @ 2022-09-20 13:22 ` Thomas Monjalon 2022-09-21 7:19 ` Nole Zhang 0 siblings, 1 reply; 10+ messages in thread From: Thomas Monjalon @ 2022-09-20 13:22 UTC (permalink / raw) To: Niklas Soderlund; +Cc: Nole Zhang, dev, Chaoyong He, oss-drivers Hi, 20/09/2022 12:11, Niklas Soderlund: > Hi Thomas, > > Have you checked if this address the same issue you where seeing? Do you > think we can move forward with this fix? Yes. No need to show lscpu output, but the output of the DPDK initialization would be more interesting. > On 2022-08-31 10:47:24 +0200, Nole Zhang wrote: > > > > > > > > > -----Original Message----- > > > From: Thomas Monjalon <thomas@monjalon.net> > > > Sent: 2022年8月29日 21:15 > > > To: Nole Zhang <peng.zhang@corigine.com>; Chaoyong He > > > <chaoyong.he@corigine.com> > > > Subject: Re: [PATCH v1] buildtools: ensure the NUMA nodes are counted > > > correct > > > > > > 29/08/2022 13:17, Nole Zhang: > > > > From: Thomas Monjalon <thomas@monjalon.net> > > > > > 02/08/2022 09:54, Chaoyong He: > > > > > > From: Peng Zhang <peng.zhang@corigine.com> > > > > > > > > > > > > Sorting a list of strings with the format "node[0-9]+" in order > > > > > > to find the largest integer by looking at the last item after > > > > > > the sort breaks. But if there are more then 10 items as a string > > > > > > sort will sort "node10" before "node2", it will get the error NUMA nodes. > > > > > > > > > > What is the error you are seeing? > > > > > > > > > > > > > > We get the error NUMA, in this example, we get the NUMA nodes is 10, > > > > But at fact, it has 11 NUMA. > > > > > > Please give more details, where do you see this error? > > > We should know how to reproduce and check we have the same issue. > > > Thanks > > > > > > Please reply with a detailed answer on the mailing list. > > > > > In the China Phytium S2500 CPU + INSPUR server, it has 16 NUMA. > > The details are as follows: > > > > ~#: lscpu > > > > Architecture: aarch64 > > CPU op-mode(s): 64-bit > > Byte Order: Little Endian > > CPU(s): 128 > > On-line CPU(s) list: 0-127 > > Thread(s) per core: 1 > > Core(s) per socket: 64 > > Socket(s): 2 > > NUMA node(s): 16 > > Vendor ID: 0x70 > > Model: 3 > > Model name: S2500 > > Stepping: 0x1 > > BogoMIPS: 100.00 > > L1d cache: 4 MiB > > L1i cache: 4 MiB > > L2 cache: 64 MiB > > L3 cache: 128 MiB > > NUMA node0 CPU(s): 0-7 > > NUMA node1 CPU(s): 8-15 > > NUMA node2 CPU(s): 16-23 > > NUMA node3 CPU(s): 24-31 > > NUMA node4 CPU(s): 32-39 > > NUMA node5 CPU(s): 40-47 > > NUMA node6 CPU(s): 48-55 > > NUMA node7 CPU(s): 56-63 > > NUMA node8 CPU(s): 64-71 > > NUMA node9 CPU(s): 72-79 > > NUMA node10 CPU(s): 80-87 > > NUMA node11 CPU(s): 88-95 > > NUMA node12 CPU(s): 96-103 > > NUMA node13 CPU(s): 104-111 > > NUMA node14 CPU(s): 112-119 > > NUMA node15 CPU(s): 120-127 > > Flags: half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt lpae evtstrm > > > > > > I use meson build -Dmax_lcores=detect -Dmax_numa_nodes=detect to compile, then dpdk initialization only shows 10 numa. > > ^ permalink raw reply [flat|nested] 10+ messages in thread
* RE: FW: [PATCH v1] buildtools: ensure the NUMA nodes are counted correct 2022-09-20 13:22 ` Thomas Monjalon @ 2022-09-21 7:19 ` Nole Zhang 2022-09-21 8:07 ` Thomas Monjalon 0 siblings, 1 reply; 10+ messages in thread From: Nole Zhang @ 2022-09-21 7:19 UTC (permalink / raw) To: Thomas Monjalon; +Cc: Nole Zhang, dev, Chaoyong He, oss-drivers > -----Original Message----- > From: Thomas Monjalon <thomas@monjalon.net> > Sent: 2022年9月20日 21:23 > To: Niklas Soderlund <niklas.soderlund@corigine.com> > Cc: Nole Zhang <peng.zhang@corigine.com>; dev@dpdk.org; Chaoyong He > <chaoyong.he@corigine.com>; oss-drivers <oss-drivers@corigine.com> > Subject: Re: FW: [PATCH v1] buildtools: ensure the NUMA nodes are counted > correct > > Hi, > > 20/09/2022 12:11, Niklas Soderlund: > > Hi Thomas, > > > > Have you checked if this address the same issue you where seeing? Do > > you think we can move forward with this fix? > > Yes. No need to show lscpu output, > but the output of the DPDK initialization would be more interesting. > OK, this is the DPDK initialization. The original code, the dpdkd initialized info: EAL: Detected CPU lcores: 128 EAL: Detected NUMA nodes: 10 EAL: Static memory layout is selected, amount of reserved memory can be adjusted with -m or --socket-mem EAL: Detected static linkage of DPDK EAL: Multi-process socket /var/run/dpdk/rte/mp_socket EAL: Selected IOVA mode 'VA' EAL: VFIO support initialized Revised code, the dpdkd initialized info: EAL: Detected CPU lcores: 128 EAL: Detected NUMA nodes: 16 EAL: Static memory layout is selected, amount of reserved memory can be adjusted with -m or --socket-mem EAL: Detected static linkage of DPDK EAL: Multi-process socket /var/run/dpdk/rte/mp_socket EAL: Selected IOVA mode 'VA' EAL: VFIO support initialized > > > On 2022-08-31 10:47:24 +0200, Nole Zhang wrote: > > > > > > > > > > > > > -----Original Message----- > > > > From: Thomas Monjalon <thomas@monjalon.net> > > > > Sent: 2022年8月29日 21:15 > > > > To: Nole Zhang <peng.zhang@corigine.com>; Chaoyong He > > > > <chaoyong.he@corigine.com> > > > > Subject: Re: [PATCH v1] buildtools: ensure the NUMA nodes are > > > > counted correct > > > > > > > > 29/08/2022 13:17, Nole Zhang: > > > > > From: Thomas Monjalon <thomas@monjalon.net> > > > > > > 02/08/2022 09:54, Chaoyong He: > > > > > > > From: Peng Zhang <peng.zhang@corigine.com> > > > > > > > > > > > > > > Sorting a list of strings with the format "node[0-9]+" in > > > > > > > order to find the largest integer by looking at the last > > > > > > > item after the sort breaks. But if there are more then 10 > > > > > > > items as a string sort will sort "node10" before "node2", it will get > the error NUMA nodes. > > > > > > > > > > > > What is the error you are seeing? > > > > > > > > > > > > > > > > > We get the error NUMA, in this example, we get the NUMA nodes is > > > > > 10, But at fact, it has 11 NUMA. > > > > > > > > Please give more details, where do you see this error? > > > > We should know how to reproduce and check we have the same issue. > > > > Thanks > > > > > > > > Please reply with a detailed answer on the mailing list. > > > > > > > In the China Phytium S2500 CPU + INSPUR server, it has 16 NUMA. > > > The details are as follows: > > > > > > ~#: lscpu > > > > > > Architecture: aarch64 > > > CPU op-mode(s): 64-bit > > > Byte Order: Little Endian > > > CPU(s): 128 > > > On-line CPU(s) list: 0-127 > > > Thread(s) per core: 1 > > > Core(s) per socket: 64 > > > Socket(s): 2 > > > NUMA node(s): 16 > > > Vendor ID: 0x70 > > > Model: 3 > > > Model name: S2500 > > > Stepping: 0x1 > > > BogoMIPS: 100.00 > > > L1d cache: 4 MiB > > > L1i cache: 4 MiB > > > L2 cache: 64 MiB > > > L3 cache: 128 MiB > > > NUMA node0 CPU(s): 0-7 > > > NUMA node1 CPU(s): 8-15 > > > NUMA node2 CPU(s): 16-23 > > > NUMA node3 CPU(s): 24-31 > > > NUMA node4 CPU(s): 32-39 > > > NUMA node5 CPU(s): 40-47 > > > NUMA node6 CPU(s): 48-55 > > > NUMA node7 CPU(s): 56-63 > > > NUMA node8 CPU(s): 64-71 > > > NUMA node9 CPU(s): 72-79 > > > NUMA node10 CPU(s): 80-87 > > > NUMA node11 CPU(s): 88-95 > > > NUMA node12 CPU(s): 96-103 > > > NUMA node13 CPU(s): 104-111 > > > NUMA node14 CPU(s): 112-119 > > > NUMA node15 CPU(s): 120-127 > > > Flags: half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt > lpae evtstrm > > > > > > > > > I use meson build -Dmax_lcores=detect -Dmax_numa_nodes=detect to > compile, then dpdk initialization only shows 10 numa. > > > > > > > > ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: FW: [PATCH v1] buildtools: ensure the NUMA nodes are counted correct 2022-09-21 7:19 ` Nole Zhang @ 2022-09-21 8:07 ` Thomas Monjalon 0 siblings, 0 replies; 10+ messages in thread From: Thomas Monjalon @ 2022-09-21 8:07 UTC (permalink / raw) To: Nole Zhang; +Cc: Nole Zhang, dev, Chaoyong He, oss-drivers Please send a v2 with the proper explanations. 21/09/2022 09:19, Nole Zhang: > > > -----Original Message----- > > From: Thomas Monjalon <thomas@monjalon.net> > > Sent: 2022年9月20日 21:23 > > To: Niklas Soderlund <niklas.soderlund@corigine.com> > > Cc: Nole Zhang <peng.zhang@corigine.com>; dev@dpdk.org; Chaoyong He > > <chaoyong.he@corigine.com>; oss-drivers <oss-drivers@corigine.com> > > Subject: Re: FW: [PATCH v1] buildtools: ensure the NUMA nodes are counted > > correct > > > > Hi, > > > > 20/09/2022 12:11, Niklas Soderlund: > > > Hi Thomas, > > > > > > Have you checked if this address the same issue you where seeing? Do > > > you think we can move forward with this fix? > > > > Yes. No need to show lscpu output, > > but the output of the DPDK initialization would be more interesting. > > > > OK, this is the DPDK initialization. > > The original code, the dpdkd initialized info: > EAL: Detected CPU lcores: 128 > EAL: Detected NUMA nodes: 10 > EAL: Static memory layout is selected, amount of reserved memory can be adjusted with -m or --socket-mem > EAL: Detected static linkage of DPDK > EAL: Multi-process socket /var/run/dpdk/rte/mp_socket > EAL: Selected IOVA mode 'VA' > EAL: VFIO support initialized > > Revised code, the dpdkd initialized info: > EAL: Detected CPU lcores: 128 > EAL: Detected NUMA nodes: 16 > EAL: Static memory layout is selected, amount of reserved memory can be adjusted with -m or --socket-mem > EAL: Detected static linkage of DPDK > EAL: Multi-process socket /var/run/dpdk/rte/mp_socket > EAL: Selected IOVA mode 'VA' > EAL: VFIO support initialized > > > > > > On 2022-08-31 10:47:24 +0200, Nole Zhang wrote: > > > > > > > > > > > > > > > > > -----Original Message----- > > > > > From: Thomas Monjalon <thomas@monjalon.net> > > > > > Sent: 2022年8月29日 21:15 > > > > > To: Nole Zhang <peng.zhang@corigine.com>; Chaoyong He > > > > > <chaoyong.he@corigine.com> > > > > > Subject: Re: [PATCH v1] buildtools: ensure the NUMA nodes are > > > > > counted correct > > > > > > > > > > 29/08/2022 13:17, Nole Zhang: > > > > > > From: Thomas Monjalon <thomas@monjalon.net> > > > > > > > 02/08/2022 09:54, Chaoyong He: > > > > > > > > From: Peng Zhang <peng.zhang@corigine.com> > > > > > > > > > > > > > > > > Sorting a list of strings with the format "node[0-9]+" in > > > > > > > > order to find the largest integer by looking at the last > > > > > > > > item after the sort breaks. But if there are more then 10 > > > > > > > > items as a string sort will sort "node10" before "node2", it will get > > the error NUMA nodes. > > > > > > > > > > > > > > What is the error you are seeing? > > > > > > > > > > > > > > > > > > > > We get the error NUMA, in this example, we get the NUMA nodes is > > > > > > 10, But at fact, it has 11 NUMA. > > > > > > > > > > Please give more details, where do you see this error? > > > > > We should know how to reproduce and check we have the same issue. > > > > > Thanks > > > > > > > > > > Please reply with a detailed answer on the mailing list. > > > > > > > > > In the China Phytium S2500 CPU + INSPUR server, it has 16 NUMA. > > > > The details are as follows: > > > > > > > > ~#: lscpu > > > > > > > > Architecture: aarch64 > > > > CPU op-mode(s): 64-bit > > > > Byte Order: Little Endian > > > > CPU(s): 128 > > > > On-line CPU(s) list: 0-127 > > > > Thread(s) per core: 1 > > > > Core(s) per socket: 64 > > > > Socket(s): 2 > > > > NUMA node(s): 16 > > > > Vendor ID: 0x70 > > > > Model: 3 > > > > Model name: S2500 > > > > Stepping: 0x1 > > > > BogoMIPS: 100.00 > > > > L1d cache: 4 MiB > > > > L1i cache: 4 MiB > > > > L2 cache: 64 MiB > > > > L3 cache: 128 MiB > > > > NUMA node0 CPU(s): 0-7 > > > > NUMA node1 CPU(s): 8-15 > > > > NUMA node2 CPU(s): 16-23 > > > > NUMA node3 CPU(s): 24-31 > > > > NUMA node4 CPU(s): 32-39 > > > > NUMA node5 CPU(s): 40-47 > > > > NUMA node6 CPU(s): 48-55 > > > > NUMA node7 CPU(s): 56-63 > > > > NUMA node8 CPU(s): 64-71 > > > > NUMA node9 CPU(s): 72-79 > > > > NUMA node10 CPU(s): 80-87 > > > > NUMA node11 CPU(s): 88-95 > > > > NUMA node12 CPU(s): 96-103 > > > > NUMA node13 CPU(s): 104-111 > > > > NUMA node14 CPU(s): 112-119 > > > > NUMA node15 CPU(s): 120-127 > > > > Flags: half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt > > lpae evtstrm > > > > > > > > > > > > I use meson build -Dmax_lcores=detect -Dmax_numa_nodes=detect to > > compile, then dpdk initialization only shows 10 numa. > > > > > > > > > > > > > > > > ^ permalink raw reply [flat|nested] 10+ messages in thread
* [PATCH v2] buildtools: ensure the NUMA nodes are counted correct 2022-08-02 7:54 [PATCH v1] buildtools: ensure the NUMA nodes are counted correct Chaoyong He 2022-08-29 10:41 ` Thomas Monjalon @ 2022-09-22 8:06 ` Niklas Söderlund 2022-10-10 7:52 ` Niklas Söderlund 2022-10-10 23:11 ` Thomas Monjalon 1 sibling, 2 replies; 10+ messages in thread From: Niklas Söderlund @ 2022-09-22 8:06 UTC (permalink / raw) To: dev; +Cc: oss-drivers, Chaoyong He, Peng Zhang, stable, Niklas Söderlund From: Peng Zhang <peng.zhang@corigine.com> The method to fetch, sort and read the last entry of a list to figure out the total number of NUMA nodes in the system fails with 10 or more nodes. The reason being the usage of string compare while sorting, hence node 'node10' will be sorted before 'node2'. Solve this by sorting the list based on integer comparison of the numerical part of the node name. Before this change on a system with 16 NUMA nodes, EAL: Detected CPU lcores: 128 EAL: Detected NUMA nodes: 10 EAL: Static memory layout is selected, amount of reserved memory can be adjusted with -m or --socket-mem EAL: Detected static linkage of DPDK EAL: Multi-process socket /var/run/dpdk/rte/mp_socket EAL: Selected IOVA mode 'VA' EAL: VFIO support initialized With this change on the same system, EAL: Detected CPU lcores: 128 EAL: Detected NUMA nodes: 16 EAL: Static memory layout is selected, amount of reserved memory can be adjusted with -m or --socket-mem EAL: Detected static linkage of DPDK EAL: Multi-process socket /var/run/dpdk/rte/mp_socket EAL: Selected IOVA mode 'VA' EAL: VFIO support initialized Fixes: 8ef09fdc506b ("build: add optional NUMA and CPU counts detection") Cc: stable@dpdk.org Signed-off-by: Peng Zhang <peng.zhang@corigine.com> Signed-off-by: Chaoyong He <chaoyong.he@corigine.com> Reviewed-by: Niklas Söderlund <niklas.soderlund@corigine.com> --- buildtools/get-numa-count.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/buildtools/get-numa-count.py b/buildtools/get-numa-count.py index 1b7787787f71..2f243886cd21 100644 --- a/buildtools/get-numa-count.py +++ b/buildtools/get-numa-count.py @@ -6,11 +6,12 @@ import glob import os import subprocess +import re if os.name == 'posix': if os.path.isdir('/sys/devices/system/node'): numa_nodes = glob.glob('/sys/devices/system/node/node*') - numa_nodes.sort() + numa_nodes.sort(key=lambda l: int(re.findall('\d+', l)[0])) print(int(os.path.basename(numa_nodes[-1])[4:]) + 1) else: subprocess.run(['sysctl', '-n', 'vm.ndomains'], check=False) -- 2.37.3 ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH v2] buildtools: ensure the NUMA nodes are counted correct 2022-09-22 8:06 ` [PATCH v2] " Niklas Söderlund @ 2022-10-10 7:52 ` Niklas Söderlund 2022-10-10 23:11 ` Thomas Monjalon 1 sibling, 0 replies; 10+ messages in thread From: Niklas Söderlund @ 2022-10-10 7:52 UTC (permalink / raw) To: dev; +Cc: oss-drivers, Chaoyong He, Peng Zhang, stable Hi, Genteel ping on this. On 2022-09-22 10:06:42 +0200, Niklas Söderlund wrote: > From: Peng Zhang <peng.zhang@corigine.com> > > The method to fetch, sort and read the last entry of a list to figure > out the total number of NUMA nodes in the system fails with 10 or more > nodes. The reason being the usage of string compare while sorting, hence > node 'node10' will be sorted before 'node2'. > > Solve this by sorting the list based on integer comparison of the > numerical part of the node name. > > Before this change on a system with 16 NUMA nodes, > > EAL: Detected CPU lcores: 128 > EAL: Detected NUMA nodes: 10 > EAL: Static memory layout is selected, amount of reserved memory can > be adjusted with -m or --socket-mem > EAL: Detected static linkage of DPDK > EAL: Multi-process socket /var/run/dpdk/rte/mp_socket > EAL: Selected IOVA mode 'VA' > EAL: VFIO support initialized > > With this change on the same system, > > EAL: Detected CPU lcores: 128 > EAL: Detected NUMA nodes: 16 > EAL: Static memory layout is selected, amount of reserved memory can > be adjusted with -m or --socket-mem > EAL: Detected static linkage of DPDK > EAL: Multi-process socket /var/run/dpdk/rte/mp_socket > EAL: Selected IOVA mode 'VA' > EAL: VFIO support initialized > > Fixes: 8ef09fdc506b ("build: add optional NUMA and CPU counts detection") > Cc: stable@dpdk.org > > Signed-off-by: Peng Zhang <peng.zhang@corigine.com> > Signed-off-by: Chaoyong He <chaoyong.he@corigine.com> > Reviewed-by: Niklas Söderlund <niklas.soderlund@corigine.com> > --- > buildtools/get-numa-count.py | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/buildtools/get-numa-count.py b/buildtools/get-numa-count.py > index 1b7787787f71..2f243886cd21 100644 > --- a/buildtools/get-numa-count.py > +++ b/buildtools/get-numa-count.py > @@ -6,11 +6,12 @@ > import glob > import os > import subprocess > +import re > > if os.name == 'posix': > if os.path.isdir('/sys/devices/system/node'): > numa_nodes = glob.glob('/sys/devices/system/node/node*') > - numa_nodes.sort() > + numa_nodes.sort(key=lambda l: int(re.findall('\d+', l)[0])) > print(int(os.path.basename(numa_nodes[-1])[4:]) + 1) > else: > subprocess.run(['sysctl', '-n', 'vm.ndomains'], check=False) > -- > 2.37.3 > -- Kind Regards, Niklas Söderlund ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH v2] buildtools: ensure the NUMA nodes are counted correct 2022-09-22 8:06 ` [PATCH v2] " Niklas Söderlund 2022-10-10 7:52 ` Niklas Söderlund @ 2022-10-10 23:11 ` Thomas Monjalon 1 sibling, 0 replies; 10+ messages in thread From: Thomas Monjalon @ 2022-10-10 23:11 UTC (permalink / raw) To: Peng Zhang; +Cc: dev, oss-drivers, Chaoyong He, stable, Niklas Söderlund 22/09/2022 10:06, Niklas Söderlund: > From: Peng Zhang <peng.zhang@corigine.com> > > The method to fetch, sort and read the last entry of a list to figure > out the total number of NUMA nodes in the system fails with 10 or more > nodes. The reason being the usage of string compare while sorting, hence > node 'node10' will be sorted before 'node2'. > > Solve this by sorting the list based on integer comparison of the > numerical part of the node name. > > Before this change on a system with 16 NUMA nodes, > > EAL: Detected CPU lcores: 128 > EAL: Detected NUMA nodes: 10 > EAL: Static memory layout is selected, amount of reserved memory can > be adjusted with -m or --socket-mem > EAL: Detected static linkage of DPDK > EAL: Multi-process socket /var/run/dpdk/rte/mp_socket > EAL: Selected IOVA mode 'VA' > EAL: VFIO support initialized > > With this change on the same system, > > EAL: Detected CPU lcores: 128 > EAL: Detected NUMA nodes: 16 > EAL: Static memory layout is selected, amount of reserved memory can > be adjusted with -m or --socket-mem > EAL: Detected static linkage of DPDK > EAL: Multi-process socket /var/run/dpdk/rte/mp_socket > EAL: Selected IOVA mode 'VA' > EAL: VFIO support initialized > > Fixes: 8ef09fdc506b ("build: add optional NUMA and CPU counts detection") > Cc: stable@dpdk.org > > Signed-off-by: Peng Zhang <peng.zhang@corigine.com> > Signed-off-by: Chaoyong He <chaoyong.he@corigine.com> > Reviewed-by: Niklas Söderlund <niklas.soderlund@corigine.com> Applied, thanks. ^ permalink raw reply [flat|nested] 10+ messages in thread
end of thread, other threads:[~2022-10-10 23:11 UTC | newest] Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2022-08-02 7:54 [PATCH v1] buildtools: ensure the NUMA nodes are counted correct Chaoyong He 2022-08-29 10:41 ` Thomas Monjalon [not found] ` <MWHPR1301MB1997EA5A5CF4A320A13493E4EF769@MWHPR1301MB1997.namprd13.prod.outlook.com> [not found] ` <3155813.0WQXIW03uk@thomas> [not found] ` <MWHPR1301MB1997910EB07FA86DE33053C2EF799@MWHPR1301MB1997.namprd13.prod.outlook.com> 2022-08-31 8:47 ` FW: " Nole Zhang 2022-09-20 10:11 ` Niklas Soderlund 2022-09-20 13:22 ` Thomas Monjalon 2022-09-21 7:19 ` Nole Zhang 2022-09-21 8:07 ` Thomas Monjalon 2022-09-22 8:06 ` [PATCH v2] " Niklas Söderlund 2022-10-10 7:52 ` Niklas Söderlund 2022-10-10 23:11 ` Thomas Monjalon
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).