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 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 >> > . >