[v2] config: enable more than 128 cores for Arm64 platform

Message ID 1542799632-47517-1-git-send-email-joyce.kong@arm.com (mailing list archive)
State Superseded, archived
Delegated to: Thomas Monjalon
Headers
Series [v2] config: enable more than 128 cores for Arm64 platform |

Checks

Context Check Description
ci/checkpatch success coding style OK
ci/Intel-compilation success Compilation OK
ci/mellanox-Performance-Testing success Performance Testing PASS
ci/intel-Performance-Testing success Performance Testing PASS

Commit Message

Joyce Kong Nov. 21, 2018, 11:27 a.m. UTC
  When running dpdk applications on cores whose ids are bigger
than original max_core setting, eal error as below:
EAL: Detected 104 lcore(s)
EAL: Detected 2 NUMA nodes
EAL: invalid core list
-l CORELIST core indexes between 0 and 128

The fix is to increase max_core to 256 on Arm64 platform.

Fixes: b3ce00e5 ("mk: introduce ARMv8 architecture")
Cc: stable@dpdk.org

Signed-off-by: Joyce Kong <joyce.kong@arm.com>
Reviewed-by: Gavin Hu <gavin.hu@arm.com>
---
 config/arm/meson.build                     | 2 +-
 config/defconfig_arm64-armv8a-linuxapp-gcc | 1 +
 2 files changed, 2 insertions(+), 1 deletion(-)
  

Comments

Jerin Jacob Nov. 21, 2018, 11:34 a.m. UTC | #1
-----Original Message-----
> Date: Wed, 21 Nov 2018 19:27:12 +0800
> From: Joyce Kong <joyce.kong@arm.com>
> To: dev@dpdk.org
> CC: thomas@monjalon.net, jerin.jacob@caviumnetworks.com,
>  Honnappa.Nagarahalli@arm.com, gavin.hu@arm.com, stable@dpdk.org
> Subject: [PATCH v2] config: enable more than 128 cores for Arm64 platform
> X-Mailer: git-send-email 2.7.4
> 
> 
> When running dpdk applications on cores whose ids are bigger
> than original max_core setting, eal error as below:
> EAL: Detected 104 lcore(s)
> EAL: Detected 2 NUMA nodes
> EAL: invalid core list
> -l CORELIST core indexes between 0 and 128
> 
> The fix is to increase max_core to 256 on Arm64 platform.
> 
> Fixes: b3ce00e5 ("mk: introduce ARMv8 architecture")
> Cc: stable@dpdk.org
> 
> Signed-off-by: Joyce Kong <joyce.kong@arm.com>
> Reviewed-by: Gavin Hu <gavin.hu@arm.com>
> ---
>  config/arm/meson.build                     | 2 +-
>  config/defconfig_arm64-armv8a-linuxapp-gcc | 1 +
>  2 files changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/config/arm/meson.build b/config/arm/meson.build
> index b755138..020df09 100644
> --- a/config/arm/meson.build
> +++ b/config/arm/meson.build
> @@ -51,7 +51,7 @@ flags_cavium = [
>         ['RTE_MACHINE', '"thunderx"'],
>         ['RTE_CACHE_LINE_SIZE', 128],
>         ['RTE_MAX_NUMA_NODES', 2],
> -       ['RTE_MAX_LCORE', 96],
> +       ['RTE_MAX_LCORE', 256],

This change makes thunderx config to 256 cores not armv8. 
For generic config, it needs to be under "flags_generic"
not under "flags_cavium". Just like you did for updating
defconfig_arm64-armv8a-linuxapp-gcc config instead of
defconfig_arm64-thunderx-linuxapp-gcc

>         ['RTE_MAX_VFIO_GROUPS', 128],
>         ['RTE_USE_C11_MEM_MODEL', false]]
>  flags_dpaa = [
> diff --git a/config/defconfig_arm64-armv8a-linuxapp-gcc b/config/defconfig_arm64-armv8a-linuxapp-gcc
> index 1842744..a6ed90c 100644
> --- a/config/defconfig_arm64-armv8a-linuxapp-gcc
> +++ b/config/defconfig_arm64-armv8a-linuxapp-gcc
> @@ -6,3 +6,4 @@
> 
>  CONFIG_RTE_TOOLCHAIN="gcc"
>  CONFIG_RTE_TOOLCHAIN_GCC=y
> +CONFIG_RTE_MAX_LCORE=256
> --
> 2.7.4
>
  
Joyce Kong Nov. 22, 2018, 7:01 a.m. UTC | #2
> -----Original Message-----
> From: Jerin Jacob <jerin.jacob@caviumnetworks.com>
> Sent: Wednesday, November 21, 2018 7:35 PM
> To: Joyce Kong (Arm Technology China) <Joyce.Kong@arm.com>
> Cc: dev@dpdk.org; thomas@monjalon.net; Honnappa Nagarahalli
> <Honnappa.Nagarahalli@arm.com>; Gavin Hu (Arm Technology China)
> <Gavin.Hu@arm.com>; stable@dpdk.org
> Subject: Re: [PATCH v2] config: enable more than 128 cores for Arm64
> platform
>
> -----Original Message-----
> > Date: Wed, 21 Nov 2018 19:27:12 +0800
> > From: Joyce Kong <joyce.kong@arm.com>
> > To: dev@dpdk.org
> > CC: thomas@monjalon.net, jerin.jacob@caviumnetworks.com,
> > Honnappa.Nagarahalli@arm.com, gavin.hu@arm.com, stable@dpdk.org
> > Subject: [PATCH v2] config: enable more than 128 cores for Arm64
> > platform
> > X-Mailer: git-send-email 2.7.4
> >
> >
> > When running dpdk applications on cores whose ids are bigger than
> > original max_core setting, eal error as below:
> > EAL: Detected 104 lcore(s)
> > EAL: Detected 2 NUMA nodes
> > EAL: invalid core list
> > -l CORELIST core indexes between 0 and 128
> >
> > The fix is to increase max_core to 256 on Arm64 platform.
> >
> > Fixes: b3ce00e5 ("mk: introduce ARMv8 architecture")
> > Cc: stable@dpdk.org
> >
> > Signed-off-by: Joyce Kong <joyce.kong@arm.com>
> > Reviewed-by: Gavin Hu <gavin.hu@arm.com>
> > ---
> >  config/arm/meson.build                     | 2 +-
> >  config/defconfig_arm64-armv8a-linuxapp-gcc | 1 +
> >  2 files changed, 2 insertions(+), 1 deletion(-)
> >
> > diff --git a/config/arm/meson.build b/config/arm/meson.build index
> > b755138..020df09 100644
> > --- a/config/arm/meson.build
> > +++ b/config/arm/meson.build
> > @@ -51,7 +51,7 @@ flags_cavium = [
> >         ['RTE_MACHINE', '"thunderx"'],
> >         ['RTE_CACHE_LINE_SIZE', 128],
> >         ['RTE_MAX_NUMA_NODES', 2],
> > -       ['RTE_MAX_LCORE', 96],
> > +       ['RTE_MAX_LCORE', 256],
>
> This change makes thunderx config to 256 cores not armv8.
> For generic config, it needs to be under "flags_generic"
> not under "flags_cavium". Just like you did for updating defconfig_arm64-
> armv8a-linuxapp-gcc config instead of defconfig_arm64-thunderx-linuxapp-
> gcc
>

Config to 256 cores for both flags_generic and flags_cavium in V3.
For thunderx, it will do meson build according to flasg_cavium instead of flags_generic.
And there is no inheritance relationship between the two flags.

> >         ['RTE_MAX_VFIO_GROUPS', 128],
> >         ['RTE_USE_C11_MEM_MODEL', false]]  flags_dpaa = [ diff --git
> > a/config/defconfig_arm64-armv8a-linuxapp-gcc
> > b/config/defconfig_arm64-armv8a-linuxapp-gcc
> > index 1842744..a6ed90c 100644
> > --- a/config/defconfig_arm64-armv8a-linuxapp-gcc
> > +++ b/config/defconfig_arm64-armv8a-linuxapp-gcc
> > @@ -6,3 +6,4 @@
> >
> >  CONFIG_RTE_TOOLCHAIN="gcc"
> >  CONFIG_RTE_TOOLCHAIN_GCC=y
> > +CONFIG_RTE_MAX_LCORE=256
> > --
> > 2.7.4
> >
IMPORTANT NOTICE: The contents of this email and any attachments are confidential and may also be privileged. If you are not the intended recipient, please notify the sender immediately and do not disclose the contents to any other person, use it for any purpose, or store or copy the information in any medium. Thank you.
  

Patch

diff --git a/config/arm/meson.build b/config/arm/meson.build
index b755138..020df09 100644
--- a/config/arm/meson.build
+++ b/config/arm/meson.build
@@ -51,7 +51,7 @@  flags_cavium = [
 	['RTE_MACHINE', '"thunderx"'],
 	['RTE_CACHE_LINE_SIZE', 128],
 	['RTE_MAX_NUMA_NODES', 2],
-	['RTE_MAX_LCORE', 96],
+	['RTE_MAX_LCORE', 256],
 	['RTE_MAX_VFIO_GROUPS', 128],
 	['RTE_USE_C11_MEM_MODEL', false]]
 flags_dpaa = [
diff --git a/config/defconfig_arm64-armv8a-linuxapp-gcc b/config/defconfig_arm64-armv8a-linuxapp-gcc
index 1842744..a6ed90c 100644
--- a/config/defconfig_arm64-armv8a-linuxapp-gcc
+++ b/config/defconfig_arm64-armv8a-linuxapp-gcc
@@ -6,3 +6,4 @@ 
 
 CONFIG_RTE_TOOLCHAIN="gcc"
 CONFIG_RTE_TOOLCHAIN_GCC=y
+CONFIG_RTE_MAX_LCORE=256