> -----Original Message----- > From: fengchengwen <fengcheng...@huawei.com> > Sent: Tuesday, November 15, 2022 3:55 PM > To: Jerin Jacob <jerinjac...@gmail.com>; Richardson, Bruce > <bruce.richard...@intel.com>; > Konstantin Ananyev <konstantin.v.anan...@yandex.ru> > Cc: tho...@monjalon.net; dev@dpdk.org; Ruifeng Wang <ruifeng.w...@arm.com> > Subject: Re: [PATCH] config/arm: make SoC-generic more generic > > Hi Jerin, > > On 2022/11/15 15:08, Jerin Jacob wrote: > > On Tue, Nov 15, 2022 at 7:46 AM Chengwen Feng <fengcheng...@huawei.com> > > wrote: > >> > >> The non-generic soc has 1280 max-lcores and 32 max-numas, but the > >> implementer-generic still has 256 max-lcores and 4 max-numas, which > >> may result in restrictions on the use of binaries compiled by > >> soc-generic in these systems. > >> > >> This patch changes the soc-generic max-lcores to 1280 and max-numas > >> to > >> 32 to make it more generic. > > > > I think, it is not specific to ARM architecture issue. Even x86 config > > set as below. > > dpdk_conf.set('RTE_MAX_LCORE', 128) > > dpdk_conf.set('RTE_MAX_NUMA_NODES', 32) > > > > I think, it makes sense to keep generic as "most commonly used max" > > per application, expectation cases can have separate config. > > > > Also, this is for SINGLE application, even if you have 1280 cores a > > single application most likely won't use that. > > So in that way this patch is not needed. > > If we keep it, then dpdk application could not run with lcore >= 256 > > I have a test for it: > 1. set RTE_MAX_LCORE to 64 > 2. run testpmd with lcore 80-81: ./build/native/app/dpdk-testpmd -a > 0000:bd:00.0 --file- > prefix=feng -l 80-81 -- -i > it will display error: > EAL: Detected CPU lcores: 64 > EAL: Detected NUMA nodes: 3 > EAL: lcore 80 >= RTE_MAX_LCORE (64) > EAL: lcore 81 >= RTE_MAX_LCORE (64) > EAL: To use high physical core ids, please use --lcores to map them to > lcore ids > below RTE_MAX_LCORE, e.g. --lcores 0@80,1@81
Actually, EAL provides suggestions here. Physical cores above RTE_MAX_LCORE can be mapped and used. > EAL: invalid core list syntax > > > > >> > >> Also, because single numa is a special case of multiple numas, mark > >> soc-generic's numa flag as true. > >> > >> Signed-off-by: Chengwen Feng <fengcheng...@huawei.com> > >> --- > >> config/arm/meson.build | 7 ++++--- > >> 1 file changed, 4 insertions(+), 3 deletions(-) > >> > >> diff --git a/config/arm/meson.build b/config/arm/meson.build index > >> 6442ec9596..97b91cf609 100644 > >> --- a/config/arm/meson.build > >> +++ b/config/arm/meson.build > >> @@ -32,8 +32,8 @@ implementer_generic = { > >> 'flags': [ > >> ['RTE_MACHINE', '"armv8a"'], > >> ['RTE_USE_C11_MEM_MODEL', true], > >> - ['RTE_MAX_LCORE', 256], > >> - ['RTE_MAX_NUMA_NODES', 4] > >> + ['RTE_MAX_LCORE', 1280], > >> + ['RTE_MAX_NUMA_NODES', 32] > >> ], > >> 'part_number_config': { > >> 'generic': { > >> @@ -271,7 +271,8 @@ implementers = { > >> soc_generic = { > >> 'description': 'Generic un-optimized build for armv8 aarch64 exec > >> mode', > >> 'implementer': 'generic', > >> - 'part_number': 'generic' > >> + 'part_number': 'generic', > >> + 'numa': true > >> } > >> > >> soc_generic_aarch32 = { > >> -- > >> 2.17.1 > >> > > . > >