* [PATCH] config/arm: make SoC-generic more generic @ 2022-11-15 2:09 Chengwen Feng 2022-11-15 7:08 ` Jerin Jacob 0 siblings, 1 reply; 4+ messages in thread From: Chengwen Feng @ 2022-11-15 2:09 UTC (permalink / raw) To: thomas; +Cc: dev, ruifeng.wang 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. Also, because single numa is a special case of multiple numas, mark soc-generic's numa flag as true. Signed-off-by: Chengwen Feng <fengchengwen@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 ^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH] config/arm: make SoC-generic more generic 2022-11-15 2:09 [PATCH] config/arm: make SoC-generic more generic Chengwen Feng @ 2022-11-15 7:08 ` Jerin Jacob 2022-11-15 7:55 ` fengchengwen 0 siblings, 1 reply; 4+ messages in thread From: Jerin Jacob @ 2022-11-15 7:08 UTC (permalink / raw) To: Chengwen Feng, Richardson, Bruce, Konstantin Ananyev Cc: thomas, dev, ruifeng.wang On Tue, Nov 15, 2022 at 7:46 AM Chengwen Feng <fengchengwen@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. > > Also, because single numa is a special case of multiple numas, mark > soc-generic's numa flag as true. > > Signed-off-by: Chengwen Feng <fengchengwen@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 > ^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH] config/arm: make SoC-generic more generic 2022-11-15 7:08 ` Jerin Jacob @ 2022-11-15 7:55 ` fengchengwen 2022-11-15 8:20 ` Ruifeng Wang 0 siblings, 1 reply; 4+ messages in thread From: fengchengwen @ 2022-11-15 7:55 UTC (permalink / raw) To: Jerin Jacob, Richardson, Bruce, Konstantin Ananyev Cc: thomas, dev, ruifeng.wang Hi Jerin, On 2022/11/15 15:08, Jerin Jacob wrote: > On Tue, Nov 15, 2022 at 7:46 AM Chengwen Feng <fengchengwen@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 <fengchengwen@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 >> > . > ^ permalink raw reply [flat|nested] 4+ messages in thread
* RE: [PATCH] config/arm: make SoC-generic more generic 2022-11-15 7:55 ` fengchengwen @ 2022-11-15 8:20 ` Ruifeng Wang 0 siblings, 0 replies; 4+ messages in thread From: Ruifeng Wang @ 2022-11-15 8:20 UTC (permalink / raw) To: fengchengwen, Jerin Jacob, Richardson, Bruce, Konstantin Ananyev Cc: thomas, dev, nd > -----Original Message----- > From: fengchengwen <fengchengwen@huawei.com> > Sent: Tuesday, November 15, 2022 3:55 PM > To: Jerin Jacob <jerinjacobk@gmail.com>; Richardson, Bruce <bruce.richardson@intel.com>; > Konstantin Ananyev <konstantin.v.ananyev@yandex.ru> > Cc: thomas@monjalon.net; dev@dpdk.org; Ruifeng Wang <Ruifeng.Wang@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 <fengchengwen@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 <fengchengwen@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 > >> > > . > > ^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2022-11-15 8:20 UTC | newest] Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2022-11-15 2:09 [PATCH] config/arm: make SoC-generic more generic Chengwen Feng 2022-11-15 7:08 ` Jerin Jacob 2022-11-15 7:55 ` fengchengwen 2022-11-15 8:20 ` Ruifeng Wang
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).