[2/3] config: add thunderx2 machine config

Message ID 20190106131933.7898-2-jerinj@marvell.com
State Superseded, archived
Delegated to: Thomas Monjalon
Headers show
Series
  • [v2,1/6] mk: introduce helper to check valid compiler argument
Related show

Checks

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

Commit Message

Jerin Jacob Kollanukkaran Jan. 6, 2019, 1:20 p.m.
Optimized configuration for Marvell thunderx2 SoC.

Product details are here:

https://www.marvell.com/server-processors/thunderx2-arm-processors/

Signed-off-by: Jerin Jacob <jerinj@marvell.com>
---
 config/defconfig_arm64-thunderx2-linuxapp-gcc | 11 ++++++
 mk/machine/thunderx2/rte.vars.mk              | 34 +++++++++++++++++++
 2 files changed, 45 insertions(+)
 create mode 100644 config/defconfig_arm64-thunderx2-linuxapp-gcc
 create mode 100644 mk/machine/thunderx2/rte.vars.mk

Comments

Thomas Monjalon Jan. 6, 2019, 8:56 p.m. | #1
Hi Jerin,

06/01/2019 14:20, Jerin Jacob Kollanukkaran:
> Optimized configuration for Marvell thunderx2 SoC.
> 
> Product details are here:
> 
> https://www.marvell.com/server-processors/thunderx2-arm-processors/
> 
> Signed-off-by: Jerin Jacob <jerinj@marvell.com>
> ---
>  config/defconfig_arm64-thunderx2-linuxapp-gcc | 11 ++++++
>  mk/machine/thunderx2/rte.vars.mk              | 34 +++++++++++++++++++

You should enable meson build at the same time.
Gavin Hu (Arm Technology China) Jan. 7, 2019, 12:21 a.m. | #2
> -----Original Message-----
> From: Jerin Jacob Kollanukkaran <jerinj@marvell.com>
> Sent: Sunday, January 6, 2019 9:20 PM
> To: thomas@monjalon.net
> Cc: dev@dpdk.org; Gavin Hu (Arm Technology China) <Gavin.Hu@arm.com>;
> jerinj@marvell.com
> Subject: [dpdk-dev] [PATCH 2/3] config: add thunderx2 machine config
> 
> Optimized configuration for Marvell thunderx2 SoC.
> 
> Product details are here:
> 
> https://www.marvell.com/server-processors/thunderx2-arm-processors/
> 
> Signed-off-by: Jerin Jacob <jerinj@marvell.com>
> ---
>  config/defconfig_arm64-thunderx2-linuxapp-gcc | 11 ++++++
>  mk/machine/thunderx2/rte.vars.mk              | 34 +++++++++++++++++++
>  2 files changed, 45 insertions(+)
>  create mode 100644 config/defconfig_arm64-thunderx2-linuxapp-gcc
>  create mode 100644 mk/machine/thunderx2/rte.vars.mk
> 
> diff --git a/config/defconfig_arm64-thunderx2-linuxapp-gcc
> b/config/defconfig_arm64-thunderx2-linuxapp-gcc
> new file mode 100644
> index 000000000..27db58e50
> --- /dev/null
> +++ b/config/defconfig_arm64-thunderx2-linuxapp-gcc
> @@ -0,0 +1,11 @@
> +# SPDX-License-Identifier: BSD-3-Clause
> +# Copyright(c) 2018 Marvell International Ltd
> +#
> +
> +#include "defconfig_arm64-armv8a-linuxapp-gcc"
> +
> +CONFIG_RTE_MACHINE="thunderx2"
> +
> +CONFIG_RTE_CACHE_LINE_SIZE=64

ThunderX is 128, ThunderX2 downsized the cache line? 

> +CONFIG_RTE_MAX_NUMA_NODES=2
> +CONFIG_RTE_MAX_LCORE=256
> diff --git a/mk/machine/thunderx2/rte.vars.mk
> b/mk/machine/thunderx2/rte.vars.mk
> new file mode 100644
> index 000000000..b80dc8680
> --- /dev/null
> +++ b/mk/machine/thunderx2/rte.vars.mk
> @@ -0,0 +1,34 @@
> +# SPDX-License-Identifier: BSD-3-Clause
> +# Copyright(c) 2018 Marvell International Ltd
> +#
> +
> +#
> +# machine:
> +#
> +#   - can define ARCH variable (overridden by cmdline value)
> +#   - can define CROSS variable (overridden by cmdline value)
> +#   - define MACHINE_CFLAGS variable (overridden by cmdline value)
> +#   - define MACHINE_LDFLAGS variable (overridden by cmdline value)
> +#   - define MACHINE_ASFLAGS variable (overridden by cmdline value)
> +#   - can define CPU_CFLAGS variable (overridden by cmdline value) that
> +#     overrides the one defined in arch.
> +#   - can define CPU_LDFLAGS variable (overridden by cmdline value) that
> +#     overrides the one defined in arch.
> +#   - can define CPU_ASFLAGS variable (overridden by cmdline value) that
> +#     overrides the one defined in arch.
> +#   - may override any previously defined variable
> +#
> +
> +# ARCH =
> +# CROSS =
> +# MACHINE_CFLAGS =
> +# MACHINE_LDFLAGS =
> +# MACHINE_ASFLAGS =
> +# CPU_CFLAGS =
> +# CPU_LDFLAGS =
> +# CPU_ASFLAGS =
> +
> +include $(RTE_SDK)/mk/rte.helper.mk
> +
> +MACHINE_CFLAGS += $(call rte_cc_has_argument, -march=armv8.1-
> a+crc+crypto)
> +MACHINE_CFLAGS += $(call rte_cc_has_argument, -mcpu=thunderx2t99)
> --
> 2.20.1
Jerin Jacob Kollanukkaran Jan. 7, 2019, 5:27 a.m. | #3
On Sun, 2019-01-06 at 21:56 +0100, Thomas Monjalon wrote:
> Hi Jerin,

Hi Thomas,

> 06/01/2019 14:20, Jerin Jacob Kollanukkaran:
> > Optimized configuration for Marvell thunderx2 SoC.
> > 
> > Product details are here:
> > 
> > https://www.marvell.com/server-processors/thunderx2-arm-processors/
> > 
> > Signed-off-by: Jerin Jacob <jerinj@marvell.com>
> > ---
> >  config/defconfig_arm64-thunderx2-linuxapp-gcc | 11 ++++++
> >  mk/machine/thunderx2/rte.vars.mk              | 34
> > +++++++++++++++++++
> 
> You should enable meson build at the same time.

OK. Will send the v2.


> 
> 
>
Jerin Jacob Kollanukkaran Jan. 7, 2019, 5:29 a.m. | #4
On Mon, 2019-01-07 at 00:21 +0000, Gavin Hu (Arm Technology China)
wrote:
> > -----Original Message-----
> > From: Jerin Jacob Kollanukkaran <jerinj@marvell.com>
> > Sent: Sunday, January 6, 2019 9:20 PM
> > To: thomas@monjalon.net
> > Cc: dev@dpdk.org; Gavin Hu (Arm Technology China) <Gavin.Hu@arm.com
> > >;
> > jerinj@marvell.com
> > Subject: [dpdk-dev] [PATCH 2/3] config: add thunderx2 machine
> > config
> > 
> > Optimized configuration for Marvell thunderx2 SoC.
> > 
> > Product details are here:
> > 
> > https://www.marvell.com/server-processors/thunderx2-arm-processors/
> > 
> > Signed-off-by: Jerin Jacob <jerinj@marvell.com>
> > ---
> >  config/defconfig_arm64-thunderx2-linuxapp-gcc | 11 ++++++
> >  mk/machine/thunderx2/rte.vars.mk              | 34
> > +++++++++++++++++++
> >  2 files changed, 45 insertions(+)
> >  create mode 100644 config/defconfig_arm64-thunderx2-linuxapp-gcc
> >  create mode 100644 mk/machine/thunderx2/rte.vars.mk
> > 
> > diff --git a/config/defconfig_arm64-thunderx2-linuxapp-gcc
> > b/config/defconfig_arm64-thunderx2-linuxapp-gcc
> > new file mode 100644
> > index 000000000..27db58e50
> > --- /dev/null
> > +++ b/config/defconfig_arm64-thunderx2-linuxapp-gcc
> > @@ -0,0 +1,11 @@
> > +# SPDX-License-Identifier: BSD-3-Clause
> > +# Copyright(c) 2018 Marvell International Ltd
> > +#
> > +
> > +#include "defconfig_arm64-armv8a-linuxapp-gcc"
> > +
> > +CONFIG_RTE_MACHINE="thunderx2"
> > +
> > +CONFIG_RTE_CACHE_LINE_SIZE=64
> 
> ThunderX is 128, ThunderX2 downsized the cache line? 

Yes. Tunned for server work load.

Patch

diff --git a/config/defconfig_arm64-thunderx2-linuxapp-gcc b/config/defconfig_arm64-thunderx2-linuxapp-gcc
new file mode 100644
index 000000000..27db58e50
--- /dev/null
+++ b/config/defconfig_arm64-thunderx2-linuxapp-gcc
@@ -0,0 +1,11 @@ 
+# SPDX-License-Identifier: BSD-3-Clause
+# Copyright(c) 2018 Marvell International Ltd
+#
+
+#include "defconfig_arm64-armv8a-linuxapp-gcc"
+
+CONFIG_RTE_MACHINE="thunderx2"
+
+CONFIG_RTE_CACHE_LINE_SIZE=64
+CONFIG_RTE_MAX_NUMA_NODES=2
+CONFIG_RTE_MAX_LCORE=256
diff --git a/mk/machine/thunderx2/rte.vars.mk b/mk/machine/thunderx2/rte.vars.mk
new file mode 100644
index 000000000..b80dc8680
--- /dev/null
+++ b/mk/machine/thunderx2/rte.vars.mk
@@ -0,0 +1,34 @@ 
+# SPDX-License-Identifier: BSD-3-Clause
+# Copyright(c) 2018 Marvell International Ltd
+#
+
+#
+# machine:
+#
+#   - can define ARCH variable (overridden by cmdline value)
+#   - can define CROSS variable (overridden by cmdline value)
+#   - define MACHINE_CFLAGS variable (overridden by cmdline value)
+#   - define MACHINE_LDFLAGS variable (overridden by cmdline value)
+#   - define MACHINE_ASFLAGS variable (overridden by cmdline value)
+#   - can define CPU_CFLAGS variable (overridden by cmdline value) that
+#     overrides the one defined in arch.
+#   - can define CPU_LDFLAGS variable (overridden by cmdline value) that
+#     overrides the one defined in arch.
+#   - can define CPU_ASFLAGS variable (overridden by cmdline value) that
+#     overrides the one defined in arch.
+#   - may override any previously defined variable
+#
+
+# ARCH =
+# CROSS =
+# MACHINE_CFLAGS =
+# MACHINE_LDFLAGS =
+# MACHINE_ASFLAGS =
+# CPU_CFLAGS =
+# CPU_LDFLAGS =
+# CPU_ASFLAGS =
+
+include $(RTE_SDK)/mk/rte.helper.mk
+
+MACHINE_CFLAGS += $(call rte_cc_has_argument, -march=armv8.1-a+crc+crypto)
+MACHINE_CFLAGS += $(call rte_cc_has_argument, -mcpu=thunderx2t99)