patches for DPDK stable branches
 help / color / mirror / Atom feed
* [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).