From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id BB9A7A0547; Tue, 15 Nov 2022 08:55:27 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 5920D40DFD; Tue, 15 Nov 2022 08:55:27 +0100 (CET) Received: from szxga01-in.huawei.com (szxga01-in.huawei.com [45.249.212.187]) by mails.dpdk.org (Postfix) with ESMTP id 9C0F240150 for ; Tue, 15 Nov 2022 08:55:25 +0100 (CET) Received: from dggpeml500024.china.huawei.com (unknown [172.30.72.56]) by szxga01-in.huawei.com (SkyGuard) with ESMTP id 4NBJKM33PszqSRW; Tue, 15 Nov 2022 15:51:35 +0800 (CST) Received: from [10.67.100.224] (10.67.100.224) by dggpeml500024.china.huawei.com (7.185.36.10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.31; Tue, 15 Nov 2022 15:55:03 +0800 Subject: Re: [PATCH] config/arm: make SoC-generic more generic To: Jerin Jacob , "Richardson, Bruce" , Konstantin Ananyev CC: , , References: <20221115020948.18356-1-fengchengwen@huawei.com> From: fengchengwen Message-ID: Date: Tue, 15 Nov 2022 15:55:03 +0800 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:68.0) Gecko/20100101 Thunderbird/68.11.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset="utf-8" Content-Language: en-US Content-Transfer-Encoding: 7bit X-Originating-IP: [10.67.100.224] X-ClientProxiedBy: dggems706-chm.china.huawei.com (10.3.19.183) To dggpeml500024.china.huawei.com (7.185.36.10) X-CFilter-Loop: Reflected X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Hi Jerin, On 2022/11/15 15:08, Jerin Jacob wrote: > On Tue, Nov 15, 2022 at 7:46 AM Chengwen Feng 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 >> --- >> 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 >> > . >