[PATCH] config/arm: make SoC-generic more generic
fengchengwen
fengchengwen at huawei.com
Tue Nov 15 08:55:03 CET 2022
Hi Jerin,
On 2022/11/15 15:08, Jerin Jacob wrote:
> On Tue, Nov 15, 2022 at 7:46 AM Chengwen Feng <fengchengwen at 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 at 80,1 at 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 at 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
>>
> .
>
More information about the dev
mailing list