* [dpdk-stable] [19.11] [PATCH 0/1] Add Graviton2(arm64) build configuration
@ 2020-10-05 18:50 Vimal Chungath
2020-10-05 18:50 ` [dpdk-stable] [19.11] [PATCH 1/1] config: add Graviton2(arm64) defconfig Vimal Chungath
` (2 more replies)
0 siblings, 3 replies; 11+ messages in thread
From: Vimal Chungath @ 2020-10-05 18:50 UTC (permalink / raw)
To: stable; +Cc: bluca, Honnappa.Nagarahalli, bruce.richardson, alisaidi, thomas
This patch adds make build configuration for AWS Graviton2 platform
based on ARM Neoverse N1. Meson build works but uses configuration for
N1 SDP that is not optimal. Rework in meson build system for ARM SoCs
is planned so I have chosen not to add meson configuration for this
19.11 patch.
Vimal Chungath (1):
config: add Graviton2(arm64) defconfig
config/defconfig_arm64-graviton2-linux-gcc | 1 +
config/defconfig_arm64-graviton2-linuxapp-gcc | 13 +++++++++++
config/defconfig_graviton2 | 1 +
mk/machine/graviton2/rte.vars.mk | 33 +++++++++++++++++++++++++++
4 files changed, 48 insertions(+)
create mode 120000 config/defconfig_arm64-graviton2-linux-gcc
create mode 100644 config/defconfig_arm64-graviton2-linuxapp-gcc
create mode 120000 config/defconfig_graviton2
create mode 100644 mk/machine/graviton2/rte.vars.mk
--
2.16.6
^ permalink raw reply [flat|nested] 11+ messages in thread
* [dpdk-stable] [19.11] [PATCH 1/1] config: add Graviton2(arm64) defconfig
2020-10-05 18:50 [dpdk-stable] [19.11] [PATCH 0/1] Add Graviton2(arm64) build configuration Vimal Chungath
@ 2020-10-05 18:50 ` Vimal Chungath
2020-10-07 3:02 ` Honnappa Nagarahalli
2020-10-06 8:12 ` [dpdk-stable] [19.11] [PATCH 0/1] Add Graviton2(arm64) build configuration Luca Boccassi
2020-10-07 22:59 ` [dpdk-stable] [19.11] [PATCH v2 0/1] Add Graviton2(arm64) build configuration Vimal Chungath
2 siblings, 1 reply; 11+ messages in thread
From: Vimal Chungath @ 2020-10-05 18:50 UTC (permalink / raw)
To: stable; +Cc: bluca, Honnappa.Nagarahalli, bruce.richardson, alisaidi, thomas
Add make configuration for Graviton2 platform with
64-bit ARM Neoverse N1 cores.
Sample build steps:
make config T=arm64-graviton2-linux-gcc O=arm64-build
make -C arm64-build
OR
make config T=graviton2 O=arm64-build
make -C arm64-build
For more information about Graviton2 platform, refer to:
https://aws.amazon.com/ec2/graviton/
Signed-off-by: Vimal Chungath <vcchunga@amazon.com>
---
config/defconfig_arm64-graviton2-linux-gcc | 1 +
config/defconfig_arm64-graviton2-linuxapp-gcc | 13 +++++++++++
config/defconfig_graviton2 | 1 +
mk/machine/graviton2/rte.vars.mk | 33 +++++++++++++++++++++++++++
4 files changed, 48 insertions(+)
create mode 120000 config/defconfig_arm64-graviton2-linux-gcc
create mode 100644 config/defconfig_arm64-graviton2-linuxapp-gcc
create mode 120000 config/defconfig_graviton2
create mode 100644 mk/machine/graviton2/rte.vars.mk
diff --git a/config/defconfig_arm64-graviton2-linux-gcc b/config/defconfig_arm64-graviton2-linux-gcc
new file mode 120000
index 000000000..80ac94d54
--- /dev/null
+++ b/config/defconfig_arm64-graviton2-linux-gcc
@@ -0,0 +1 @@
+defconfig_arm64-graviton2-linuxapp-gcc
\ No newline at end of file
diff --git a/config/defconfig_arm64-graviton2-linuxapp-gcc b/config/defconfig_arm64-graviton2-linuxapp-gcc
new file mode 100644
index 000000000..e99fef307
--- /dev/null
+++ b/config/defconfig_arm64-graviton2-linuxapp-gcc
@@ -0,0 +1,13 @@
+# SPDX-License-Identifier: BSD-3-Clause
+# Copyright(c) Amazon.com, Inc or its affiliates
+#
+
+#include "defconfig_arm64-armv8a-linux-gcc"
+
+CONFIG_RTE_MACHINE="graviton2"
+CONFIG_RTE_MAX_LCORE=64
+CONFIG_RTE_CACHE_LINE_SIZE=64
+CONFIG_RTE_MAX_MEM_MB=1048576
+CONFIG_RTE_MAX_NUMA_NODES=1
+CONFIG_RTE_EAL_NUMA_AWARE_HUGEPAGES=n
+CONFIG_RTE_LIBRTE_VHOST_NUMA=n
diff --git a/config/defconfig_graviton2 b/config/defconfig_graviton2
new file mode 120000
index 000000000..80ac94d54
--- /dev/null
+++ b/config/defconfig_graviton2
@@ -0,0 +1 @@
+defconfig_arm64-graviton2-linuxapp-gcc
\ No newline at end of file
diff --git a/mk/machine/graviton2/rte.vars.mk b/mk/machine/graviton2/rte.vars.mk
new file mode 100644
index 000000000..acb027968
--- /dev/null
+++ b/mk/machine/graviton2/rte.vars.mk
@@ -0,0 +1,33 @@
+# SPDX-License-Identifier: BSD-3-Clause
+# Copyright(c) Amazon.com, Inc or its affiliates
+#
+
+#
+# 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.2-a+crypto)
--
2.16.6
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [dpdk-stable] [19.11] [PATCH 0/1] Add Graviton2(arm64) build configuration
2020-10-05 18:50 [dpdk-stable] [19.11] [PATCH 0/1] Add Graviton2(arm64) build configuration Vimal Chungath
2020-10-05 18:50 ` [dpdk-stable] [19.11] [PATCH 1/1] config: add Graviton2(arm64) defconfig Vimal Chungath
@ 2020-10-06 8:12 ` Luca Boccassi
2020-10-06 18:44 ` [dpdk-stable] [19.11] [PATCH 1/1] config: add Graviton2(arm64) defconfig Vimal Chungath
2020-10-07 22:59 ` [dpdk-stable] [19.11] [PATCH v2 0/1] Add Graviton2(arm64) build configuration Vimal Chungath
2 siblings, 1 reply; 11+ messages in thread
From: Luca Boccassi @ 2020-10-06 8:12 UTC (permalink / raw)
To: Vimal Chungath, stable
Cc: Honnappa.Nagarahalli, bruce.richardson, alisaidi, thomas
On Mon, 2020-10-05 at 11:50 -0700, Vimal Chungath wrote:
> This patch adds make build configuration for AWS Graviton2 platform
> based on ARM Neoverse N1. Meson build works but uses configuration for
> N1 SDP that is not optimal. Rework in meson build system for ARM SoCs
> is planned so I have chosen not to add meson configuration for this
> 19.11 patch.
>
> Vimal Chungath (1):
> config: add Graviton2(arm64) defconfig
>
> config/defconfig_arm64-graviton2-linux-gcc | 1 +
> config/defconfig_arm64-graviton2-linuxapp-gcc | 13 +++++++++++
> config/defconfig_graviton2 | 1 +
> mk/machine/graviton2/rte.vars.mk | 33 +++++++++++++++++++++++++++
> 4 files changed, 48 insertions(+)
> create mode 120000 config/defconfig_arm64-graviton2-linux-gcc
> create mode 100644 config/defconfig_arm64-graviton2-linuxapp-gcc
> create mode 120000 config/defconfig_graviton2
> create mode 100644 mk/machine/graviton2/rte.vars.mk
Hi,
Is this adding support for a new driver for 19.11? I don't see it in
the main branch?
--
Kind regards,
Luca Boccassi
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [dpdk-stable] [19.11] [PATCH 1/1] config: add Graviton2(arm64) defconfig
2020-10-06 8:12 ` [dpdk-stable] [19.11] [PATCH 0/1] Add Graviton2(arm64) build configuration Luca Boccassi
@ 2020-10-06 18:44 ` Vimal Chungath
2020-10-07 9:18 ` Luca Boccassi
0 siblings, 1 reply; 11+ messages in thread
From: Vimal Chungath @ 2020-10-06 18:44 UTC (permalink / raw)
To: bluca
Cc: Honnappa.Nagarahalli, alisaidi, bruce.richardson, stable, thomas,
vcchunga
On 10/6/20 1:12 AM, Luca Boccassi wrote:
>
>
> On Mon, 2020-10-05 at 11:50 -0700, Vimal Chungath wrote:
>> This patch adds make build configuration for AWS Graviton2 platform
>> based on ARM Neoverse N1. Meson build works but uses configuration for
>> N1 SDP that is not optimal. Rework in meson build system for ARM SoCs
>> is planned so I have chosen not to add meson configuration for this
>> 19.11 patch.
>>
>> Vimal Chungath (1):
>> config: add Graviton2(arm64) defconfig
>>
>> config/defconfig_arm64-graviton2-linux-gcc | 1 +
>> config/defconfig_arm64-graviton2-linuxapp-gcc | 13 +++++++++++
>> config/defconfig_graviton2 | 1 +
>> mk/machine/graviton2/rte.vars.mk | 33 +++++++++++++++++++++++++++
>> 4 files changed, 48 insertions(+)
>> create mode 120000 config/defconfig_arm64-graviton2-linux-gcc
>> create mode 100644 config/defconfig_arm64-graviton2-linuxapp-gcc
>> create mode 120000 config/defconfig_graviton2
>> create mode 100644 mk/machine/graviton2/rte.vars.mk
>
> Hi,
>
> Is this adding support for a new driver for 19.11? I don't see it in
> the main branch?
Hi Luca,
This patch is adding optimal build flags for Graviton2 SoC.
No new driver is being added. Main branch is no longer accepting make build
patches as it is deprecated. For 19.11, I assume make is still the default.
This is the meson patch in review for main branch:
https://patches.dpdk.org/patch/76981/
Regards,
Vimal
>
> --
> Kind regards,
> Luca Boccassi
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [dpdk-stable] [19.11] [PATCH 1/1] config: add Graviton2(arm64) defconfig
2020-10-05 18:50 ` [dpdk-stable] [19.11] [PATCH 1/1] config: add Graviton2(arm64) defconfig Vimal Chungath
@ 2020-10-07 3:02 ` Honnappa Nagarahalli
0 siblings, 0 replies; 11+ messages in thread
From: Honnappa Nagarahalli @ 2020-10-07 3:02 UTC (permalink / raw)
To: Vimal Chungath, stable
Cc: bluca, bruce.richardson, alisaidi, thomas, nd, Honnappa Nagarahalli
<snip>
>
> Add make configuration for Graviton2 platform with 64-bit ARM Neoverse N1
nit ^^^^ Arm
> cores.
>
> Sample build steps:
> make config T=arm64-graviton2-linux-gcc O=arm64-build make -C arm64-
> build OR make config T=graviton2 O=arm64-build make -C arm64-build
>
> For more information about Graviton2 platform, refer to:
> https://aws.amazon.com/ec2/graviton/
>
> Signed-off-by: Vimal Chungath <vcchunga@amazon.com>
> ---
> config/defconfig_arm64-graviton2-linux-gcc | 1 +
> config/defconfig_arm64-graviton2-linuxapp-gcc | 13 +++++++++++
> config/defconfig_graviton2 | 1 +
> mk/machine/graviton2/rte.vars.mk | 33
> +++++++++++++++++++++++++++
> 4 files changed, 48 insertions(+)
> create mode 120000 config/defconfig_arm64-graviton2-linux-gcc
> create mode 100644 config/defconfig_arm64-graviton2-linuxapp-gcc
> create mode 120000 config/defconfig_graviton2 create mode 100644
> mk/machine/graviton2/rte.vars.mk
>
> diff --git a/config/defconfig_arm64-graviton2-linux-gcc
> b/config/defconfig_arm64-graviton2-linux-gcc
> new file mode 120000
> index 000000000..80ac94d54
> --- /dev/null
> +++ b/config/defconfig_arm64-graviton2-linux-gcc
> @@ -0,0 +1 @@
> +defconfig_arm64-graviton2-linuxapp-gcc
> \ No newline at end of file
> diff --git a/config/defconfig_arm64-graviton2-linuxapp-gcc
> b/config/defconfig_arm64-graviton2-linuxapp-gcc
> new file mode 100644
> index 000000000..e99fef307
> --- /dev/null
> +++ b/config/defconfig_arm64-graviton2-linuxapp-gcc
> @@ -0,0 +1,13 @@
> +# SPDX-License-Identifier: BSD-3-Clause # Copyright(c) Amazon.com, Inc
> +or its affiliates #
> +
> +#include "defconfig_arm64-armv8a-linux-gcc"
> +
> +CONFIG_RTE_MACHINE="graviton2"
> +CONFIG_RTE_MAX_LCORE=64
> +CONFIG_RTE_CACHE_LINE_SIZE=64
> +CONFIG_RTE_MAX_MEM_MB=1048576
> +CONFIG_RTE_MAX_NUMA_NODES=1
> +CONFIG_RTE_EAL_NUMA_AWARE_HUGEPAGES=n
> +CONFIG_RTE_LIBRTE_VHOST_NUMA=n
> diff --git a/config/defconfig_graviton2 b/config/defconfig_graviton2 new file
> mode 120000 index 000000000..80ac94d54
> --- /dev/null
> +++ b/config/defconfig_graviton2
> @@ -0,0 +1 @@
> +defconfig_arm64-graviton2-linuxapp-gcc
> \ No newline at end of file
> diff --git a/mk/machine/graviton2/rte.vars.mk
> b/mk/machine/graviton2/rte.vars.mk
> new file mode 100644
> index 000000000..acb027968
> --- /dev/null
> +++ b/mk/machine/graviton2/rte.vars.mk
> @@ -0,0 +1,33 @@
> +# SPDX-License-Identifier: BSD-3-Clause # Copyright(c) Amazon.com, Inc
> +or its affiliates #
> +
> +#
> +# 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.2-
> a+crypto)
MACHINE_CFLAGS += $(call rte_cc_has_argument, -mcpu=neoverse-n1) is needed for possible N1 micro-architecture optimizations.
> --
> 2.16.6
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [dpdk-stable] [19.11] [PATCH 1/1] config: add Graviton2(arm64) defconfig
2020-10-06 18:44 ` [dpdk-stable] [19.11] [PATCH 1/1] config: add Graviton2(arm64) defconfig Vimal Chungath
@ 2020-10-07 9:18 ` Luca Boccassi
2020-10-07 22:56 ` Vimal Chungath
0 siblings, 1 reply; 11+ messages in thread
From: Luca Boccassi @ 2020-10-07 9:18 UTC (permalink / raw)
To: Vimal Chungath
Cc: Honnappa.Nagarahalli, alisaidi, bruce.richardson, stable, thomas
On Tue, 2020-10-06 at 11:44 -0700, Vimal Chungath wrote:
> On 10/6/20 1:12 AM, Luca Boccassi wrote:
> >
> > On Mon, 2020-10-05 at 11:50 -0700, Vimal Chungath wrote:
> > > This patch adds make build configuration for AWS Graviton2 platform
> > > based on ARM Neoverse N1. Meson build works but uses configuration for
> > > N1 SDP that is not optimal. Rework in meson build system for ARM SoCs
> > > is planned so I have chosen not to add meson configuration for this
> > > 19.11 patch.
> > >
> > > Vimal Chungath (1):
> > > config: add Graviton2(arm64) defconfig
> > >
> > > config/defconfig_arm64-graviton2-linux-gcc | 1 +
> > > config/defconfig_arm64-graviton2-linuxapp-gcc | 13 +++++++++++
> > > config/defconfig_graviton2 | 1 +
> > > mk/machine/graviton2/rte.vars.mk | 33 +++++++++++++++++++++++++++
> > > 4 files changed, 48 insertions(+)
> > > create mode 120000 config/defconfig_arm64-graviton2-linux-gcc
> > > create mode 100644 config/defconfig_arm64-graviton2-linuxapp-gcc
> > > create mode 120000 config/defconfig_graviton2
> > > create mode 100644 mk/machine/graviton2/rte.vars.mk
> >
> > Hi,
> >
> > Is this adding support for a new driver for 19.11? I don't see it in
> > the main branch?
>
> Hi Luca,
>
> This patch is adding optimal build flags for Graviton2 SoC.
> No new driver is being added. Main branch is no longer accepting make build
> patches as it is deprecated. For 19.11, I assume make is still the default.
>
> This is the meson patch in review for main branch:
> https://patches.dpdk.org/patch/76981/
>
> Regards,
> Vimal
I see - normally we are careful with new feature/support in LTS
branches, but this seems self-contained enough to be very low risk so
it seems acceptable to me. But Meson is fully supported, so please
update the patchset so that it applies to both build systems.
--
Kind regards,
Luca Boccassi
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [dpdk-stable] [19.11] [PATCH 1/1] config: add Graviton2(arm64) defconfig
2020-10-07 9:18 ` Luca Boccassi
@ 2020-10-07 22:56 ` Vimal Chungath
2020-10-08 4:40 ` Honnappa Nagarahalli
0 siblings, 1 reply; 11+ messages in thread
From: Vimal Chungath @ 2020-10-07 22:56 UTC (permalink / raw)
To: bluca
Cc: Honnappa.Nagarahalli, alisaidi, bruce.richardson, stable, thomas,
vcchunga
On 10/7/20 2:18 AM, Luca Boccassi wrote:
>
> On Tue, 2020-10-06 at 11:44 -0700, Vimal Chungath wrote:
>> On 10/6/20 1:12 AM, Luca Boccassi wrote:
>>>
>>> On Mon, 2020-10-05 at 11:50 -0700, Vimal Chungath wrote:
>>>> This patch adds make build configuration for AWS Graviton2 platform
>>>> based on ARM Neoverse N1. Meson build works but uses configuration for
>>>> N1 SDP that is not optimal. Rework in meson build system for ARM SoCs
>>>> is planned so I have chosen not to add meson configuration for this
>>>> 19.11 patch.
>>>>
>>>> Vimal Chungath (1):
>>>> config: add Graviton2(arm64) defconfig
>>>>
>>>> config/defconfig_arm64-graviton2-linux-gcc | 1 +
>>>> config/defconfig_arm64-graviton2-linuxapp-gcc | 13 +++++++++++
>>>> config/defconfig_graviton2 | 1 +
>>>> mk/machine/graviton2/rte.vars.mk | 33 +++++++++++++++++++++++++++
>>>> 4 files changed, 48 insertions(+)
>>>> create mode 120000 config/defconfig_arm64-graviton2-linux-gcc
>>>> create mode 100644 config/defconfig_arm64-graviton2-linuxapp-gcc
>>>> create mode 120000 config/defconfig_graviton2
>>>> create mode 100644 mk/machine/graviton2/rte.vars.mk
>>>
>>> Hi,
>>>
>>> Is this adding support for a new driver for 19.11? I don't see it in
>>> the main branch?
>>
>> Hi Luca,
>>
>> This patch is adding optimal build flags for Graviton2 SoC.
>> No new driver is being added. Main branch is no longer accepting make build
>> patches as it is deprecated. For 19.11, I assume make is still the default.
>>
>> This is the meson patch in review for main branch:
>> https://patches.dpdk.org/patch/76981/
>>
>> Regards,
>> Vimal
>
> I see - normally we are careful with new feature/support in LTS
> branches, but this seems self-contained enough to be very low risk so
> it seems acceptable to me. But Meson is fully supported, so please
> update the patchset so that it applies to both build systems.
Meson build works as Neoverse N1 configuration already exists so
I chose to not add an explicit patch for it.
Unfortunately, getting meson to choose the same flags as make is
currently not possible as meson does not accept choosing
the exact Arm SoC. More details in the patchwork link above.
Meson rework is being planned on main branch to bridge this gap
but I'm not sure if it will be backported to 19.11.
Honnappa, let us know what you think?
>
> --
> Kind regards,
> Luca Boccassi
^ permalink raw reply [flat|nested] 11+ messages in thread
* [dpdk-stable] [19.11] [PATCH v2 0/1] Add Graviton2(arm64) build configuration
2020-10-05 18:50 [dpdk-stable] [19.11] [PATCH 0/1] Add Graviton2(arm64) build configuration Vimal Chungath
2020-10-05 18:50 ` [dpdk-stable] [19.11] [PATCH 1/1] config: add Graviton2(arm64) defconfig Vimal Chungath
2020-10-06 8:12 ` [dpdk-stable] [19.11] [PATCH 0/1] Add Graviton2(arm64) build configuration Luca Boccassi
@ 2020-10-07 22:59 ` Vimal Chungath
2020-10-07 22:59 ` [dpdk-stable] [19.11] [PATCH v2 1/1] config: add Graviton2(arm64) defconfig Vimal Chungath
2 siblings, 1 reply; 11+ messages in thread
From: Vimal Chungath @ 2020-10-07 22:59 UTC (permalink / raw)
To: vcchunga
Cc: Honnappa.Nagarahalli, alisaidi, bluca, bruce.richardson, stable, thomas
V2 changes:
- add -mcpu arg to rte.vars.mk
- fix typo in commit message
Vimal Chungath (1):
config: add Graviton2(arm64) defconfig
config/defconfig_arm64-graviton2-linux-gcc | 1 +
config/defconfig_arm64-graviton2-linuxapp-gcc | 13 ++++++++++
config/defconfig_graviton2 | 1 +
mk/machine/graviton2/rte.vars.mk | 34 +++++++++++++++++++++++++++
4 files changed, 49 insertions(+)
create mode 120000 config/defconfig_arm64-graviton2-linux-gcc
create mode 100644 config/defconfig_arm64-graviton2-linuxapp-gcc
create mode 120000 config/defconfig_graviton2
create mode 100644 mk/machine/graviton2/rte.vars.mk
--
2.16.6
^ permalink raw reply [flat|nested] 11+ messages in thread
* [dpdk-stable] [19.11] [PATCH v2 1/1] config: add Graviton2(arm64) defconfig
2020-10-07 22:59 ` [dpdk-stable] [19.11] [PATCH v2 0/1] Add Graviton2(arm64) build configuration Vimal Chungath
@ 2020-10-07 22:59 ` Vimal Chungath
2020-10-08 4:45 ` Honnappa Nagarahalli
0 siblings, 1 reply; 11+ messages in thread
From: Vimal Chungath @ 2020-10-07 22:59 UTC (permalink / raw)
To: vcchunga
Cc: Honnappa.Nagarahalli, alisaidi, bluca, bruce.richardson, stable, thomas
Add make configuration for Graviton2 platform with
64-bit Arm Neoverse N1 cores.
Sample build steps:
make config T=arm64-graviton2-linux-gcc O=arm64-build
make -C arm64-build
OR
make config T=graviton2 O=arm64-build
make -C arm64-build
For more information about Graviton2 platform, refer to:
https://aws.amazon.com/ec2/graviton/
Signed-off-by: Vimal Chungath <vcchunga@amazon.com>
---
config/defconfig_arm64-graviton2-linux-gcc | 1 +
config/defconfig_arm64-graviton2-linuxapp-gcc | 13 ++++++++++
config/defconfig_graviton2 | 1 +
mk/machine/graviton2/rte.vars.mk | 34 +++++++++++++++++++++++++++
4 files changed, 49 insertions(+)
create mode 120000 config/defconfig_arm64-graviton2-linux-gcc
create mode 100644 config/defconfig_arm64-graviton2-linuxapp-gcc
create mode 120000 config/defconfig_graviton2
create mode 100644 mk/machine/graviton2/rte.vars.mk
diff --git a/config/defconfig_arm64-graviton2-linux-gcc b/config/defconfig_arm64-graviton2-linux-gcc
new file mode 120000
index 000000000..80ac94d54
--- /dev/null
+++ b/config/defconfig_arm64-graviton2-linux-gcc
@@ -0,0 +1 @@
+defconfig_arm64-graviton2-linuxapp-gcc
\ No newline at end of file
diff --git a/config/defconfig_arm64-graviton2-linuxapp-gcc b/config/defconfig_arm64-graviton2-linuxapp-gcc
new file mode 100644
index 000000000..e99fef307
--- /dev/null
+++ b/config/defconfig_arm64-graviton2-linuxapp-gcc
@@ -0,0 +1,13 @@
+# SPDX-License-Identifier: BSD-3-Clause
+# Copyright(c) Amazon.com, Inc or its affiliates
+#
+
+#include "defconfig_arm64-armv8a-linux-gcc"
+
+CONFIG_RTE_MACHINE="graviton2"
+CONFIG_RTE_MAX_LCORE=64
+CONFIG_RTE_CACHE_LINE_SIZE=64
+CONFIG_RTE_MAX_MEM_MB=1048576
+CONFIG_RTE_MAX_NUMA_NODES=1
+CONFIG_RTE_EAL_NUMA_AWARE_HUGEPAGES=n
+CONFIG_RTE_LIBRTE_VHOST_NUMA=n
diff --git a/config/defconfig_graviton2 b/config/defconfig_graviton2
new file mode 120000
index 000000000..80ac94d54
--- /dev/null
+++ b/config/defconfig_graviton2
@@ -0,0 +1 @@
+defconfig_arm64-graviton2-linuxapp-gcc
\ No newline at end of file
diff --git a/mk/machine/graviton2/rte.vars.mk b/mk/machine/graviton2/rte.vars.mk
new file mode 100644
index 000000000..1796c9cf8
--- /dev/null
+++ b/mk/machine/graviton2/rte.vars.mk
@@ -0,0 +1,34 @@
+# SPDX-License-Identifier: BSD-3-Clause
+# Copyright(c) Amazon.com, Inc or its affiliates
+#
+
+#
+# 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.2-a+crypto)
+MACHINE_CFLAGS += $(call rte_cc_has_argument, -mcpu=neoverse-n1)
--
2.16.6
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [dpdk-stable] [19.11] [PATCH 1/1] config: add Graviton2(arm64) defconfig
2020-10-07 22:56 ` Vimal Chungath
@ 2020-10-08 4:40 ` Honnappa Nagarahalli
0 siblings, 0 replies; 11+ messages in thread
From: Honnappa Nagarahalli @ 2020-10-08 4:40 UTC (permalink / raw)
To: Vimal Chungath, bluca
Cc: alisaidi, bruce.richardson, stable, thomas, nd, Honnappa Nagarahalli
<snip>
>
> On 10/7/20 2:18 AM, Luca Boccassi wrote:
> >
> > On Tue, 2020-10-06 at 11:44 -0700, Vimal Chungath wrote:
> >> On 10/6/20 1:12 AM, Luca Boccassi wrote:
> >>>
> >>> On Mon, 2020-10-05 at 11:50 -0700, Vimal Chungath wrote:
> >>>> This patch adds make build configuration for AWS Graviton2 platform
> >>>> based on ARM Neoverse N1. Meson build works but uses configuration
> >>>> for
> >>>> N1 SDP that is not optimal. Rework in meson build system for ARM
> >>>> SoCs is planned so I have chosen not to add meson configuration for
> >>>> this
> >>>> 19.11 patch.
> >>>>
> >>>> Vimal Chungath (1):
> >>>> config: add Graviton2(arm64) defconfig
> >>>>
> >>>> config/defconfig_arm64-graviton2-linux-gcc | 1 +
> >>>> config/defconfig_arm64-graviton2-linuxapp-gcc | 13 +++++++++++
> >>>> config/defconfig_graviton2 | 1 +
> >>>> mk/machine/graviton2/rte.vars.mk | 33
> +++++++++++++++++++++++++++
> >>>> 4 files changed, 48 insertions(+)
> >>>> create mode 120000 config/defconfig_arm64-graviton2-linux-gcc
> >>>> create mode 100644 config/defconfig_arm64-graviton2-linuxapp-gcc
> >>>> create mode 120000 config/defconfig_graviton2 create mode 100644
> >>>> mk/machine/graviton2/rte.vars.mk
> >>>
> >>> Hi,
> >>>
> >>> Is this adding support for a new driver for 19.11? I don't see it in
> >>> the main branch?
> >>
> >> Hi Luca,
> >>
> >> This patch is adding optimal build flags for Graviton2 SoC.
> >> No new driver is being added. Main branch is no longer accepting make
> >> build patches as it is deprecated. For 19.11, I assume make is still the
> default.
> >>
> >> This is the meson patch in review for main branch:
> >> https://patches.dpdk.org/patch/76981/
> >>
> >> Regards,
> >> Vimal
> >
> > I see - normally we are careful with new feature/support in LTS
> > branches, but this seems self-contained enough to be very low risk so
> > it seems acceptable to me. But Meson is fully supported, so please
> > update the patchset so that it applies to both build systems.
>
> Meson build works as Neoverse N1 configuration already exists so I chose to
> not add an explicit patch for it.
> Unfortunately, getting meson to choose the same flags as make is currently
> not possible as meson does not accept choosing the exact Arm SoC. More
> details in the patchwork link above.
> Meson rework is being planned on main branch to bridge this gap but I'm not
> sure if it will be backported to 19.11.
> Honnappa, let us know what you think?
I would like to backport the Arm related changes to meson build. If for any reason, we cannot backport, I am ok to change the N1 configuration to support Graviton2 for stable releases.
>
> >
> > --
> > Kind regards,
> > Luca Boccassi
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [dpdk-stable] [19.11] [PATCH v2 1/1] config: add Graviton2(arm64) defconfig
2020-10-07 22:59 ` [dpdk-stable] [19.11] [PATCH v2 1/1] config: add Graviton2(arm64) defconfig Vimal Chungath
@ 2020-10-08 4:45 ` Honnappa Nagarahalli
0 siblings, 0 replies; 11+ messages in thread
From: Honnappa Nagarahalli @ 2020-10-08 4:45 UTC (permalink / raw)
To: Vimal Chungath
Cc: alisaidi, bluca, bruce.richardson, stable, thomas, nd,
Honnappa Nagarahalli
> -----Original Message-----
> From: Vimal Chungath <vcchunga@amazon.com>
> Sent: Wednesday, October 7, 2020 5:59 PM
> To: vcchunga@amazon.com
> Cc: Honnappa Nagarahalli <Honnappa.Nagarahalli@arm.com>;
> alisaidi@amazon.com; bluca@debian.org; bruce.richardson@intel.com;
> stable@dpdk.org; thomas@monjalon.net
> Subject: [19.11] [PATCH v2 1/1] config: add Graviton2(arm64) defconfig
>
> Add make configuration for Graviton2 platform with 64-bit Arm Neoverse N1
> cores.
>
> Sample build steps:
> make config T=arm64-graviton2-linux-gcc O=arm64-build make -C arm64-
> build OR make config T=graviton2 O=arm64-build make -C arm64-build
>
> For more information about Graviton2 platform, refer to:
> https://aws.amazon.com/ec2/graviton/
>
> Signed-off-by: Vimal Chungath <vcchunga@amazon.com>
Looks good.
Reviewed-by: Honnappa Nagarahalli <honnappa.nagarahalli@arm.com>
> ---
> config/defconfig_arm64-graviton2-linux-gcc | 1 +
> config/defconfig_arm64-graviton2-linuxapp-gcc | 13 ++++++++++
> config/defconfig_graviton2 | 1 +
> mk/machine/graviton2/rte.vars.mk | 34
> +++++++++++++++++++++++++++
> 4 files changed, 49 insertions(+)
> create mode 120000 config/defconfig_arm64-graviton2-linux-gcc
> create mode 100644 config/defconfig_arm64-graviton2-linuxapp-gcc
> create mode 120000 config/defconfig_graviton2 create mode 100644
> mk/machine/graviton2/rte.vars.mk
>
> diff --git a/config/defconfig_arm64-graviton2-linux-gcc
> b/config/defconfig_arm64-graviton2-linux-gcc
> new file mode 120000
> index 000000000..80ac94d54
> --- /dev/null
> +++ b/config/defconfig_arm64-graviton2-linux-gcc
> @@ -0,0 +1 @@
> +defconfig_arm64-graviton2-linuxapp-gcc
> \ No newline at end of file
> diff --git a/config/defconfig_arm64-graviton2-linuxapp-gcc
> b/config/defconfig_arm64-graviton2-linuxapp-gcc
> new file mode 100644
> index 000000000..e99fef307
> --- /dev/null
> +++ b/config/defconfig_arm64-graviton2-linuxapp-gcc
> @@ -0,0 +1,13 @@
> +# SPDX-License-Identifier: BSD-3-Clause # Copyright(c) Amazon.com, Inc
> +or its affiliates #
> +
> +#include "defconfig_arm64-armv8a-linux-gcc"
> +
> +CONFIG_RTE_MACHINE="graviton2"
> +CONFIG_RTE_MAX_LCORE=64
> +CONFIG_RTE_CACHE_LINE_SIZE=64
> +CONFIG_RTE_MAX_MEM_MB=1048576
> +CONFIG_RTE_MAX_NUMA_NODES=1
> +CONFIG_RTE_EAL_NUMA_AWARE_HUGEPAGES=n
> +CONFIG_RTE_LIBRTE_VHOST_NUMA=n
> diff --git a/config/defconfig_graviton2 b/config/defconfig_graviton2 new file
> mode 120000 index 000000000..80ac94d54
> --- /dev/null
> +++ b/config/defconfig_graviton2
> @@ -0,0 +1 @@
> +defconfig_arm64-graviton2-linuxapp-gcc
> \ No newline at end of file
> diff --git a/mk/machine/graviton2/rte.vars.mk
> b/mk/machine/graviton2/rte.vars.mk
> new file mode 100644
> index 000000000..1796c9cf8
> --- /dev/null
> +++ b/mk/machine/graviton2/rte.vars.mk
> @@ -0,0 +1,34 @@
> +# SPDX-License-Identifier: BSD-3-Clause # Copyright(c) Amazon.com, Inc
> +or its affiliates #
> +
> +#
> +# 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.2-
> a+crypto)
> +MACHINE_CFLAGS += $(call rte_cc_has_argument, -mcpu=neoverse-n1)
> --
> 2.16.6
^ permalink raw reply [flat|nested] 11+ messages in thread
end of thread, other threads:[~2020-10-08 4:45 UTC | newest]
Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-10-05 18:50 [dpdk-stable] [19.11] [PATCH 0/1] Add Graviton2(arm64) build configuration Vimal Chungath
2020-10-05 18:50 ` [dpdk-stable] [19.11] [PATCH 1/1] config: add Graviton2(arm64) defconfig Vimal Chungath
2020-10-07 3:02 ` Honnappa Nagarahalli
2020-10-06 8:12 ` [dpdk-stable] [19.11] [PATCH 0/1] Add Graviton2(arm64) build configuration Luca Boccassi
2020-10-06 18:44 ` [dpdk-stable] [19.11] [PATCH 1/1] config: add Graviton2(arm64) defconfig Vimal Chungath
2020-10-07 9:18 ` Luca Boccassi
2020-10-07 22:56 ` Vimal Chungath
2020-10-08 4:40 ` Honnappa Nagarahalli
2020-10-07 22:59 ` [dpdk-stable] [19.11] [PATCH v2 0/1] Add Graviton2(arm64) build configuration Vimal Chungath
2020-10-07 22:59 ` [dpdk-stable] [19.11] [PATCH v2 1/1] config: add Graviton2(arm64) defconfig Vimal Chungath
2020-10-08 4:45 ` Honnappa Nagarahalli
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).