DPDK patches and discussions
 help / color / mirror / Atom feed
* [dpdk-dev] [PATCH 0/2] build: add Graviton2(arm64) config
@ 2020-09-09  1:11 Vimal Chungath
  2020-09-09  1:11 ` [dpdk-dev] [PATCH 1/2] config: add Graviton2(arm64) meson configuration Vimal Chungath
                   ` (4 more replies)
  0 siblings, 5 replies; 28+ messages in thread
From: Vimal Chungath @ 2020-09-09  1:11 UTC (permalink / raw)
  To: dev; +Cc: bruce.richardson

These two patches add meson and make build configuration
for AWS Graviton2 platform. I plan to send platform guide
patch separately.

Vimal Chungath (2):
  config: add Graviton2(arm64) meson configuration
  config: add Graviton2(arm64) defconfig

 config/arm/arm64_graviton2_linux_gcc          | 17 ++++++++++++++
 config/arm/meson.build                        | 12 +++++++++-
 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 +++++++++++++++++++++++++++
 6 files changed, 76 insertions(+), 1 deletion(-)
 create mode 100644 config/arm/arm64_graviton2_linux_gcc
 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] 28+ messages in thread

* [dpdk-dev] [PATCH 1/2] config: add Graviton2(arm64) meson configuration
  2020-09-09  1:11 [dpdk-dev] [PATCH 0/2] build: add Graviton2(arm64) config Vimal Chungath
@ 2020-09-09  1:11 ` Vimal Chungath
  2020-09-12  3:23   ` Honnappa Nagarahalli
  2020-09-09  1:11 ` [dpdk-dev] [PATCH 2/2] config: add Graviton2(arm64) defconfig Vimal Chungath
                   ` (3 subsequent siblings)
  4 siblings, 1 reply; 28+ messages in thread
From: Vimal Chungath @ 2020-09-09  1:11 UTC (permalink / raw)
  To: dev; +Cc: bruce.richardson

Add meson build configuration for Graviton2 platform
with 64-bit ARM Neoverse N1 cores. This patch makes the
following changes to generic Neoverse N1 config:

1. increase lcore limit to 64
2. increase memory support to 1TB
3. remove +crc from -march as that is default when setting armv8.2

For more information about Graviton2 platform, refer to:
https://aws.amazon.com/ec2/graviton/

Signed-off-by: Vimal Chungath <vcchunga@amazon.com>
---
 config/arm/arm64_graviton2_linux_gcc | 17 +++++++++++++++++
 config/arm/meson.build               | 12 +++++++++++-
 2 files changed, 28 insertions(+), 1 deletion(-)
 create mode 100644 config/arm/arm64_graviton2_linux_gcc

diff --git a/config/arm/arm64_graviton2_linux_gcc b/config/arm/arm64_graviton2_linux_gcc
new file mode 100644
index 000000000..022e06303
--- /dev/null
+++ b/config/arm/arm64_graviton2_linux_gcc
@@ -0,0 +1,17 @@
+[binaries]
+c = 'aarch64-linux-gnu-gcc'
+cpp = 'aarch64-linux-gnu-cpp'
+ar = 'aarch64-linux-gnu-gcc-ar'
+strip = 'aarch64-linux-gnu-strip'
+pkgconfig = 'aarch64-linux-gnu-pkg-config'
+pcap-config = ''
+
+[host_machine]
+system = 'linux'
+cpu_family = 'aarch64'
+cpu = 'armv8-a'
+endian = 'little'
+
+[properties]
+implementor_id = '0x41'
+implementor_pn = '0xd0c'
diff --git a/config/arm/meson.build b/config/arm/meson.build
index 8728051d5..64e277ebc 100644
--- a/config/arm/meson.build
+++ b/config/arm/meson.build
@@ -86,6 +86,16 @@ flags_octeontx2_extra = [
 	['RTE_ARM_FEATURE_ATOMICS', true],
 	['RTE_EAL_IGB_UIO', false],
 	['RTE_USE_C11_MEM_MODEL', true]]
+flags_n1generic_extra = [
+	['RTE_MACHINE', '"neoverse-n1"'],
+	['RTE_MAX_LCORE', 64],
+	['RTE_CACHE_LINE_SIZE', 64],
+	['RTE_ARM_FEATURE_ATOMICS', true],
+	['RTE_USE_C11_MEM_MODEL', true],
+	['RTE_MAX_MEM_MB', 1048576],
+	['RTE_MAX_NUMA_NODES', 1],
+	['RTE_EAL_NUMA_AWARE_HUGEPAGES', false],
+	['RTE_LIBRTE_VHOST_NUMA', false]]
 
 machine_args_generic = [
 	['default', ['-march=armv8-a+crc']],
@@ -97,7 +107,7 @@ machine_args_generic = [
 	['0xd09', ['-mcpu=cortex-a73']],
 	['0xd0a', ['-mcpu=cortex-a75']],
 	['0xd0b', ['-mcpu=cortex-a76']],
-	['0xd0c', ['-march=armv8.2-a+crc+crypto', '-mcpu=neoverse-n1'], flags_n1sdp_extra]]
+	['0xd0c', ['-march=armv8.2-a+crypto', '-mcpu=neoverse-n1'], flags_n1generic_extra]]
 
 machine_args_cavium = [
 	['default', ['-march=armv8-a+crc+crypto','-mcpu=thunderx']],
-- 
2.16.6


^ permalink raw reply	[flat|nested] 28+ messages in thread

* [dpdk-dev] [PATCH 2/2] config: add Graviton2(arm64) defconfig
  2020-09-09  1:11 [dpdk-dev] [PATCH 0/2] build: add Graviton2(arm64) config Vimal Chungath
  2020-09-09  1:11 ` [dpdk-dev] [PATCH 1/2] config: add Graviton2(arm64) meson configuration Vimal Chungath
@ 2020-09-09  1:11 ` Vimal Chungath
  2020-09-09  8:03 ` [dpdk-dev] [PATCH 0/2] build: add Graviton2(arm64) config David Marchand
                   ` (2 subsequent siblings)
  4 siblings, 0 replies; 28+ messages in thread
From: Vimal Chungath @ 2020-09-09  1:11 UTC (permalink / raw)
  To: dev; +Cc: bruce.richardson

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] 28+ messages in thread

* Re: [dpdk-dev] [PATCH 0/2] build: add Graviton2(arm64) config
  2020-09-09  1:11 [dpdk-dev] [PATCH 0/2] build: add Graviton2(arm64) config Vimal Chungath
  2020-09-09  1:11 ` [dpdk-dev] [PATCH 1/2] config: add Graviton2(arm64) meson configuration Vimal Chungath
  2020-09-09  1:11 ` [dpdk-dev] [PATCH 2/2] config: add Graviton2(arm64) defconfig Vimal Chungath
@ 2020-09-09  8:03 ` David Marchand
  2020-09-12 18:28   ` Vimal Chungath
  2020-10-27 20:17 ` [dpdk-dev] [PATCH v2 0/1] build: add Graviton2(arm64) meson configuration Vimal Chungath
  2020-11-03 18:06 ` [dpdk-dev] [PATCH v3 0/1] " Vimal Chungath
  4 siblings, 1 reply; 28+ messages in thread
From: David Marchand @ 2020-09-09  8:03 UTC (permalink / raw)
  To: Vimal Chungath; +Cc: dev, Bruce Richardson

Hello Vimal,

On Wed, Sep 9, 2020 at 3:11 AM Vimal Chungath <vcchunga@amazon.com> wrote:
>
> These two patches add meson and make build configuration
> for AWS Graviton2 platform. I plan to send platform guide
> patch separately.
>
> Vimal Chungath (2):
>   config: add Graviton2(arm64) meson configuration
>   config: add Graviton2(arm64) defconfig

I did not look at the patches, just looked at the cover letter.
You can drop the makefile config files since make support has been dropped.
Thanks.


-- 
David Marchand


^ permalink raw reply	[flat|nested] 28+ messages in thread

* Re: [dpdk-dev] [PATCH 1/2] config: add Graviton2(arm64) meson configuration
  2020-09-09  1:11 ` [dpdk-dev] [PATCH 1/2] config: add Graviton2(arm64) meson configuration Vimal Chungath
@ 2020-09-12  3:23   ` Honnappa Nagarahalli
  2020-09-12 18:24     ` Vimal Chungath
  0 siblings, 1 reply; 28+ messages in thread
From: Honnappa Nagarahalli @ 2020-09-12  3:23 UTC (permalink / raw)
  To: Vimal Chungath, dev
  Cc: bruce.richardson, jerinj, hemant.agrawal, Dharmik Thakkar, nd,
	Honnappa Nagarahalli, nd

+Jerin, Hemant, Dharmik

<snip>
Hi Vimal,
	Few comments inline.

> 
> Add meson build configuration for Graviton2 platform with 64-bit ARM
> Neoverse N1 cores. This patch makes the following changes to generic
> Neoverse N1 config:
> 
> 1. increase lcore limit to 64
> 2. increase memory support to 1TB
There will be multiple SoCs with N1 cores. All of them will have the same implementor ID and part number. But, they will have different values for these configurable parameters.
IMO, from usage perspective, we have 2 cases:
1) Ability to build a portable binary that can run on multiple Arm SoCs (for ex: BlueField, thunderx1, thunderx2, N1SDP, Graviton2 etc)
2) Ability to build a binary which would run only on a SoC it was compiled for and provide the most optimized binary for that SoC. But, this may not be portable.

For 1) we have default march.

For 2) we do not have the capability today in meson build (at least, this is my understanding, please correct me if I am wrong). In this case, the user knows the target platform for compilation. IMO, we should add the capability to take the target platform as an input from the user (similar to the make build system) and Graviton2 can be one such target platform.

> 3. remove +crc from -march as that is default when setting armv8.2
> 
> For more information about Graviton2 platform, refer to:
> https://aws.amazon.com/ec2/graviton/
> 
> Signed-off-by: Vimal Chungath <vcchunga@amazon.com>
> ---
>  config/arm/arm64_graviton2_linux_gcc | 17 +++++++++++++++++
>  config/arm/meson.build               | 12 +++++++++++-
>  2 files changed, 28 insertions(+), 1 deletion(-)  create mode 100644
> config/arm/arm64_graviton2_linux_gcc
> 
> diff --git a/config/arm/arm64_graviton2_linux_gcc
> b/config/arm/arm64_graviton2_linux_gcc
> new file mode 100644
> index 000000000..022e06303
> --- /dev/null
> +++ b/config/arm/arm64_graviton2_linux_gcc
> @@ -0,0 +1,17 @@
> +[binaries]
> +c = 'aarch64-linux-gnu-gcc'
> +cpp = 'aarch64-linux-gnu-cpp'
> +ar = 'aarch64-linux-gnu-gcc-ar'
> +strip = 'aarch64-linux-gnu-strip'
> +pkgconfig = 'aarch64-linux-gnu-pkg-config'
> +pcap-config = ''
> +
> +[host_machine]
> +system = 'linux'
> +cpu_family = 'aarch64'
> +cpu = 'armv8-a'
> +endian = 'little'
> +
> +[properties]
> +implementor_id = '0x41'
> +implementor_pn = '0xd0c'
> diff --git a/config/arm/meson.build b/config/arm/meson.build index
> 8728051d5..64e277ebc 100644
> --- a/config/arm/meson.build
> +++ b/config/arm/meson.build
> @@ -86,6 +86,16 @@ flags_octeontx2_extra = [
>  	['RTE_ARM_FEATURE_ATOMICS', true],
>  	['RTE_EAL_IGB_UIO', false],
>  	['RTE_USE_C11_MEM_MODEL', true]]
> +flags_n1generic_extra = [
> +	['RTE_MACHINE', '"neoverse-n1"'],
> +	['RTE_MAX_LCORE', 64],
> +	['RTE_CACHE_LINE_SIZE', 64],
> +	['RTE_ARM_FEATURE_ATOMICS', true],
> +	['RTE_USE_C11_MEM_MODEL', true],
> +	['RTE_MAX_MEM_MB', 1048576],
> +	['RTE_MAX_NUMA_NODES', 1],
> +	['RTE_EAL_NUMA_AWARE_HUGEPAGES', false],
> +	['RTE_LIBRTE_VHOST_NUMA', false]]
> 
>  machine_args_generic = [
>  	['default', ['-march=armv8-a+crc']],
> @@ -97,7 +107,7 @@ machine_args_generic = [
>  	['0xd09', ['-mcpu=cortex-a73']],
>  	['0xd0a', ['-mcpu=cortex-a75']],
>  	['0xd0b', ['-mcpu=cortex-a76']],
> -	['0xd0c', ['-march=armv8.2-a+crc+crypto', '-mcpu=neoverse-n1'],
> flags_n1sdp_extra]]
> +	['0xd0c', ['-march=armv8.2-a+crypto', '-mcpu=neoverse-n1'],
> +flags_n1generic_extra]]
> 
>  machine_args_cavium = [
>  	['default', ['-march=armv8-a+crc+crypto','-mcpu=thunderx']],
> --
> 2.16.6


^ permalink raw reply	[flat|nested] 28+ messages in thread

* Re: [dpdk-dev] [PATCH 1/2] config: add Graviton2(arm64) meson configuration
  2020-09-12  3:23   ` Honnappa Nagarahalli
@ 2020-09-12 18:24     ` Vimal Chungath
  2020-09-14  4:49       ` Honnappa Nagarahalli
  0 siblings, 1 reply; 28+ messages in thread
From: Vimal Chungath @ 2020-09-12 18:24 UTC (permalink / raw)
  To: honnappa.nagarahalli
  Cc: Dharmik.Thakkar, bruce.richardson, dev, hemant.agrawal, jerinj,
	nd, vcchunga

On 9/11/20 8:23 PM, Honnappa Nagarahalli wrote:
>
> +Jerin, Hemant, Dharmik
>
> <snip>
> Hi Vimal,
>         Few comments inline.
>
>>
>> Add meson build configuration for Graviton2 platform with 64-bit ARM
>> Neoverse N1 cores. This patch makes the following changes to generic
>> Neoverse N1 config:
>>
>> 1. increase lcore limit to 64
>> 2. increase memory support to 1TB
> There will be multiple SoCs with N1 cores. All of them will have the same implementor ID and part number. But, they will have different values for these configurable parameters.
> IMO, from usage perspective, we have 2 cases:
> 1) Ability to build a portable binary that can run on multiple Arm SoCs (for ex: BlueField, thunderx1, thunderx2, N1SDP, Graviton2 etc)
> 2) Ability to build a binary which would run only on a SoC it was compiled for and provide the most optimized binary for that SoC. But, this may not be portable.
>
> For 1) we have default march.
>
> For 2) we do not have the capability today in meson build (at least, this is my understanding, please correct me if I am wrong). In this case, the user knows the target platform for compilation. IMO, we should add the capability to take the target platform as an input from the user (similar to the make build system) and Graviton2 can be one such target platform.

My intention was to have parameters that work for both N1SDP and Graviton2
rather than 2). Does the change to RTE_MAX_LCORE and RTE_MAX_MEM_MB make them
incompatible with N1SDP?

I'm not sure if taking target platform from user is the best option here.
Would this be specific to N1 since other platforms like thunderx 
differentiate the flags with part number?

>
>> 3. remove +crc from -march as that is default when setting armv8.2
>>
>> For more information about Graviton2 platform, refer to:
>> https://aws.amazon.com/ec2/graviton/
>>
>> Signed-off-by: Vimal Chungath <vcchunga@amazon.com>
>> ---
>>  config/arm/arm64_graviton2_linux_gcc | 17 +++++++++++++++++
>>  config/arm/meson.build               | 12 +++++++++++-
>>  2 files changed, 28 insertions(+), 1 deletion(-)  create mode 100644
>> config/arm/arm64_graviton2_linux_gcc
>>
>> diff --git a/config/arm/arm64_graviton2_linux_gcc
>> b/config/arm/arm64_graviton2_linux_gcc
>> new file mode 100644
>> index 000000000..022e06303
>> --- /dev/null
>> +++ b/config/arm/arm64_graviton2_linux_gcc
>> @@ -0,0 +1,17 @@
>> +[binaries]
>> +c = 'aarch64-linux-gnu-gcc'
>> +cpp = 'aarch64-linux-gnu-cpp'
>> +ar = 'aarch64-linux-gnu-gcc-ar'
>> +strip = 'aarch64-linux-gnu-strip'
>> +pkgconfig = 'aarch64-linux-gnu-pkg-config'
>> +pcap-config = ''
>> +
>> +[host_machine]
>> +system = 'linux'
>> +cpu_family = 'aarch64'
>> +cpu = 'armv8-a'
>> +endian = 'little'
>> +
>> +[properties]
>> +implementor_id = '0x41'
>> +implementor_pn = '0xd0c'
>> diff --git a/config/arm/meson.build b/config/arm/meson.build index
>> 8728051d5..64e277ebc 100644
>> --- a/config/arm/meson.build
>> +++ b/config/arm/meson.build
>> @@ -86,6 +86,16 @@ flags_octeontx2_extra = [
>>       ['RTE_ARM_FEATURE_ATOMICS', true],
>>       ['RTE_EAL_IGB_UIO', false],
>>       ['RTE_USE_C11_MEM_MODEL', true]]
>> +flags_n1generic_extra = [
>> +     ['RTE_MACHINE', '"neoverse-n1"'],
>> +     ['RTE_MAX_LCORE', 64],
>> +     ['RTE_CACHE_LINE_SIZE', 64],
>> +     ['RTE_ARM_FEATURE_ATOMICS', true],
>> +     ['RTE_USE_C11_MEM_MODEL', true],
>> +     ['RTE_MAX_MEM_MB', 1048576],
>> +     ['RTE_MAX_NUMA_NODES', 1],
>> +     ['RTE_EAL_NUMA_AWARE_HUGEPAGES', false],
>> +     ['RTE_LIBRTE_VHOST_NUMA', false]]
>>
>>  machine_args_generic = [
>>       ['default', ['-march=armv8-a+crc']],
>> @@ -97,7 +107,7 @@ machine_args_generic = [
>>       ['0xd09', ['-mcpu=cortex-a73']],
>>       ['0xd0a', ['-mcpu=cortex-a75']],
>>       ['0xd0b', ['-mcpu=cortex-a76']],
>> -     ['0xd0c', ['-march=armv8.2-a+crc+crypto', '-mcpu=neoverse-n1'],
>> flags_n1sdp_extra]]
>> +     ['0xd0c', ['-march=armv8.2-a+crypto', '-mcpu=neoverse-n1'],
>> +flags_n1generic_extra]]
>>
>>  machine_args_cavium = [
>>       ['default', ['-march=armv8-a+crc+crypto','-mcpu=thunderx']],
>> --
>> 2.16.6
>


^ permalink raw reply	[flat|nested] 28+ messages in thread

* Re: [dpdk-dev] [PATCH 0/2] build: add Graviton2(arm64) config
  2020-09-09  8:03 ` [dpdk-dev] [PATCH 0/2] build: add Graviton2(arm64) config David Marchand
@ 2020-09-12 18:28   ` Vimal Chungath
  0 siblings, 0 replies; 28+ messages in thread
From: Vimal Chungath @ 2020-09-12 18:28 UTC (permalink / raw)
  To: david.marchand; +Cc: bruce.richardson, dev, vcchunga

On 9/9/20 1:03 AM, David Marchand wrote:
>
> Hello Vimal,
>
> On Wed, Sep 9, 2020 at 3:11 AM Vimal Chungath <vcchunga@amazon.com> wrote:
>>
>> These two patches add meson and make build configuration
>> for AWS Graviton2 platform. I plan to send platform guide
>> patch separately.
>>
>> Vimal Chungath (2):
>>   config: add Graviton2(arm64) meson configuration
>>   config: add Graviton2(arm64) defconfig
>
> I did not look at the patches, just looked at the cover letter.
> You can drop the makefile config files since make support has been dropped.
> Thanks.

Thanks. I will remove make config files in next version.

^ permalink raw reply	[flat|nested] 28+ messages in thread

* Re: [dpdk-dev] [PATCH 1/2] config: add Graviton2(arm64) meson configuration
  2020-09-12 18:24     ` Vimal Chungath
@ 2020-09-14  4:49       ` Honnappa Nagarahalli
  2020-09-17  8:23         ` Jerin Jacob
  0 siblings, 1 reply; 28+ messages in thread
From: Honnappa Nagarahalli @ 2020-09-14  4:49 UTC (permalink / raw)
  To: Vimal Chungath
  Cc: Dharmik Thakkar, bruce.richardson, dev, hemant.agrawal, jerinj,
	nd, Honnappa Nagarahalli, nd

<snip>

> 
> On 9/11/20 8:23 PM, Honnappa Nagarahalli wrote:
> >
> > +Jerin, Hemant, Dharmik
> >
> > <snip>
> > Hi Vimal,
> >         Few comments inline.
> >
> >>
> >> Add meson build configuration for Graviton2 platform with 64-bit ARM
> >> Neoverse N1 cores. This patch makes the following changes to generic
> >> Neoverse N1 config:
> >>
> >> 1. increase lcore limit to 64
> >> 2. increase memory support to 1TB
> > There will be multiple SoCs with N1 cores. All of them will have the same
> implementor ID and part number. But, they will have different values for
> these configurable parameters.
> > IMO, from usage perspective, we have 2 cases:
> > 1) Ability to build a portable binary that can run on multiple Arm
> > SoCs (for ex: BlueField, thunderx1, thunderx2, N1SDP, Graviton2 etc)
> > 2) Ability to build a binary which would run only on a SoC it was compiled
> for and provide the most optimized binary for that SoC. But, this may not be
> portable.
> >
> > For 1) we have default march.
> >
> > For 2) we do not have the capability today in meson build (at least, this is
> my understanding, please correct me if I am wrong). In this case, the user
> knows the target platform for compilation. IMO, we should add the capability
> to take the target platform as an input from the user (similar to the make
> build system) and Graviton2 can be one such target platform.
> 
> My intention was to have parameters that work for both N1SDP and
> Graviton2 rather than 2). Does the change to RTE_MAX_LCORE and
> RTE_MAX_MEM_MB make them incompatible with N1SDP?
They are not optimal for N1SDP. In the future these parameters might have to be changed. For ex: if there a N1 based SoC with more than 64 CPU cores.

> 
> I'm not sure if taking target platform from user is the best option here.
> Would this be specific to N1 since other platforms like thunderx differentiate
> the flags with part number?
This issue is specific to Arm CPU cores in general. So, it applies to N1 too.

> 
> >
> >> 3. remove +crc from -march as that is default when setting armv8.2
> >>
> >> For more information about Graviton2 platform, refer to:
> >> https://aws.amazon.com/ec2/graviton/
> >>
> >> Signed-off-by: Vimal Chungath <vcchunga@amazon.com>
> >> ---
> >>  config/arm/arm64_graviton2_linux_gcc | 17 +++++++++++++++++
> >>  config/arm/meson.build               | 12 +++++++++++-
> >>  2 files changed, 28 insertions(+), 1 deletion(-)  create mode 100644
> >> config/arm/arm64_graviton2_linux_gcc
> >>
> >> diff --git a/config/arm/arm64_graviton2_linux_gcc
> >> b/config/arm/arm64_graviton2_linux_gcc
> >> new file mode 100644
> >> index 000000000..022e06303
> >> --- /dev/null
> >> +++ b/config/arm/arm64_graviton2_linux_gcc
> >> @@ -0,0 +1,17 @@
> >> +[binaries]
> >> +c = 'aarch64-linux-gnu-gcc'
> >> +cpp = 'aarch64-linux-gnu-cpp'
> >> +ar = 'aarch64-linux-gnu-gcc-ar'
> >> +strip = 'aarch64-linux-gnu-strip'
> >> +pkgconfig = 'aarch64-linux-gnu-pkg-config'
> >> +pcap-config = ''
> >> +
> >> +[host_machine]
> >> +system = 'linux'
> >> +cpu_family = 'aarch64'
> >> +cpu = 'armv8-a'
> >> +endian = 'little'
> >> +
> >> +[properties]
> >> +implementor_id = '0x41'
> >> +implementor_pn = '0xd0c'
> >> diff --git a/config/arm/meson.build b/config/arm/meson.build index
> >> 8728051d5..64e277ebc 100644
> >> --- a/config/arm/meson.build
> >> +++ b/config/arm/meson.build
> >> @@ -86,6 +86,16 @@ flags_octeontx2_extra = [
> >>       ['RTE_ARM_FEATURE_ATOMICS', true],
> >>       ['RTE_EAL_IGB_UIO', false],
> >>       ['RTE_USE_C11_MEM_MODEL', true]]
> >> +flags_n1generic_extra = [
> >> +     ['RTE_MACHINE', '"neoverse-n1"'],
> >> +     ['RTE_MAX_LCORE', 64],
> >> +     ['RTE_CACHE_LINE_SIZE', 64],
> >> +     ['RTE_ARM_FEATURE_ATOMICS', true],
> >> +     ['RTE_USE_C11_MEM_MODEL', true],
> >> +     ['RTE_MAX_MEM_MB', 1048576],
> >> +     ['RTE_MAX_NUMA_NODES', 1],
> >> +     ['RTE_EAL_NUMA_AWARE_HUGEPAGES', false],
> >> +     ['RTE_LIBRTE_VHOST_NUMA', false]]
> >>
> >>  machine_args_generic = [
> >>       ['default', ['-march=armv8-a+crc']], @@ -97,7 +107,7 @@
> >> machine_args_generic = [
> >>       ['0xd09', ['-mcpu=cortex-a73']],
> >>       ['0xd0a', ['-mcpu=cortex-a75']],
> >>       ['0xd0b', ['-mcpu=cortex-a76']],
> >> -     ['0xd0c', ['-march=armv8.2-a+crc+crypto', '-mcpu=neoverse-n1'],
> >> flags_n1sdp_extra]]
> >> +     ['0xd0c', ['-march=armv8.2-a+crypto', '-mcpu=neoverse-n1'],
> >> +flags_n1generic_extra]]
> >>
> >>  machine_args_cavium = [
> >>       ['default', ['-march=armv8-a+crc+crypto','-mcpu=thunderx']],
> >> --
> >> 2.16.6
> >


^ permalink raw reply	[flat|nested] 28+ messages in thread

* Re: [dpdk-dev] [PATCH 1/2] config: add Graviton2(arm64) meson configuration
  2020-09-14  4:49       ` Honnappa Nagarahalli
@ 2020-09-17  8:23         ` Jerin Jacob
  2020-09-17 17:11           ` Honnappa Nagarahalli
  0 siblings, 1 reply; 28+ messages in thread
From: Jerin Jacob @ 2020-09-17  8:23 UTC (permalink / raw)
  To: Honnappa Nagarahalli
  Cc: Vimal Chungath, Dharmik Thakkar, bruce.richardson, dev,
	hemant.agrawal, jerinj, nd, Thomas Monjalon

On Mon, Sep 14, 2020 at 10:19 AM Honnappa Nagarahalli
<Honnappa.Nagarahalli@arm.com> wrote:
>
> <snip>
>
> >
> > On 9/11/20 8:23 PM, Honnappa Nagarahalli wrote:
> > >
> > > +Jerin, Hemant, Dharmik
> > >
> > > <snip>
> > > Hi Vimal,
> > >         Few comments inline.
> > >
> > >>
> > >> Add meson build configuration for Graviton2 platform with 64-bit ARM
> > >> Neoverse N1 cores. This patch makes the following changes to generic
> > >> Neoverse N1 config:
> > >>
> > >> 1. increase lcore limit to 64
> > >> 2. increase memory support to 1TB
> > > There will be multiple SoCs with N1 cores. All of them will have the same
> > implementor ID and part number. But, they will have different values for
> > these configurable parameters.
> > > IMO, from usage perspective, we have 2 cases:
> > > 1) Ability to build a portable binary that can run on multiple Arm
> > > SoCs (for ex: BlueField, thunderx1, thunderx2, N1SDP, Graviton2 etc)
> > > 2) Ability to build a binary which would run only on a SoC it was compiled
> > for and provide the most optimized binary for that SoC. But, this may not be
> > portable.
> > >
> > > For 1) we have default march.
> > >
> > > For 2) we do not have the capability today in meson build (at least, this is
> > my understanding, please correct me if I am wrong). In this case, the user
> > knows the target platform for compilation. IMO, we should add the capability
> > to take the target platform as an input from the user (similar to the make
> > build system) and Graviton2 can be one such target platform.
> >
> > My intention was to have parameters that work for both N1SDP and
> > Graviton2 rather than 2). Does the change to RTE_MAX_LCORE and
> > RTE_MAX_MEM_MB make them incompatible with N1SDP?
> They are not optimal for N1SDP. In the future these parameters might have to be changed. For ex: if there a N1 based SoC with more than 64 CPU cores.


Sorry for the late reply.

Looking at the Bluefield, Graviton2, and upcoming SoCs based on ARM IP,
It is very clear that MIDR value can not be changed by the silicon vendors.
So our existing build scheme of using the MIDR  value-based probe does
not work anymore with ARM IP.
So IMO, We need to change our build scheme. i.e

1) For native build just use -march=native
2) For cross-build, explicitly, mention the target to pick the
configuration values instead of
probing the MIDR value-based scheme.

If we agree, Any volunteers for the update to new scheme?

>
> >
> > I'm not sure if taking target platform from user is the best option here.
> > Would this be specific to N1 since other platforms like thunderx differentiate
> > the flags with part number?
> This issue is specific to Arm CPU cores in general. So, it applies to N1 too.
>
> >
> > >
> > >> 3. remove +crc from -march as that is default when setting armv8.2
> > >>
> > >> For more information about Graviton2 platform, refer to:
> > >> https://aws.amazon.com/ec2/graviton/
> > >>
> > >> Signed-off-by: Vimal Chungath <vcchunga@amazon.com>
> > >> ---
> > >>  config/arm/arm64_graviton2_linux_gcc | 17 +++++++++++++++++
> > >>  config/arm/meson.build               | 12 +++++++++++-
> > >>  2 files changed, 28 insertions(+), 1 deletion(-)  create mode 100644
> > >> config/arm/arm64_graviton2_linux_gcc
> > >>
> > >> diff --git a/config/arm/arm64_graviton2_linux_gcc
> > >> b/config/arm/arm64_graviton2_linux_gcc
> > >> new file mode 100644
> > >> index 000000000..022e06303
> > >> --- /dev/null
> > >> +++ b/config/arm/arm64_graviton2_linux_gcc
> > >> @@ -0,0 +1,17 @@
> > >> +[binaries]
> > >> +c = 'aarch64-linux-gnu-gcc'
> > >> +cpp = 'aarch64-linux-gnu-cpp'
> > >> +ar = 'aarch64-linux-gnu-gcc-ar'
> > >> +strip = 'aarch64-linux-gnu-strip'
> > >> +pkgconfig = 'aarch64-linux-gnu-pkg-config'
> > >> +pcap-config = ''
> > >> +
> > >> +[host_machine]
> > >> +system = 'linux'
> > >> +cpu_family = 'aarch64'
> > >> +cpu = 'armv8-a'
> > >> +endian = 'little'
> > >> +
> > >> +[properties]
> > >> +implementor_id = '0x41'
> > >> +implementor_pn = '0xd0c'
> > >> diff --git a/config/arm/meson.build b/config/arm/meson.build index
> > >> 8728051d5..64e277ebc 100644
> > >> --- a/config/arm/meson.build
> > >> +++ b/config/arm/meson.build
> > >> @@ -86,6 +86,16 @@ flags_octeontx2_extra = [
> > >>       ['RTE_ARM_FEATURE_ATOMICS', true],
> > >>       ['RTE_EAL_IGB_UIO', false],
> > >>       ['RTE_USE_C11_MEM_MODEL', true]]
> > >> +flags_n1generic_extra = [
> > >> +     ['RTE_MACHINE', '"neoverse-n1"'],
> > >> +     ['RTE_MAX_LCORE', 64],
> > >> +     ['RTE_CACHE_LINE_SIZE', 64],
> > >> +     ['RTE_ARM_FEATURE_ATOMICS', true],
> > >> +     ['RTE_USE_C11_MEM_MODEL', true],
> > >> +     ['RTE_MAX_MEM_MB', 1048576],
> > >> +     ['RTE_MAX_NUMA_NODES', 1],
> > >> +     ['RTE_EAL_NUMA_AWARE_HUGEPAGES', false],
> > >> +     ['RTE_LIBRTE_VHOST_NUMA', false]]
> > >>
> > >>  machine_args_generic = [
> > >>       ['default', ['-march=armv8-a+crc']], @@ -97,7 +107,7 @@
> > >> machine_args_generic = [
> > >>       ['0xd09', ['-mcpu=cortex-a73']],
> > >>       ['0xd0a', ['-mcpu=cortex-a75']],
> > >>       ['0xd0b', ['-mcpu=cortex-a76']],
> > >> -     ['0xd0c', ['-march=armv8.2-a+crc+crypto', '-mcpu=neoverse-n1'],
> > >> flags_n1sdp_extra]]
> > >> +     ['0xd0c', ['-march=armv8.2-a+crypto', '-mcpu=neoverse-n1'],
> > >> +flags_n1generic_extra]]
> > >>
> > >>  machine_args_cavium = [
> > >>       ['default', ['-march=armv8-a+crc+crypto','-mcpu=thunderx']],
> > >> --
> > >> 2.16.6
> > >
>

^ permalink raw reply	[flat|nested] 28+ messages in thread

* Re: [dpdk-dev] [PATCH 1/2] config: add Graviton2(arm64) meson configuration
  2020-09-17  8:23         ` Jerin Jacob
@ 2020-09-17 17:11           ` Honnappa Nagarahalli
  2020-09-18  4:02             ` Jerin Jacob
  0 siblings, 1 reply; 28+ messages in thread
From: Honnappa Nagarahalli @ 2020-09-17 17:11 UTC (permalink / raw)
  To: Jerin Jacob
  Cc: Vimal Chungath, Dharmik Thakkar, bruce.richardson, dev,
	hemant.agrawal, jerinj, nd, thomas, Juraj Linkeš,
	Honnappa Nagarahalli, nd

<snip>

> > >
> > > On 9/11/20 8:23 PM, Honnappa Nagarahalli wrote:
> > > >
> > > > +Jerin, Hemant, Dharmik
> > > >
> > > > <snip>
> > > > Hi Vimal,
> > > >         Few comments inline.
> > > >
> > > >>
> > > >> Add meson build configuration for Graviton2 platform with 64-bit
> > > >> ARM Neoverse N1 cores. This patch makes the following changes to
> > > >> generic Neoverse N1 config:
> > > >>
> > > >> 1. increase lcore limit to 64
> > > >> 2. increase memory support to 1TB
> > > > There will be multiple SoCs with N1 cores. All of them will have
> > > > the same
> > > implementor ID and part number. But, they will have different values
> > > for these configurable parameters.
> > > > IMO, from usage perspective, we have 2 cases:
> > > > 1) Ability to build a portable binary that can run on multiple Arm
> > > > SoCs (for ex: BlueField, thunderx1, thunderx2, N1SDP, Graviton2
> > > > etc)
> > > > 2) Ability to build a binary which would run only on a SoC it was
> > > > compiled
> > > for and provide the most optimized binary for that SoC. But, this
> > > may not be portable.
> > > >
> > > > For 1) we have default march.
> > > >
> > > > For 2) we do not have the capability today in meson build (at
> > > > least, this is
> > > my understanding, please correct me if I am wrong). In this case,
> > > the user knows the target platform for compilation. IMO, we should
> > > add the capability to take the target platform as an input from the
> > > user (similar to the make build system) and Graviton2 can be one such
> target platform.
> > >
> > > My intention was to have parameters that work for both N1SDP and
> > > Graviton2 rather than 2). Does the change to RTE_MAX_LCORE and
> > > RTE_MAX_MEM_MB make them incompatible with N1SDP?
> > They are not optimal for N1SDP. In the future these parameters might have
> to be changed. For ex: if there a N1 based SoC with more than 64 CPU cores.
> 
> 
> Sorry for the late reply.
> 
> Looking at the Bluefield, Graviton2, and upcoming SoCs based on ARM IP, It is
> very clear that MIDR value can not be changed by the silicon vendors.
> So our existing build scheme of using the MIDR  value-based probe does not
> work anymore with ARM IP.
> So IMO, We need to change our build scheme. i.e
> 
> 1) For native build just use -march=native
I think we do not need the native build. With the native build, it is not possible to identify the SoC and use the correct configuration parameters.

> 2) For cross-build, explicitly, mention the target to pick the configuration
> values instead of probing the MIDR value-based scheme.
Agree

> 
> If we agree, Any volunteers for the update to new scheme?
Arm will work on this.

> 
> >
> > >
> > > I'm not sure if taking target platform from user is the best option here.
> > > Would this be specific to N1 since other platforms like thunderx
> > > differentiate the flags with part number?
> > This issue is specific to Arm CPU cores in general. So, it applies to N1 too.
> >
> > >
> > > >
> > > >> 3. remove +crc from -march as that is default when setting
> > > >> armv8.2
> > > >>
> > > >> For more information about Graviton2 platform, refer to:
> > > >> https://aws.amazon.com/ec2/graviton/
> > > >>
> > > >> Signed-off-by: Vimal Chungath <vcchunga@amazon.com>
> > > >> ---
> > > >>  config/arm/arm64_graviton2_linux_gcc | 17 +++++++++++++++++
> > > >>  config/arm/meson.build               | 12 +++++++++++-
> > > >>  2 files changed, 28 insertions(+), 1 deletion(-)  create mode
> > > >> 100644 config/arm/arm64_graviton2_linux_gcc
> > > >>
> > > >> diff --git a/config/arm/arm64_graviton2_linux_gcc
> > > >> b/config/arm/arm64_graviton2_linux_gcc
> > > >> new file mode 100644
> > > >> index 000000000..022e06303
> > > >> --- /dev/null
> > > >> +++ b/config/arm/arm64_graviton2_linux_gcc
> > > >> @@ -0,0 +1,17 @@
> > > >> +[binaries]
> > > >> +c = 'aarch64-linux-gnu-gcc'
> > > >> +cpp = 'aarch64-linux-gnu-cpp'
> > > >> +ar = 'aarch64-linux-gnu-gcc-ar'
> > > >> +strip = 'aarch64-linux-gnu-strip'
> > > >> +pkgconfig = 'aarch64-linux-gnu-pkg-config'
> > > >> +pcap-config = ''
> > > >> +
> > > >> +[host_machine]
> > > >> +system = 'linux'
> > > >> +cpu_family = 'aarch64'
> > > >> +cpu = 'armv8-a'
> > > >> +endian = 'little'
> > > >> +
> > > >> +[properties]
> > > >> +implementor_id = '0x41'
> > > >> +implementor_pn = '0xd0c'
> > > >> diff --git a/config/arm/meson.build b/config/arm/meson.build
> > > >> index 8728051d5..64e277ebc 100644
> > > >> --- a/config/arm/meson.build
> > > >> +++ b/config/arm/meson.build
> > > >> @@ -86,6 +86,16 @@ flags_octeontx2_extra = [
> > > >>       ['RTE_ARM_FEATURE_ATOMICS', true],
> > > >>       ['RTE_EAL_IGB_UIO', false],
> > > >>       ['RTE_USE_C11_MEM_MODEL', true]]
> > > >> +flags_n1generic_extra = [
> > > >> +     ['RTE_MACHINE', '"neoverse-n1"'],
> > > >> +     ['RTE_MAX_LCORE', 64],
> > > >> +     ['RTE_CACHE_LINE_SIZE', 64],
> > > >> +     ['RTE_ARM_FEATURE_ATOMICS', true],
> > > >> +     ['RTE_USE_C11_MEM_MODEL', true],
> > > >> +     ['RTE_MAX_MEM_MB', 1048576],
> > > >> +     ['RTE_MAX_NUMA_NODES', 1],
> > > >> +     ['RTE_EAL_NUMA_AWARE_HUGEPAGES', false],
> > > >> +     ['RTE_LIBRTE_VHOST_NUMA', false]]
> > > >>
> > > >>  machine_args_generic = [
> > > >>       ['default', ['-march=armv8-a+crc']], @@ -97,7 +107,7 @@
> > > >> machine_args_generic = [
> > > >>       ['0xd09', ['-mcpu=cortex-a73']],
> > > >>       ['0xd0a', ['-mcpu=cortex-a75']],
> > > >>       ['0xd0b', ['-mcpu=cortex-a76']],
> > > >> -     ['0xd0c', ['-march=armv8.2-a+crc+crypto', '-mcpu=neoverse-n1'],
> > > >> flags_n1sdp_extra]]
> > > >> +     ['0xd0c', ['-march=armv8.2-a+crypto', '-mcpu=neoverse-n1'],
> > > >> +flags_n1generic_extra]]
> > > >>
> > > >>  machine_args_cavium = [
> > > >>       ['default',
> > > >> ['-march=armv8-a+crc+crypto','-mcpu=thunderx']],
> > > >> --
> > > >> 2.16.6
> > > >
> >

^ permalink raw reply	[flat|nested] 28+ messages in thread

* Re: [dpdk-dev] [PATCH 1/2] config: add Graviton2(arm64) meson configuration
  2020-09-17 17:11           ` Honnappa Nagarahalli
@ 2020-09-18  4:02             ` Jerin Jacob
  2020-09-18 17:42               ` Vimal Chungath
  0 siblings, 1 reply; 28+ messages in thread
From: Jerin Jacob @ 2020-09-18  4:02 UTC (permalink / raw)
  To: Honnappa Nagarahalli
  Cc: Vimal Chungath, Dharmik Thakkar, bruce.richardson, dev,
	hemant.agrawal, jerinj, nd, thomas, Juraj Linkeš

On Thu, Sep 17, 2020 at 10:41 PM Honnappa Nagarahalli
<Honnappa.Nagarahalli@arm.com> wrote:
>
> <snip>
>
> > > >
> > > > On 9/11/20 8:23 PM, Honnappa Nagarahalli wrote:
> > > > >
> > > > > +Jerin, Hemant, Dharmik
> > > > >
> > > > > <snip>
> > > > > Hi Vimal,
> > > > >         Few comments inline.
> > > > >
> > > > >>
> > > > >> Add meson build configuration for Graviton2 platform with 64-bit
> > > > >> ARM Neoverse N1 cores. This patch makes the following changes to
> > > > >> generic Neoverse N1 config:
> > > > >>
> > > > >> 1. increase lcore limit to 64
> > > > >> 2. increase memory support to 1TB
> > > > > There will be multiple SoCs with N1 cores. All of them will have
> > > > > the same
> > > > implementor ID and part number. But, they will have different values
> > > > for these configurable parameters.
> > > > > IMO, from usage perspective, we have 2 cases:
> > > > > 1) Ability to build a portable binary that can run on multiple Arm
> > > > > SoCs (for ex: BlueField, thunderx1, thunderx2, N1SDP, Graviton2
> > > > > etc)
> > > > > 2) Ability to build a binary which would run only on a SoC it was
> > > > > compiled
> > > > for and provide the most optimized binary for that SoC. But, this
> > > > may not be portable.
> > > > >
> > > > > For 1) we have default march.
> > > > >
> > > > > For 2) we do not have the capability today in meson build (at
> > > > > least, this is
> > > > my understanding, please correct me if I am wrong). In this case,
> > > > the user knows the target platform for compilation. IMO, we should
> > > > add the capability to take the target platform as an input from the
> > > > user (similar to the make build system) and Graviton2 can be one such
> > target platform.
> > > >
> > > > My intention was to have parameters that work for both N1SDP and
> > > > Graviton2 rather than 2). Does the change to RTE_MAX_LCORE and
> > > > RTE_MAX_MEM_MB make them incompatible with N1SDP?
> > > They are not optimal for N1SDP. In the future these parameters might have
> > to be changed. For ex: if there a N1 based SoC with more than 64 CPU cores.
> >
> >
> > Sorry for the late reply.
> >
> > Looking at the Bluefield, Graviton2, and upcoming SoCs based on ARM IP, It is
> > very clear that MIDR value can not be changed by the silicon vendors.
> > So our existing build scheme of using the MIDR  value-based probe does not
> > work anymore with ARM IP.
> > So IMO, We need to change our build scheme. i.e
> >
> > 1) For native build just use -march=native
> I think we do not need the native build. With the native build, it is not possible to identify the SoC and use the correct configuration parameters.

Ack. Both native and cross can use same config.

>
> > 2) For cross-build, explicitly, mention the target to pick the configuration
> > values instead of probing the MIDR value-based scheme.
> Agree
>
> >
> > If we agree, Any volunteers for the update to new scheme?
> Arm will work on this.

Thanks. We wait for the patch for the rework before applying Graviton patches.


>
> >
> > >
> > > >
> > > > I'm not sure if taking target platform from user is the best option here.
> > > > Would this be specific to N1 since other platforms like thunderx
> > > > differentiate the flags with part number?
> > > This issue is specific to Arm CPU cores in general. So, it applies to N1 too.
> > >
> > > >
> > > > >
> > > > >> 3. remove +crc from -march as that is default when setting
> > > > >> armv8.2
> > > > >>
> > > > >> For more information about Graviton2 platform, refer to:
> > > > >> https://aws.amazon.com/ec2/graviton/
> > > > >>
> > > > >> Signed-off-by: Vimal Chungath <vcchunga@amazon.com>
> > > > >> ---
> > > > >>  config/arm/arm64_graviton2_linux_gcc | 17 +++++++++++++++++
> > > > >>  config/arm/meson.build               | 12 +++++++++++-
> > > > >>  2 files changed, 28 insertions(+), 1 deletion(-)  create mode
> > > > >> 100644 config/arm/arm64_graviton2_linux_gcc
> > > > >>
> > > > >> diff --git a/config/arm/arm64_graviton2_linux_gcc
> > > > >> b/config/arm/arm64_graviton2_linux_gcc
> > > > >> new file mode 100644
> > > > >> index 000000000..022e06303
> > > > >> --- /dev/null
> > > > >> +++ b/config/arm/arm64_graviton2_linux_gcc
> > > > >> @@ -0,0 +1,17 @@
> > > > >> +[binaries]
> > > > >> +c = 'aarch64-linux-gnu-gcc'
> > > > >> +cpp = 'aarch64-linux-gnu-cpp'
> > > > >> +ar = 'aarch64-linux-gnu-gcc-ar'
> > > > >> +strip = 'aarch64-linux-gnu-strip'
> > > > >> +pkgconfig = 'aarch64-linux-gnu-pkg-config'
> > > > >> +pcap-config = ''
> > > > >> +
> > > > >> +[host_machine]
> > > > >> +system = 'linux'
> > > > >> +cpu_family = 'aarch64'
> > > > >> +cpu = 'armv8-a'
> > > > >> +endian = 'little'
> > > > >> +
> > > > >> +[properties]
> > > > >> +implementor_id = '0x41'
> > > > >> +implementor_pn = '0xd0c'
> > > > >> diff --git a/config/arm/meson.build b/config/arm/meson.build
> > > > >> index 8728051d5..64e277ebc 100644
> > > > >> --- a/config/arm/meson.build
> > > > >> +++ b/config/arm/meson.build
> > > > >> @@ -86,6 +86,16 @@ flags_octeontx2_extra = [
> > > > >>       ['RTE_ARM_FEATURE_ATOMICS', true],
> > > > >>       ['RTE_EAL_IGB_UIO', false],
> > > > >>       ['RTE_USE_C11_MEM_MODEL', true]]
> > > > >> +flags_n1generic_extra = [
> > > > >> +     ['RTE_MACHINE', '"neoverse-n1"'],
> > > > >> +     ['RTE_MAX_LCORE', 64],
> > > > >> +     ['RTE_CACHE_LINE_SIZE', 64],
> > > > >> +     ['RTE_ARM_FEATURE_ATOMICS', true],
> > > > >> +     ['RTE_USE_C11_MEM_MODEL', true],
> > > > >> +     ['RTE_MAX_MEM_MB', 1048576],
> > > > >> +     ['RTE_MAX_NUMA_NODES', 1],
> > > > >> +     ['RTE_EAL_NUMA_AWARE_HUGEPAGES', false],
> > > > >> +     ['RTE_LIBRTE_VHOST_NUMA', false]]
> > > > >>
> > > > >>  machine_args_generic = [
> > > > >>       ['default', ['-march=armv8-a+crc']], @@ -97,7 +107,7 @@
> > > > >> machine_args_generic = [
> > > > >>       ['0xd09', ['-mcpu=cortex-a73']],
> > > > >>       ['0xd0a', ['-mcpu=cortex-a75']],
> > > > >>       ['0xd0b', ['-mcpu=cortex-a76']],
> > > > >> -     ['0xd0c', ['-march=armv8.2-a+crc+crypto', '-mcpu=neoverse-n1'],
> > > > >> flags_n1sdp_extra]]
> > > > >> +     ['0xd0c', ['-march=armv8.2-a+crypto', '-mcpu=neoverse-n1'],
> > > > >> +flags_n1generic_extra]]
> > > > >>
> > > > >>  machine_args_cavium = [
> > > > >>       ['default',
> > > > >> ['-march=armv8-a+crc+crypto','-mcpu=thunderx']],
> > > > >> --
> > > > >> 2.16.6
> > > > >
> > >

^ permalink raw reply	[flat|nested] 28+ messages in thread

* Re: [dpdk-dev] [PATCH 1/2] config: add Graviton2(arm64) meson configuration
  2020-09-18  4:02             ` Jerin Jacob
@ 2020-09-18 17:42               ` Vimal Chungath
  2020-09-19 19:06                 ` Ali Saidi
       [not found]                 ` <FF6ABD1C-A636-4F68-879E-FA7B2A615D2C@amazon.com>
  0 siblings, 2 replies; 28+ messages in thread
From: Vimal Chungath @ 2020-09-18 17:42 UTC (permalink / raw)
  To: jerinjacobk
  Cc: Dharmik.Thakkar, Honnappa.Nagarahalli, bruce.richardson, dev,
	hemant.agrawal, jerinj, juraj.linkes, nd, thomas, vcchunga,
	alisaidi

On 9/17/20 9:02 PM, Jerin Jacob wrote:
>
> On Thu, Sep 17, 2020 at 10:41 PM Honnappa Nagarahalli
> <Honnappa.Nagarahalli@arm.com> wrote:
>>
>> <snip>
>>
>>>>>
>>>>> On 9/11/20 8:23 PM, Honnappa Nagarahalli wrote:
>>>>>>
>>>>>> +Jerin, Hemant, Dharmik
>>>>>>
>>>>>> <snip>
>>>>>> Hi Vimal,
>>>>>>         Few comments inline.
>>>>>>
>>>>>>>
>>>>>>> Add meson build configuration for Graviton2 platform with 64-bit
>>>>>>> ARM Neoverse N1 cores. This patch makes the following changes to
>>>>>>> generic Neoverse N1 config:
>>>>>>>
>>>>>>> 1. increase lcore limit to 64
>>>>>>> 2. increase memory support to 1TB
>>>>>> There will be multiple SoCs with N1 cores. All of them will have
>>>>>> the same
>>>>> implementor ID and part number. But, they will have different values
>>>>> for these configurable parameters.
>>>>>> IMO, from usage perspective, we have 2 cases:
>>>>>> 1) Ability to build a portable binary that can run on multiple Arm
>>>>>> SoCs (for ex: BlueField, thunderx1, thunderx2, N1SDP, Graviton2
>>>>>> etc)
>>>>>> 2) Ability to build a binary which would run only on a SoC it was
>>>>>> compiled
>>>>> for and provide the most optimized binary for that SoC. But, this
>>>>> may not be portable.
>>>>>>
>>>>>> For 1) we have default march.
>>>>>>
>>>>>> For 2) we do not have the capability today in meson build (at
>>>>>> least, this is
>>>>> my understanding, please correct me if I am wrong). In this case,
>>>>> the user knows the target platform for compilation. IMO, we should
>>>>> add the capability to take the target platform as an input from the
>>>>> user (similar to the make build system) and Graviton2 can be one such
>>> target platform.
>>>>>
>>>>> My intention was to have parameters that work for both N1SDP and
>>>>> Graviton2 rather than 2). Does the change to RTE_MAX_LCORE and
>>>>> RTE_MAX_MEM_MB make them incompatible with N1SDP?
>>>> They are not optimal for N1SDP. In the future these parameters might have
>>> to be changed. For ex: if there a N1 based SoC with more than 64 CPU cores.
>>>
>>>
>>> Sorry for the late reply.
>>>
>>> Looking at the Bluefield, Graviton2, and upcoming SoCs based on ARM IP, It is
>>> very clear that MIDR value can not be changed by the silicon vendors.
>>> So our existing build scheme of using the MIDR  value-based probe does not
>>> work anymore with ARM IP.
>>> So IMO, We need to change our build scheme. i.e
>>>
>>> 1) For native build just use -march=native
>> I think we do not need the native build. With the native build, it is not possible to identify the SoC and use the correct configuration parameters.
>
> Ack. Both native and cross can use same config.
>
>>
>>> 2) For cross-build, explicitly, mention the target to pick the configuration
>>> values instead of probing the MIDR value-based scheme.
>> Agree
>>
>>>
>>> If we agree, Any volunteers for the update to new scheme?
>> Arm will work on this.
>
> Thanks. We wait for the patch for the rework before applying Graviton patches.
>
Ack. I will update Graviton patch once we have the meson build changes.

>
>>
>>>
>>>>
>>>>>
>>>>> I'm not sure if taking target platform from user is the best option here.
>>>>> Would this be specific to N1 since other platforms like thunderx
>>>>> differentiate the flags with part number?
>>>> This issue is specific to Arm CPU cores in general. So, it applies to N1 too.
>>>>
>>>>>
>>>>>>
>>>>>>> 3. remove +crc from -march as that is default when setting
>>>>>>> armv8.2
>>>>>>>
>>>>>>> For more information about Graviton2 platform, refer to:
>>>>>>> https://aws.amazon.com/ec2/graviton/
>>>>>>>
>>>>>>> Signed-off-by: Vimal Chungath <vcchunga@amazon.com>
>>>>>>> ---
>>>>>>>  config/arm/arm64_graviton2_linux_gcc | 17 +++++++++++++++++
>>>>>>>  config/arm/meson.build               | 12 +++++++++++-
>>>>>>>  2 files changed, 28 insertions(+), 1 deletion(-)  create mode
>>>>>>> 100644 config/arm/arm64_graviton2_linux_gcc
>>>>>>>
>>>>>>> diff --git a/config/arm/arm64_graviton2_linux_gcc
>>>>>>> b/config/arm/arm64_graviton2_linux_gcc
>>>>>>> new file mode 100644
>>>>>>> index 000000000..022e06303
>>>>>>> --- /dev/null
>>>>>>> +++ b/config/arm/arm64_graviton2_linux_gcc
>>>>>>> @@ -0,0 +1,17 @@
>>>>>>> +[binaries]
>>>>>>> +c = 'aarch64-linux-gnu-gcc'
>>>>>>> +cpp = 'aarch64-linux-gnu-cpp'
>>>>>>> +ar = 'aarch64-linux-gnu-gcc-ar'
>>>>>>> +strip = 'aarch64-linux-gnu-strip'
>>>>>>> +pkgconfig = 'aarch64-linux-gnu-pkg-config'
>>>>>>> +pcap-config = ''
>>>>>>> +
>>>>>>> +[host_machine]
>>>>>>> +system = 'linux'
>>>>>>> +cpu_family = 'aarch64'
>>>>>>> +cpu = 'armv8-a'
>>>>>>> +endian = 'little'
>>>>>>> +
>>>>>>> +[properties]
>>>>>>> +implementor_id = '0x41'
>>>>>>> +implementor_pn = '0xd0c'
>>>>>>> diff --git a/config/arm/meson.build b/config/arm/meson.build
>>>>>>> index 8728051d5..64e277ebc 100644
>>>>>>> --- a/config/arm/meson.build
>>>>>>> +++ b/config/arm/meson.build
>>>>>>> @@ -86,6 +86,16 @@ flags_octeontx2_extra = [
>>>>>>>       ['RTE_ARM_FEATURE_ATOMICS', true],
>>>>>>>       ['RTE_EAL_IGB_UIO', false],
>>>>>>>       ['RTE_USE_C11_MEM_MODEL', true]]
>>>>>>> +flags_n1generic_extra = [
>>>>>>> +     ['RTE_MACHINE', '"neoverse-n1"'],
>>>>>>> +     ['RTE_MAX_LCORE', 64],
>>>>>>> +     ['RTE_CACHE_LINE_SIZE', 64],
>>>>>>> +     ['RTE_ARM_FEATURE_ATOMICS', true],
>>>>>>> +     ['RTE_USE_C11_MEM_MODEL', true],
>>>>>>> +     ['RTE_MAX_MEM_MB', 1048576],
>>>>>>> +     ['RTE_MAX_NUMA_NODES', 1],
>>>>>>> +     ['RTE_EAL_NUMA_AWARE_HUGEPAGES', false],
>>>>>>> +     ['RTE_LIBRTE_VHOST_NUMA', false]]
>>>>>>>
>>>>>>>  machine_args_generic = [
>>>>>>>       ['default', ['-march=armv8-a+crc']], @@ -97,7 +107,7 @@
>>>>>>> machine_args_generic = [
>>>>>>>       ['0xd09', ['-mcpu=cortex-a73']],
>>>>>>>       ['0xd0a', ['-mcpu=cortex-a75']],
>>>>>>>       ['0xd0b', ['-mcpu=cortex-a76']],
>>>>>>> -     ['0xd0c', ['-march=armv8.2-a+crc+crypto', '-mcpu=neoverse-n1'],
>>>>>>> flags_n1sdp_extra]]
>>>>>>> +     ['0xd0c', ['-march=armv8.2-a+crypto', '-mcpu=neoverse-n1'],
>>>>>>> +flags_n1generic_extra]]
>>>>>>>
>>>>>>>  machine_args_cavium = [
>>>>>>>       ['default',
>>>>>>> ['-march=armv8-a+crc+crypto','-mcpu=thunderx']],
>>>>>>> --
>>>>>>> 2.16.6
>>>>>>
>>>>


^ permalink raw reply	[flat|nested] 28+ messages in thread

* Re: [dpdk-dev] [PATCH 1/2] config: add Graviton2(arm64) meson configuration
  2020-09-18 17:42               ` Vimal Chungath
@ 2020-09-19 19:06                 ` Ali Saidi
       [not found]                 ` <FF6ABD1C-A636-4F68-879E-FA7B2A615D2C@amazon.com>
  1 sibling, 0 replies; 28+ messages in thread
From: Ali Saidi @ 2020-09-19 19:06 UTC (permalink / raw)
  To: vcchunga
  Cc: Dharmik.Thakkar, Honnappa.Nagarahalli, alisaidi,
	bruce.richardson, dev, hemant.agrawal, jerinj, jerinjacobk,
	juraj.linkes, nd, thomas


On 9/17/20 9:02 PM, Jerin Jacob wrote:
>
> On Thu, Sep 17, 2020 at 10:41 PM Honnappa Nagarahalli
> <Honnappa.Nagarahalli@arm.com> wrote:
>>
>> <snip>
>>
>>>>>
>>>>> On 9/11/20 8:23 PM, Honnappa Nagarahalli wrote:
>>>>>>
>>>>>> +Jerin, Hemant, Dharmik
>>>>>>
>>>>>> <snip>
>>>>>> Hi Vimal,
>>>>>>         Few comments inline.
>>>>>>
>>>>>>>
>>>>>>> Add meson build configuration for Graviton2 platform with 64-bit
>>>>>>> ARM Neoverse N1 cores. This patch makes the following changes to
>>>>>>> generic Neoverse N1 config:
>>>>>>>
>>>>>>> 1. increase lcore limit to 64
>>>>>>> 2. increase memory support to 1TB
>>>>>> There will be multiple SoCs with N1 cores. All of them will have
>>>>>> the same
>>>>> implementor ID and part number. But, they will have different values
>>>>> for these configurable parameters.
>>>>>> IMO, from usage perspective, we have 2 cases:
>>>>>> 1) Ability to build a portable binary that can run on multiple Arm
>>>>>> SoCs (for ex: BlueField, thunderx1, thunderx2, N1SDP, Graviton2
>>>>>> etc)
>>>>>> 2) Ability to build a binary which would run only on a SoC it was
>>>>>> compiled
>>>>> for and provide the most optimized binary for that SoC. But, this
>>>>> may not be portable.
>>>>>>
>>>>>> For 1) we have default march.
>>>>>>
>>>>>> For 2) we do not have the capability today in meson build (at
>>>>>> least, this is
>>>>> my understanding, please correct me if I am wrong). In this case,
>>>>> the user knows the target platform for compilation. IMO, we should
>>>>> add the capability to take the target platform as an input from the
>>>>> user (similar to the make build system) and Graviton2 can be one such
>>> target platform.
>>>>>
>>>>> My intention was to have parameters that work for both N1SDP and
>>>>> Graviton2 rather than 2). Does the change to RTE_MAX_LCORE and
>>>>> RTE_MAX_MEM_MB make them incompatible with N1SDP?
>>>> They are not optimal for N1SDP. In the future these parameters might have
>>> to be changed. For ex: if there a N1 based SoC with more than 64 CPU cores.
>>>
>>>
>>> Sorry for the late reply.
>>>
>>> Looking at the Bluefield, Graviton2, and upcoming SoCs based on ARM IP, It is
>>> very clear that MIDR value can not be changed by the silicon vendors.
>>> So our existing build scheme of using the MIDR  value-based probe does not
>>> work anymore with ARM IP.
>>> So IMO, We need to change our build scheme. i.e
>>>
>>> 1) For native build just use -march=native
>> I think we do not need the native build. With the native build, it is not possible to identify the SoC and use the correct configuration parameters.

For native binaries the answer should be either use -march=native or map the MIDR to
the compiler options. The MIDR defines the core and thus the core features and which
architecture features the compiler supports. It seems like the only sticking point here
is RTE_MAX_MEM_MB and RTE_MAX_LCORE. Is the slight increase in memory size by having a
reasonable max for the various SoCs given a single core MIDR (80 seems to be the high
number for N1 currently), reason to add complexity and require the user to explicitly
pass the system they're compiling for?

Thanks,

Ali


^ permalink raw reply	[flat|nested] 28+ messages in thread

* Re: [dpdk-dev] [PATCH 1/2] config: add Graviton2(arm64) meson configuration
       [not found]                 ` <FF6ABD1C-A636-4F68-879E-FA7B2A615D2C@amazon.com>
@ 2020-09-20  0:41                   ` Honnappa Nagarahalli
  0 siblings, 0 replies; 28+ messages in thread
From: Honnappa Nagarahalli @ 2020-09-20  0:41 UTC (permalink / raw)
  To: Saidi, Ali, Chungath, Vimal, jerinjacobk
  Cc: Dharmik Thakkar, bruce.richardson, dev, hemant.agrawal, jerinj,
	juraj.linkes, nd, thomas, Honnappa Nagarahalli, nd

<snip>

> On 9/18/20, 12:42 PM, "Vimal Chungath" <vcchunga@amazon.com> wrote:
> 
>     On 9/17/20 9:02 PM, Jerin Jacob wrote:
>     >
>     > On Thu, Sep 17, 2020 at 10:41 PM Honnappa Nagarahalli
>     > <Honnappa.Nagarahalli@arm.com> wrote:
>     >>
>     >> <snip>
>     >>
>     >>>>>
>     >>>>> On 9/11/20 8:23 PM, Honnappa Nagarahalli wrote:
>     >>>>>>
>     >>>>>> +Jerin, Hemant, Dharmik
>     >>>>>>
>     >>>>>> <snip>
>     >>>>>> Hi Vimal,
>     >>>>>>         Few comments inline.
>     >>>>>>
>     >>>>>>>
>     >>>>>>> Add meson build configuration for Graviton2 platform with 64-bit
>     >>>>>>> ARM Neoverse N1 cores. This patch makes the following changes
> to
>     >>>>>>> generic Neoverse N1 config:
>     >>>>>>>
>     >>>>>>> 1. increase lcore limit to 64
>     >>>>>>> 2. increase memory support to 1TB
>     >>>>>> There will be multiple SoCs with N1 cores. All of them will have
>     >>>>>> the same
>     >>>>> implementor ID and part number. But, they will have different values
>     >>>>> for these configurable parameters.
>     >>>>>> IMO, from usage perspective, we have 2 cases:
>     >>>>>> 1) Ability to build a portable binary that can run on multiple Arm
>     >>>>>> SoCs (for ex: BlueField, thunderx1, thunderx2, N1SDP, Graviton2
>     >>>>>> etc)
>     >>>>>> 2) Ability to build a binary which would run only on a SoC it was
>     >>>>>> compiled
>     >>>>> for and provide the most optimized binary for that SoC. But, this
>     >>>>> may not be portable.
> For native binaries the answer should be either use -march=native or map the
> MIDR to the compiler options. The MIDR defines the core and thus the core
> features and which architecture features the compiler supports. It seems like
The MIDR identifies the core. It does not identify the SoC. We will use the option of taking the target SoC from the user and use a config to get the correct compiler options.

> the only sticking point here is RTE_MAX_MEM_MB and RTE_MAX_LCORE. Is
> the slight increase in memory size by having a reasonable max for the various
> SoCs given a single core MIDR (80 seems to be the high number for N1
> currently), reason to add complexity and require the user to explicitly pass
> the system they're compiling for?
The largest I know is 128 cores [1]. But, the SoCs could have as little as 4 cores. The new method provides complete flexibility in controlling more parameters than what can be done currently. IMO, the solution is not complex and is inline with the way the make build system works currently.

[1] https://www.hpcwire.com/off-the-wire/ampere-announces-altra-max-arm-processor-with-128-cores/

> 
> 
> Ali
> 
> 


^ permalink raw reply	[flat|nested] 28+ messages in thread

* [dpdk-dev] [PATCH v2 0/1] build: add Graviton2(arm64) meson configuration
  2020-09-09  1:11 [dpdk-dev] [PATCH 0/2] build: add Graviton2(arm64) config Vimal Chungath
                   ` (2 preceding siblings ...)
  2020-09-09  8:03 ` [dpdk-dev] [PATCH 0/2] build: add Graviton2(arm64) config David Marchand
@ 2020-10-27 20:17 ` Vimal Chungath
  2020-10-27 20:17   ` [dpdk-dev] [PATCH v2 1/1] " Vimal Chungath
  2020-11-03 18:06 ` [dpdk-dev] [PATCH v3 0/1] " Vimal Chungath
  4 siblings, 1 reply; 28+ messages in thread
From: Vimal Chungath @ 2020-10-27 20:17 UTC (permalink / raw)
  To: dev
  Cc: honnappa.nagarahalli, Dharmik.Thakkar, alisaidi,
	bruce.richardson, hemant.agrawal, jerinj, jerinjacobk,
	juraj.linkes, nd, thomas

V2 changes:
 - drop make patch

Vimal Chungath (1):
  build: add Graviton2(arm64) meson configuration

 config/arm/arm64_graviton2_linux_gcc | 17 +++++++++++++++++
 config/arm/meson.build               | 12 +++++++++++-
 2 files changed, 28 insertions(+), 1 deletion(-)
 create mode 100644 config/arm/arm64_graviton2_linux_gcc

-- 
2.16.6


^ permalink raw reply	[flat|nested] 28+ messages in thread

* [dpdk-dev] [PATCH v2 1/1] build: add Graviton2(arm64) meson configuration
  2020-10-27 20:17 ` [dpdk-dev] [PATCH v2 0/1] build: add Graviton2(arm64) meson configuration Vimal Chungath
@ 2020-10-27 20:17   ` Vimal Chungath
  2020-10-28  4:28     ` Honnappa Nagarahalli
  2020-10-28  6:07     ` Ruifeng Wang
  0 siblings, 2 replies; 28+ messages in thread
From: Vimal Chungath @ 2020-10-27 20:17 UTC (permalink / raw)
  To: dev
  Cc: honnappa.nagarahalli, Dharmik.Thakkar, alisaidi,
	bruce.richardson, hemant.agrawal, jerinj, jerinjacobk,
	juraj.linkes, nd, thomas

Add meson build configuration for Graviton2 platform
with 64-bit Arm Neoverse N1 cores. This patch makes the
following changes to generic Neoverse N1 config:

1. increase lcore limit to 64
2. increase memory support to 1TB
3. remove +crc from -march as that is default when setting armv8.2

For more information about Graviton2 platform, refer to:
https://aws.amazon.com/ec2/graviton/

Signed-off-by: Vimal Chungath <vcchunga@amazon.com>
---
 config/arm/arm64_graviton2_linux_gcc | 17 +++++++++++++++++
 config/arm/meson.build               | 12 +++++++++++-
 2 files changed, 28 insertions(+), 1 deletion(-)
 create mode 100644 config/arm/arm64_graviton2_linux_gcc

diff --git a/config/arm/arm64_graviton2_linux_gcc b/config/arm/arm64_graviton2_linux_gcc
new file mode 100644
index 000000000..022e06303
--- /dev/null
+++ b/config/arm/arm64_graviton2_linux_gcc
@@ -0,0 +1,17 @@
+[binaries]
+c = 'aarch64-linux-gnu-gcc'
+cpp = 'aarch64-linux-gnu-cpp'
+ar = 'aarch64-linux-gnu-gcc-ar'
+strip = 'aarch64-linux-gnu-strip'
+pkgconfig = 'aarch64-linux-gnu-pkg-config'
+pcap-config = ''
+
+[host_machine]
+system = 'linux'
+cpu_family = 'aarch64'
+cpu = 'armv8-a'
+endian = 'little'
+
+[properties]
+implementor_id = '0x41'
+implementor_pn = '0xd0c'
diff --git a/config/arm/meson.build b/config/arm/meson.build
index b49203fa8..0e7124843 100644
--- a/config/arm/meson.build
+++ b/config/arm/meson.build
@@ -86,6 +86,16 @@ flags_octeontx2_extra = [
 	['RTE_ARM_FEATURE_ATOMICS', true],
 	['RTE_EAL_IGB_UIO', false],
 	['RTE_USE_C11_MEM_MODEL', true]]
+flags_n1generic_extra = [
+	['RTE_MACHINE', '"neoverse-n1"'],
+	['RTE_MAX_LCORE', 64],
+	['RTE_CACHE_LINE_SIZE', 64],
+	['RTE_ARM_FEATURE_ATOMICS', true],
+	['RTE_USE_C11_MEM_MODEL', true],
+	['RTE_MAX_MEM_MB', 1048576],
+	['RTE_MAX_NUMA_NODES', 1],
+	['RTE_EAL_NUMA_AWARE_HUGEPAGES', false],
+	['RTE_LIBRTE_VHOST_NUMA', false]]
 
 machine_args_generic = [
 	['default', ['-march=armv8-a+crc', '-moutline-atomics']],
@@ -97,7 +107,7 @@ machine_args_generic = [
 	['0xd09', ['-mcpu=cortex-a73']],
 	['0xd0a', ['-mcpu=cortex-a75']],
 	['0xd0b', ['-mcpu=cortex-a76']],
-	['0xd0c', ['-march=armv8.2-a+crc+crypto', '-mcpu=neoverse-n1'], flags_n1sdp_extra]]
+	['0xd0c', ['-march=armv8.2-a+crypto', '-mcpu=neoverse-n1'], flags_n1generic_extra]]
 
 machine_args_cavium = [
 	['default', ['-march=armv8-a+crc+crypto','-mcpu=thunderx']],
-- 
2.16.6


^ permalink raw reply	[flat|nested] 28+ messages in thread

* Re: [dpdk-dev] [PATCH v2 1/1] build: add Graviton2(arm64) meson configuration
  2020-10-27 20:17   ` [dpdk-dev] [PATCH v2 1/1] " Vimal Chungath
@ 2020-10-28  4:28     ` Honnappa Nagarahalli
  2020-10-28  9:29       ` Jerin Jacob
  2020-10-28  6:07     ` Ruifeng Wang
  1 sibling, 1 reply; 28+ messages in thread
From: Honnappa Nagarahalli @ 2020-10-28  4:28 UTC (permalink / raw)
  To: Vimal Chungath, dev
  Cc: Dharmik Thakkar, alisaidi, bruce.richardson, hemant.agrawal,
	jerinj, jerinjacobk, juraj.linkes, nd, thomas, Ruifeng Wang,
	Feifei Wang, nd

Hello,
	IMO, Juraj's patch for meson build rework for Arm platforms will need some time. Keeping the RC2 deadline in mind, it makes sense to accept this patch and target Juraj's patch for 21.02.

Any opinions?

> -----Original Message-----
> From: Vimal Chungath <vcchunga@amazon.com>
> Sent: Tuesday, October 27, 2020 3:18 PM
> To: dev@dpdk.org
> Cc: Honnappa Nagarahalli <Honnappa.Nagarahalli@arm.com>; Dharmik
> Thakkar <Dharmik.Thakkar@arm.com>; alisaidi@amazon.com;
> bruce.richardson@intel.com; hemant.agrawal@nxp.com;
> jerinj@marvell.com; jerinjacobk@gmail.com; juraj.linkes@pantheon.tech;
> nd <nd@arm.com>; thomas@monjalon.net
> Subject: [PATCH v2 1/1] build: add Graviton2(arm64) meson configuration
> 
> Add meson build configuration for Graviton2 platform with 64-bit Arm
> Neoverse N1 cores. This patch makes the following changes to generic
> Neoverse N1 config:
> 
> 1. increase lcore limit to 64
> 2. increase memory support to 1TB
> 3. remove +crc from -march as that is default when setting armv8.2
> 
> For more information about Graviton2 platform, refer to:
> https://aws.amazon.com/ec2/graviton/
> 
> Signed-off-by: Vimal Chungath <vcchunga@amazon.com>
Reviewed-by: Honnappa Nagarahalli <honnappa.nagarahalli@arm.com>

> ---
>  config/arm/arm64_graviton2_linux_gcc | 17 +++++++++++++++++
>  config/arm/meson.build               | 12 +++++++++++-
>  2 files changed, 28 insertions(+), 1 deletion(-)  create mode 100644
> config/arm/arm64_graviton2_linux_gcc
> 
> diff --git a/config/arm/arm64_graviton2_linux_gcc
> b/config/arm/arm64_graviton2_linux_gcc
> new file mode 100644
> index 000000000..022e06303
> --- /dev/null
> +++ b/config/arm/arm64_graviton2_linux_gcc
> @@ -0,0 +1,17 @@
> +[binaries]
> +c = 'aarch64-linux-gnu-gcc'
> +cpp = 'aarch64-linux-gnu-cpp'
> +ar = 'aarch64-linux-gnu-gcc-ar'
> +strip = 'aarch64-linux-gnu-strip'
> +pkgconfig = 'aarch64-linux-gnu-pkg-config'
> +pcap-config = ''
> +
> +[host_machine]
> +system = 'linux'
> +cpu_family = 'aarch64'
> +cpu = 'armv8-a'
> +endian = 'little'
> +
> +[properties]
> +implementor_id = '0x41'
> +implementor_pn = '0xd0c'
> diff --git a/config/arm/meson.build b/config/arm/meson.build index
> b49203fa8..0e7124843 100644
> --- a/config/arm/meson.build
> +++ b/config/arm/meson.build
> @@ -86,6 +86,16 @@ flags_octeontx2_extra = [
>  	['RTE_ARM_FEATURE_ATOMICS', true],
>  	['RTE_EAL_IGB_UIO', false],
>  	['RTE_USE_C11_MEM_MODEL', true]]
> +flags_n1generic_extra = [
> +	['RTE_MACHINE', '"neoverse-n1"'],
> +	['RTE_MAX_LCORE', 64],
> +	['RTE_CACHE_LINE_SIZE', 64],
> +	['RTE_ARM_FEATURE_ATOMICS', true],
> +	['RTE_USE_C11_MEM_MODEL', true],
> +	['RTE_MAX_MEM_MB', 1048576],
> +	['RTE_MAX_NUMA_NODES', 1],
> +	['RTE_EAL_NUMA_AWARE_HUGEPAGES', false],
> +	['RTE_LIBRTE_VHOST_NUMA', false]]
> 
>  machine_args_generic = [
>  	['default', ['-march=armv8-a+crc', '-moutline-atomics']], @@ -97,7
> +107,7 @@ machine_args_generic = [
>  	['0xd09', ['-mcpu=cortex-a73']],
>  	['0xd0a', ['-mcpu=cortex-a75']],
>  	['0xd0b', ['-mcpu=cortex-a76']],
> -	['0xd0c', ['-march=armv8.2-a+crc+crypto', '-mcpu=neoverse-n1'],
> flags_n1sdp_extra]]
> +	['0xd0c', ['-march=armv8.2-a+crypto', '-mcpu=neoverse-n1'],
> +flags_n1generic_extra]]
> 
>  machine_args_cavium = [
>  	['default', ['-march=armv8-a+crc+crypto','-mcpu=thunderx']],
> --
> 2.16.6


^ permalink raw reply	[flat|nested] 28+ messages in thread

* Re: [dpdk-dev] [PATCH v2 1/1] build: add Graviton2(arm64) meson configuration
  2020-10-27 20:17   ` [dpdk-dev] [PATCH v2 1/1] " Vimal Chungath
  2020-10-28  4:28     ` Honnappa Nagarahalli
@ 2020-10-28  6:07     ` Ruifeng Wang
  1 sibling, 0 replies; 28+ messages in thread
From: Ruifeng Wang @ 2020-10-28  6:07 UTC (permalink / raw)
  To: Vimal Chungath, dev
  Cc: Honnappa Nagarahalli, Dharmik Thakkar, alisaidi,
	bruce.richardson, hemant.agrawal, jerinj, jerinjacobk,
	juraj.linkes, nd, thomas, nd


> -----Original Message-----
> From: dev <dev-bounces@dpdk.org> On Behalf Of Vimal Chungath
> Sent: Wednesday, October 28, 2020 4:18 AM
> To: dev@dpdk.org
> Cc: Honnappa Nagarahalli <Honnappa.Nagarahalli@arm.com>; Dharmik
> Thakkar <Dharmik.Thakkar@arm.com>; alisaidi@amazon.com;
> bruce.richardson@intel.com; hemant.agrawal@nxp.com;
> jerinj@marvell.com; jerinjacobk@gmail.com; juraj.linkes@pantheon.tech;
> nd <nd@arm.com>; thomas@monjalon.net
> Subject: [dpdk-dev] [PATCH v2 1/1] build: add Graviton2(arm64) meson
> configuration
> 
> Add meson build configuration for Graviton2 platform with 64-bit Arm
> Neoverse N1 cores. This patch makes the following changes to generic
> Neoverse N1 config:
> 
> 1. increase lcore limit to 64
> 2. increase memory support to 1TB
> 3. remove +crc from -march as that is default when setting armv8.2
> 
> For more information about Graviton2 platform, refer to:
> https://aws.amazon.com/ec2/graviton/
> 
> Signed-off-by: Vimal Chungath <vcchunga@amazon.com>
> ---
>  config/arm/arm64_graviton2_linux_gcc | 17 +++++++++++++++++
>  config/arm/meson.build               | 12 +++++++++++-
>  2 files changed, 28 insertions(+), 1 deletion(-)  create mode 100644
> config/arm/arm64_graviton2_linux_gcc
> 
> diff --git a/config/arm/arm64_graviton2_linux_gcc
> b/config/arm/arm64_graviton2_linux_gcc
> new file mode 100644
> index 000000000..022e06303
> --- /dev/null
> +++ b/config/arm/arm64_graviton2_linux_gcc
> @@ -0,0 +1,17 @@
> +[binaries]
> +c = 'aarch64-linux-gnu-gcc'
> +cpp = 'aarch64-linux-gnu-cpp'
> +ar = 'aarch64-linux-gnu-gcc-ar'
> +strip = 'aarch64-linux-gnu-strip'
> +pkgconfig = 'aarch64-linux-gnu-pkg-config'
> +pcap-config = ''
> +
> +[host_machine]
> +system = 'linux'
> +cpu_family = 'aarch64'
> +cpu = 'armv8-a'
> +endian = 'little'
> +
> +[properties]
> +implementor_id = '0x41'
> +implementor_pn = '0xd0c'
> diff --git a/config/arm/meson.build b/config/arm/meson.build index
> b49203fa8..0e7124843 100644
> --- a/config/arm/meson.build
> +++ b/config/arm/meson.build
> @@ -86,6 +86,16 @@ flags_octeontx2_extra = [
>  	['RTE_ARM_FEATURE_ATOMICS', true],
>  	['RTE_EAL_IGB_UIO', false],
>  	['RTE_USE_C11_MEM_MODEL', true]]
> +flags_n1generic_extra = [
> +	['RTE_MACHINE', '"neoverse-n1"'],
> +	['RTE_MAX_LCORE', 64],
> +	['RTE_CACHE_LINE_SIZE', 64],
> +	['RTE_ARM_FEATURE_ATOMICS', true],
> +	['RTE_USE_C11_MEM_MODEL', true],
> +	['RTE_MAX_MEM_MB', 1048576],
> +	['RTE_MAX_NUMA_NODES', 1],
> +	['RTE_EAL_NUMA_AWARE_HUGEPAGES', false],
> +	['RTE_LIBRTE_VHOST_NUMA', false]]
> 
>  machine_args_generic = [
>  	['default', ['-march=armv8-a+crc', '-moutline-atomics']], @@ -97,7
> +107,7 @@ machine_args_generic = [
>  	['0xd09', ['-mcpu=cortex-a73']],
>  	['0xd0a', ['-mcpu=cortex-a75']],
>  	['0xd0b', ['-mcpu=cortex-a76']],
> -	['0xd0c', ['-march=armv8.2-a+crc+crypto', '-mcpu=neoverse-n1'],
> flags_n1sdp_extra]]
> +	['0xd0c', ['-march=armv8.2-a+crypto', '-mcpu=neoverse-n1'],
> +flags_n1generic_extra]]

After this change, 'flags_n1sdp_extra' will no longer be referenced. Then it can be removed.
> 
>  machine_args_cavium = [
>  	['default', ['-march=armv8-a+crc+crypto','-mcpu=thunderx']],
> --
> 2.16.6


^ permalink raw reply	[flat|nested] 28+ messages in thread

* Re: [dpdk-dev] [PATCH v2 1/1] build: add Graviton2(arm64) meson configuration
  2020-10-28  4:28     ` Honnappa Nagarahalli
@ 2020-10-28  9:29       ` Jerin Jacob
  2020-10-28 22:52         ` Honnappa Nagarahalli
  0 siblings, 1 reply; 28+ messages in thread
From: Jerin Jacob @ 2020-10-28  9:29 UTC (permalink / raw)
  To: Honnappa Nagarahalli
  Cc: Vimal Chungath, dev, Dharmik Thakkar, alisaidi, bruce.richardson,
	hemant.agrawal, jerinj, juraj.linkes, nd, thomas, Ruifeng Wang,
	Feifei Wang

On Wed, Oct 28, 2020 at 9:59 AM Honnappa Nagarahalli
<Honnappa.Nagarahalli@arm.com> wrote:
>
> Hello,
>         IMO, Juraj's patch for meson build rework for Arm platforms will need some time. Keeping the RC2 deadline in mind, it makes sense to accept this patch and target Juraj's patch for 21.02.
>
> Any opinions?

I feel, Recent Juraj's changes looks in good shape, I think, once he
fixes your review comment and sends the next version. We can test it
and give the final reviewed by and merge it in RC2.
IMO, Those changes are critical to adding a new platform when MIDR is
the same value.


>
> > -----Original Message-----
> > From: Vimal Chungath <vcchunga@amazon.com>
> > Sent: Tuesday, October 27, 2020 3:18 PM
> > To: dev@dpdk.org
> > Cc: Honnappa Nagarahalli <Honnappa.Nagarahalli@arm.com>; Dharmik
> > Thakkar <Dharmik.Thakkar@arm.com>; alisaidi@amazon.com;
> > bruce.richardson@intel.com; hemant.agrawal@nxp.com;
> > jerinj@marvell.com; jerinjacobk@gmail.com; juraj.linkes@pantheon.tech;
> > nd <nd@arm.com>; thomas@monjalon.net
> > Subject: [PATCH v2 1/1] build: add Graviton2(arm64) meson configuration
> >
> > Add meson build configuration for Graviton2 platform with 64-bit Arm
> > Neoverse N1 cores. This patch makes the following changes to generic
> > Neoverse N1 config:
> >
> > 1. increase lcore limit to 64
> > 2. increase memory support to 1TB
> > 3. remove +crc from -march as that is default when setting armv8.2
> >
> > For more information about Graviton2 platform, refer to:
> > https://aws.amazon.com/ec2/graviton/
> >
> > Signed-off-by: Vimal Chungath <vcchunga@amazon.com>
> Reviewed-by: Honnappa Nagarahalli <honnappa.nagarahalli@arm.com>
>
> > ---
> >  config/arm/arm64_graviton2_linux_gcc | 17 +++++++++++++++++
> >  config/arm/meson.build               | 12 +++++++++++-
> >  2 files changed, 28 insertions(+), 1 deletion(-)  create mode 100644
> > config/arm/arm64_graviton2_linux_gcc
> >
> > diff --git a/config/arm/arm64_graviton2_linux_gcc
> > b/config/arm/arm64_graviton2_linux_gcc
> > new file mode 100644
> > index 000000000..022e06303
> > --- /dev/null
> > +++ b/config/arm/arm64_graviton2_linux_gcc
> > @@ -0,0 +1,17 @@
> > +[binaries]
> > +c = 'aarch64-linux-gnu-gcc'
> > +cpp = 'aarch64-linux-gnu-cpp'
> > +ar = 'aarch64-linux-gnu-gcc-ar'
> > +strip = 'aarch64-linux-gnu-strip'
> > +pkgconfig = 'aarch64-linux-gnu-pkg-config'
> > +pcap-config = ''
> > +
> > +[host_machine]
> > +system = 'linux'
> > +cpu_family = 'aarch64'
> > +cpu = 'armv8-a'
> > +endian = 'little'
> > +
> > +[properties]
> > +implementor_id = '0x41'
> > +implementor_pn = '0xd0c'
> > diff --git a/config/arm/meson.build b/config/arm/meson.build index
> > b49203fa8..0e7124843 100644
> > --- a/config/arm/meson.build
> > +++ b/config/arm/meson.build
> > @@ -86,6 +86,16 @@ flags_octeontx2_extra = [
> >       ['RTE_ARM_FEATURE_ATOMICS', true],
> >       ['RTE_EAL_IGB_UIO', false],
> >       ['RTE_USE_C11_MEM_MODEL', true]]
> > +flags_n1generic_extra = [
> > +     ['RTE_MACHINE', '"neoverse-n1"'],
> > +     ['RTE_MAX_LCORE', 64],
> > +     ['RTE_CACHE_LINE_SIZE', 64],
> > +     ['RTE_ARM_FEATURE_ATOMICS', true],
> > +     ['RTE_USE_C11_MEM_MODEL', true],
> > +     ['RTE_MAX_MEM_MB', 1048576],
> > +     ['RTE_MAX_NUMA_NODES', 1],
> > +     ['RTE_EAL_NUMA_AWARE_HUGEPAGES', false],
> > +     ['RTE_LIBRTE_VHOST_NUMA', false]]
> >
> >  machine_args_generic = [
> >       ['default', ['-march=armv8-a+crc', '-moutline-atomics']], @@ -97,7
> > +107,7 @@ machine_args_generic = [
> >       ['0xd09', ['-mcpu=cortex-a73']],
> >       ['0xd0a', ['-mcpu=cortex-a75']],
> >       ['0xd0b', ['-mcpu=cortex-a76']],
> > -     ['0xd0c', ['-march=armv8.2-a+crc+crypto', '-mcpu=neoverse-n1'],
> > flags_n1sdp_extra]]
> > +     ['0xd0c', ['-march=armv8.2-a+crypto', '-mcpu=neoverse-n1'],
> > +flags_n1generic_extra]]
> >
> >  machine_args_cavium = [
> >       ['default', ['-march=armv8-a+crc+crypto','-mcpu=thunderx']],
> > --
> > 2.16.6
>

^ permalink raw reply	[flat|nested] 28+ messages in thread

* Re: [dpdk-dev] [PATCH v2 1/1] build: add Graviton2(arm64) meson configuration
  2020-10-28  9:29       ` Jerin Jacob
@ 2020-10-28 22:52         ` Honnappa Nagarahalli
  0 siblings, 0 replies; 28+ messages in thread
From: Honnappa Nagarahalli @ 2020-10-28 22:52 UTC (permalink / raw)
  To: Jerin Jacob
  Cc: Vimal Chungath, dev, Dharmik Thakkar, alisaidi, bruce.richardson,
	hemant.agrawal, jerinj, juraj.linkes, nd, thomas, Ruifeng Wang,
	Feifei Wang, Honnappa Nagarahalli, nd

<snip>

> >
> > Hello,
> >         IMO, Juraj's patch for meson build rework for Arm platforms will need
> some time. Keeping the RC2 deadline in mind, it makes sense to accept this
> patch and target Juraj's patch for 21.02.
> >
> > Any opinions?
> 
> I feel, Recent Juraj's changes looks in good shape, I think, once he fixes your
> review comment and sends the next version. We can test it and give the final
> reviewed by and merge it in RC2.
> IMO, Those changes are critical to adding a new platform when MIDR is the
> same value.
The main aim was to have the ability to build for a specified SoC. It is available for cross-builds, but not for native builds.

> 
> 
> >
> > > -----Original Message-----
> > > From: Vimal Chungath <vcchunga@amazon.com>
> > > Sent: Tuesday, October 27, 2020 3:18 PM
> > > To: dev@dpdk.org
> > > Cc: Honnappa Nagarahalli <Honnappa.Nagarahalli@arm.com>; Dharmik
> > > Thakkar <Dharmik.Thakkar@arm.com>; alisaidi@amazon.com;
> > > bruce.richardson@intel.com; hemant.agrawal@nxp.com;
> > > jerinj@marvell.com; jerinjacobk@gmail.com;
> > > juraj.linkes@pantheon.tech; nd <nd@arm.com>; thomas@monjalon.net
> > > Subject: [PATCH v2 1/1] build: add Graviton2(arm64) meson
> > > configuration
> > >
> > > Add meson build configuration for Graviton2 platform with 64-bit Arm
> > > Neoverse N1 cores. This patch makes the following changes to generic
> > > Neoverse N1 config:
> > >
> > > 1. increase lcore limit to 64
> > > 2. increase memory support to 1TB
> > > 3. remove +crc from -march as that is default when setting armv8.2
> > >
> > > For more information about Graviton2 platform, refer to:
> > > https://aws.amazon.com/ec2/graviton/
> > >
> > > Signed-off-by: Vimal Chungath <vcchunga@amazon.com>
> > Reviewed-by: Honnappa Nagarahalli <honnappa.nagarahalli@arm.com>
> >
> > > ---
> > >  config/arm/arm64_graviton2_linux_gcc | 17 +++++++++++++++++
> > >  config/arm/meson.build               | 12 +++++++++++-
> > >  2 files changed, 28 insertions(+), 1 deletion(-)  create mode
> > > 100644 config/arm/arm64_graviton2_linux_gcc
> > >
> > > diff --git a/config/arm/arm64_graviton2_linux_gcc
> > > b/config/arm/arm64_graviton2_linux_gcc
> > > new file mode 100644
> > > index 000000000..022e06303
> > > --- /dev/null
> > > +++ b/config/arm/arm64_graviton2_linux_gcc
> > > @@ -0,0 +1,17 @@
> > > +[binaries]
> > > +c = 'aarch64-linux-gnu-gcc'
> > > +cpp = 'aarch64-linux-gnu-cpp'
> > > +ar = 'aarch64-linux-gnu-gcc-ar'
> > > +strip = 'aarch64-linux-gnu-strip'
> > > +pkgconfig = 'aarch64-linux-gnu-pkg-config'
> > > +pcap-config = ''
> > > +
> > > +[host_machine]
> > > +system = 'linux'
> > > +cpu_family = 'aarch64'
> > > +cpu = 'armv8-a'
> > > +endian = 'little'
> > > +
> > > +[properties]
> > > +implementor_id = '0x41'
> > > +implementor_pn = '0xd0c'
> > > diff --git a/config/arm/meson.build b/config/arm/meson.build index
> > > b49203fa8..0e7124843 100644
> > > --- a/config/arm/meson.build
> > > +++ b/config/arm/meson.build
> > > @@ -86,6 +86,16 @@ flags_octeontx2_extra = [
> > >       ['RTE_ARM_FEATURE_ATOMICS', true],
> > >       ['RTE_EAL_IGB_UIO', false],
> > >       ['RTE_USE_C11_MEM_MODEL', true]]
> > > +flags_n1generic_extra = [
> > > +     ['RTE_MACHINE', '"neoverse-n1"'],
> > > +     ['RTE_MAX_LCORE', 64],
> > > +     ['RTE_CACHE_LINE_SIZE', 64],
> > > +     ['RTE_ARM_FEATURE_ATOMICS', true],
> > > +     ['RTE_USE_C11_MEM_MODEL', true],
> > > +     ['RTE_MAX_MEM_MB', 1048576],
> > > +     ['RTE_MAX_NUMA_NODES', 1],
> > > +     ['RTE_EAL_NUMA_AWARE_HUGEPAGES', false],
> > > +     ['RTE_LIBRTE_VHOST_NUMA', false]]
> > >
> > >  machine_args_generic = [
> > >       ['default', ['-march=armv8-a+crc', '-moutline-atomics']], @@
> > > -97,7
> > > +107,7 @@ machine_args_generic = [
> > >       ['0xd09', ['-mcpu=cortex-a73']],
> > >       ['0xd0a', ['-mcpu=cortex-a75']],
> > >       ['0xd0b', ['-mcpu=cortex-a76']],
> > > -     ['0xd0c', ['-march=armv8.2-a+crc+crypto', '-mcpu=neoverse-n1'],
> > > flags_n1sdp_extra]]
> > > +     ['0xd0c', ['-march=armv8.2-a+crypto', '-mcpu=neoverse-n1'],
> > > +flags_n1generic_extra]]
> > >
> > >  machine_args_cavium = [
> > >       ['default', ['-march=armv8-a+crc+crypto','-mcpu=thunderx']],
> > > --
> > > 2.16.6
> >

^ permalink raw reply	[flat|nested] 28+ messages in thread

* [dpdk-dev] [PATCH v3 0/1] build: add Graviton2(arm64) meson configuration
  2020-09-09  1:11 [dpdk-dev] [PATCH 0/2] build: add Graviton2(arm64) config Vimal Chungath
                   ` (3 preceding siblings ...)
  2020-10-27 20:17 ` [dpdk-dev] [PATCH v2 0/1] build: add Graviton2(arm64) meson configuration Vimal Chungath
@ 2020-11-03 18:06 ` Vimal Chungath
  2020-11-03 18:06   ` [dpdk-dev] [PATCH v3 1/1] " Vimal Chungath
  4 siblings, 1 reply; 28+ messages in thread
From: Vimal Chungath @ 2020-11-03 18:06 UTC (permalink / raw)
  To: dev
  Cc: honnappa.nagarahalli, Dharmik.Thakkar, alisaidi,
	bruce.richardson, hemant.agrawal, jerinj, jerinjacobk,
	juraj.linkes, nd, thomas

Hi All,

I see that meson rework patches are still pending.
Can this patch be accepted for 20.11 to enable Graviton2 support?

v3 changes:
 - remove flags_n1sdp_extra as it is unused.

Vimal Chungath (1):
  build: add Graviton2(arm64) meson configuration

 config/arm/arm64_graviton2_linux_gcc | 17 +++++++++++++++++
 config/arm/meson.build               | 18 +++++++++++-------
 2 files changed, 28 insertions(+), 7 deletions(-)
 create mode 100644 config/arm/arm64_graviton2_linux_gcc

-- 
2.16.6


^ permalink raw reply	[flat|nested] 28+ messages in thread

* [dpdk-dev] [PATCH v3 1/1] build: add Graviton2(arm64) meson configuration
  2020-11-03 18:06 ` [dpdk-dev] [PATCH v3 0/1] " Vimal Chungath
@ 2020-11-03 18:06   ` Vimal Chungath
  2020-11-03 18:32     ` Thomas Monjalon
  2020-11-03 19:45     ` Honnappa Nagarahalli
  0 siblings, 2 replies; 28+ messages in thread
From: Vimal Chungath @ 2020-11-03 18:06 UTC (permalink / raw)
  To: dev
  Cc: honnappa.nagarahalli, Dharmik.Thakkar, alisaidi,
	bruce.richardson, hemant.agrawal, jerinj, jerinjacobk,
	juraj.linkes, nd, thomas

Add meson build configuration for Graviton2 platform
with 64-bit Arm Neoverse N1 cores. This patch makes the
following changes to generic Neoverse N1 config:

1. increase lcore limit to 64
2. increase memory support to 1TB
3. remove +crc from -march as that is default when setting armv8.2

For more information about Graviton2 platform, refer to:
https://aws.amazon.com/ec2/graviton/

Signed-off-by: Vimal Chungath <vcchunga@amazon.com>
---
 config/arm/arm64_graviton2_linux_gcc | 17 +++++++++++++++++
 config/arm/meson.build               | 18 +++++++++++-------
 2 files changed, 28 insertions(+), 7 deletions(-)
 create mode 100644 config/arm/arm64_graviton2_linux_gcc

diff --git a/config/arm/arm64_graviton2_linux_gcc b/config/arm/arm64_graviton2_linux_gcc
new file mode 100644
index 000000000..022e06303
--- /dev/null
+++ b/config/arm/arm64_graviton2_linux_gcc
@@ -0,0 +1,17 @@
+[binaries]
+c = 'aarch64-linux-gnu-gcc'
+cpp = 'aarch64-linux-gnu-cpp'
+ar = 'aarch64-linux-gnu-gcc-ar'
+strip = 'aarch64-linux-gnu-strip'
+pkgconfig = 'aarch64-linux-gnu-pkg-config'
+pcap-config = ''
+
+[host_machine]
+system = 'linux'
+cpu_family = 'aarch64'
+cpu = 'armv8-a'
+endian = 'little'
+
+[properties]
+implementor_id = '0x41'
+implementor_pn = '0xd0c'
diff --git a/config/arm/meson.build b/config/arm/meson.build
index b49203fa8..073b4afc0 100644
--- a/config/arm/meson.build
+++ b/config/arm/meson.build
@@ -63,12 +63,6 @@ flags_armada = [
 	['RTE_MAX_LCORE', 16]]
 
 flags_default_extra = []
-flags_n1sdp_extra = [
-	['RTE_MACHINE', '"n1sdp"'],
-	['RTE_MAX_NUMA_NODES', 1],
-	['RTE_MAX_LCORE', 4],
-	['RTE_EAL_NUMA_AWARE_HUGEPAGES', false],
-	['RTE_LIBRTE_VHOST_NUMA', false]]
 flags_thunderx_extra = [
 	['RTE_MACHINE', '"thunderx"'],
 	['RTE_USE_C11_MEM_MODEL', false]]
@@ -86,6 +80,16 @@ flags_octeontx2_extra = [
 	['RTE_ARM_FEATURE_ATOMICS', true],
 	['RTE_EAL_IGB_UIO', false],
 	['RTE_USE_C11_MEM_MODEL', true]]
+flags_n1generic_extra = [
+	['RTE_MACHINE', '"neoverse-n1"'],
+	['RTE_MAX_LCORE', 64],
+	['RTE_CACHE_LINE_SIZE', 64],
+	['RTE_ARM_FEATURE_ATOMICS', true],
+	['RTE_USE_C11_MEM_MODEL', true],
+	['RTE_MAX_MEM_MB', 1048576],
+	['RTE_MAX_NUMA_NODES', 1],
+	['RTE_EAL_NUMA_AWARE_HUGEPAGES', false],
+	['RTE_LIBRTE_VHOST_NUMA', false]]
 
 machine_args_generic = [
 	['default', ['-march=armv8-a+crc', '-moutline-atomics']],
@@ -97,7 +101,7 @@ machine_args_generic = [
 	['0xd09', ['-mcpu=cortex-a73']],
 	['0xd0a', ['-mcpu=cortex-a75']],
 	['0xd0b', ['-mcpu=cortex-a76']],
-	['0xd0c', ['-march=armv8.2-a+crc+crypto', '-mcpu=neoverse-n1'], flags_n1sdp_extra]]
+	['0xd0c', ['-march=armv8.2-a+crypto', '-mcpu=neoverse-n1'], flags_n1generic_extra]]
 
 machine_args_cavium = [
 	['default', ['-march=armv8-a+crc+crypto','-mcpu=thunderx']],
-- 
2.16.6


^ permalink raw reply	[flat|nested] 28+ messages in thread

* Re: [dpdk-dev] [PATCH v3 1/1] build: add Graviton2(arm64) meson configuration
  2020-11-03 18:06   ` [dpdk-dev] [PATCH v3 1/1] " Vimal Chungath
@ 2020-11-03 18:32     ` Thomas Monjalon
  2020-11-03 18:38       ` [dpdk-dev] [EXT] " Jerin Jacob Kollanukkaran
  2020-11-03 19:45     ` Honnappa Nagarahalli
  1 sibling, 1 reply; 28+ messages in thread
From: Thomas Monjalon @ 2020-11-03 18:32 UTC (permalink / raw)
  To: Vimal Chungath, honnappa.nagarahalli, Dharmik.Thakkar, jerinj,
	juraj.linkes
  Cc: dev, alisaidi, bruce.richardson, hemant.agrawal, jerinjacobk, nd

03/11/2020 19:06, Vimal Chungath:
> Add meson build configuration for Graviton2 platform
> with 64-bit Arm Neoverse N1 cores. This patch makes the
> following changes to generic Neoverse N1 config:
> 
> 1. increase lcore limit to 64
> 2. increase memory support to 1TB
> 3. remove +crc from -march as that is default when setting armv8.2
> 
> For more information about Graviton2 platform, refer to:
> https://aws.amazon.com/ec2/graviton/
> 
> Signed-off-by: Vimal Chungath <vcchunga@amazon.com>
> ---
>  config/arm/arm64_graviton2_linux_gcc | 17 +++++++++++++++++
>  config/arm/meson.build               | 18 +++++++++++-------
>  2 files changed, 28 insertions(+), 7 deletions(-)

Can this patch be merged without the rework from Juraj?




^ permalink raw reply	[flat|nested] 28+ messages in thread

* Re: [dpdk-dev] [EXT] Re: [PATCH v3 1/1] build: add Graviton2(arm64) meson configuration
  2020-11-03 18:32     ` Thomas Monjalon
@ 2020-11-03 18:38       ` Jerin Jacob Kollanukkaran
  2020-11-03 18:51         ` [dpdk-dev] " Vimal Chungath
  0 siblings, 1 reply; 28+ messages in thread
From: Jerin Jacob Kollanukkaran @ 2020-11-03 18:38 UTC (permalink / raw)
  To: Thomas Monjalon, Vimal Chungath, honnappa.nagarahalli,
	Dharmik.Thakkar, juraj.linkes
  Cc: dev, alisaidi, bruce.richardson, hemant.agrawal, jerinjacobk, nd


> -----Original Message-----
> From: Thomas Monjalon <thomas@monjalon.net>
> Sent: Wednesday, November 4, 2020 12:02 AM
> To: Vimal Chungath <vcchunga@amazon.com>;
> honnappa.nagarahalli@arm.com; Dharmik.Thakkar@arm.com; Jerin Jacob
> Kollanukkaran <jerinj@marvell.com>; juraj.linkes@pantheon.tech
> Cc: dev@dpdk.org; alisaidi@amazon.com; bruce.richardson@intel.com;
> hemant.agrawal@nxp.com; jerinjacobk@gmail.com; nd@arm.com
> Subject: [EXT] Re: [PATCH v3 1/1] build: add Graviton2(arm64) meson
> configuration
> 
> External Email
> 
> ----------------------------------------------------------------------
> 03/11/2020 19:06, Vimal Chungath:
> > Add meson build configuration for Graviton2 platform with 64-bit Arm
> > Neoverse N1 cores. This patch makes the following changes to generic
> > Neoverse N1 config:
> >
> > 1. increase lcore limit to 64
> > 2. increase memory support to 1TB
> > 3. remove +crc from -march as that is default when setting armv8.2
> >
> > For more information about Graviton2 platform, refer to:
> > https://urldefense.proofpoint.com/v2/url?u=https-3A__aws.amazon.com_ec
> >
> 2_graviton_&d=DwICAg&c=nKjWec2b6R0mOyPaz7xtfQ&r=1DGob4H4rxz6H8uI
> TozGOC
> > a0s5f4wCNtTa4UUKvcsvI&m=VIL7guv5hWfA3ZiECZxC4FEeNOo_69gC-
> HJTjyaKbrU&s=
> > z3abjQkX_xJl1gOHkfowNmcVS0an6I2Dbzf8NTtoUQ0&e=
> >
> > Signed-off-by: Vimal Chungath <vcchunga@amazon.com>
> > ---
> >  config/arm/arm64_graviton2_linux_gcc | 17 +++++++++++++++++
> >  config/arm/meson.build               | 18 +++++++++++-------
> >  2 files changed, 28 insertions(+), 7 deletions(-)
> 
> Can this patch be merged without the rework from Juraj?

Yes. +1 

@Vimal Chungath, Could you review and test Juraj changes on Graviton2 so that
Juraj changes can be targeted for 21.02.


> 
> 


^ permalink raw reply	[flat|nested] 28+ messages in thread

* Re: [dpdk-dev] [PATCH v3 1/1] build: add Graviton2(arm64) meson configuration
  2020-11-03 18:38       ` [dpdk-dev] [EXT] " Jerin Jacob Kollanukkaran
@ 2020-11-03 18:51         ` Vimal Chungath
  2020-11-03 19:39           ` Honnappa Nagarahalli
  0 siblings, 1 reply; 28+ messages in thread
From: Vimal Chungath @ 2020-11-03 18:51 UTC (permalink / raw)
  To: jerinj
  Cc: Dharmik.Thakkar, alisaidi, bruce.richardson, dev, hemant.agrawal,
	honnappa.nagarahalli, jerinjacobk, juraj.linkes, nd, thomas,
	vcchunga

On 11/3/20 10:38 AM, Jerin Jacob Kollanukkaran wrote:
>
>
>> -----Original Message-----
>> From: Thomas Monjalon <thomas@monjalon.net>
>> Sent: Wednesday, November 4, 2020 12:02 AM
>> To: Vimal Chungath <vcchunga@amazon.com>;
>> honnappa.nagarahalli@arm.com; Dharmik.Thakkar@arm.com; Jerin Jacob
>> Kollanukkaran <jerinj@marvell.com>; juraj.linkes@pantheon.tech
>> Cc: dev@dpdk.org; alisaidi@amazon.com; bruce.richardson@intel.com;
>> hemant.agrawal@nxp.com; jerinjacobk@gmail.com; nd@arm.com
>> Subject: [EXT] Re: [PATCH v3 1/1] build: add Graviton2(arm64) meson
>> configuration
>>
>> External Email
>>
>> ----------------------------------------------------------------------
>> 03/11/2020 19:06, Vimal Chungath:
>>> Add meson build configuration for Graviton2 platform with 64-bit Arm
>>> Neoverse N1 cores. This patch makes the following changes to generic
>>> Neoverse N1 config:
>>>
>>> 1. increase lcore limit to 64
>>> 2. increase memory support to 1TB
>>> 3. remove +crc from -march as that is default when setting armv8.2
>>>
>>> Signed-off-by: Vimal Chungath <vcchunga@amazon.com>
>>> ---
>>>  config/arm/arm64_graviton2_linux_gcc | 17 +++++++++++++++++
>>>  config/arm/meson.build               | 18 +++++++++++-------
>>>  2 files changed, 28 insertions(+), 7 deletions(-)
>>
>> Can this patch be merged without the rework from Juraj?
>
> Yes. +1
>
> @Vimal Chungath, Could you review and test Juraj changes on Graviton2 so that
> Juraj changes can be targeted for 21.02.
>
Yes, will do that.


^ permalink raw reply	[flat|nested] 28+ messages in thread

* Re: [dpdk-dev] [PATCH v3 1/1] build: add Graviton2(arm64) meson configuration
  2020-11-03 18:51         ` [dpdk-dev] " Vimal Chungath
@ 2020-11-03 19:39           ` Honnappa Nagarahalli
  0 siblings, 0 replies; 28+ messages in thread
From: Honnappa Nagarahalli @ 2020-11-03 19:39 UTC (permalink / raw)
  To: Vimal Chungath, jerinj
  Cc: Dharmik Thakkar, alisaidi, bruce.richardson, dev, hemant.agrawal,
	jerinjacobk, juraj.linkes, nd, thomas, Honnappa Nagarahalli, nd

<snip>

> >> ---------------------------------------------------------------------
> >> -
> >> 03/11/2020 19:06, Vimal Chungath:
> >>> Add meson build configuration for Graviton2 platform with 64-bit Arm
> >>> Neoverse N1 cores. This patch makes the following changes to generic
> >>> Neoverse N1 config:
> >>>
> >>> 1. increase lcore limit to 64
> >>> 2. increase memory support to 1TB
> >>> 3. remove +crc from -march as that is default when setting armv8.2
> >>>
> >>> Signed-off-by: Vimal Chungath <vcchunga@amazon.com>
> >>> ---
> >>>  config/arm/arm64_graviton2_linux_gcc | 17 +++++++++++++++++
> >>>  config/arm/meson.build               | 18 +++++++++++-------
> >>>  2 files changed, 28 insertions(+), 7 deletions(-)
> >>
> >> Can this patch be merged without the rework from Juraj?
+1 for merge into 20.11

> >
> > Yes. +1
> >
> > @Vimal Chungath, Could you review and test Juraj changes on Graviton2
> > so that Juraj changes can be targeted for 21.02.
> >
> Yes, will do that.
Please wait for my Reviewed-by on Juraj's patch.


^ permalink raw reply	[flat|nested] 28+ messages in thread

* Re: [dpdk-dev] [PATCH v3 1/1] build: add Graviton2(arm64) meson configuration
  2020-11-03 18:06   ` [dpdk-dev] [PATCH v3 1/1] " Vimal Chungath
  2020-11-03 18:32     ` Thomas Monjalon
@ 2020-11-03 19:45     ` Honnappa Nagarahalli
  2020-11-03 20:04       ` Thomas Monjalon
  1 sibling, 1 reply; 28+ messages in thread
From: Honnappa Nagarahalli @ 2020-11-03 19:45 UTC (permalink / raw)
  To: Vimal Chungath, dev
  Cc: Dharmik Thakkar, alisaidi, bruce.richardson, hemant.agrawal,
	jerinj, jerinjacobk, juraj.linkes, nd, thomas,
	Honnappa Nagarahalli, nd



> -----Original Message-----
> From: Vimal Chungath <vcchunga@amazon.com>
> Sent: Tuesday, November 3, 2020 12:07 PM
> To: dev@dpdk.org
> Cc: Honnappa Nagarahalli <Honnappa.Nagarahalli@arm.com>; Dharmik
> Thakkar <Dharmik.Thakkar@arm.com>; alisaidi@amazon.com;
> bruce.richardson@intel.com; hemant.agrawal@nxp.com;
> jerinj@marvell.com; jerinjacobk@gmail.com; juraj.linkes@pantheon.tech;
> nd <nd@arm.com>; thomas@monjalon.net
> Subject: [PATCH v3 1/1] build: add Graviton2(arm64) meson configuration
> 
> Add meson build configuration for Graviton2 platform with 64-bit Arm
> Neoverse N1 cores. This patch makes the following changes to generic
> Neoverse N1 config:
> 
> 1. increase lcore limit to 64
> 2. increase memory support to 1TB
> 3. remove +crc from -march as that is default when setting armv8.2
> 
> For more information about Graviton2 platform, refer to:
> https://aws.amazon.com/ec2/graviton/
> 
> Signed-off-by: Vimal Chungath <vcchunga@amazon.com>
Reviewed-by: Honnappa Nagarahalli <honnappa.nagarahalli@arm.com>

> ---
>  config/arm/arm64_graviton2_linux_gcc | 17 +++++++++++++++++
>  config/arm/meson.build               | 18 +++++++++++-------
>  2 files changed, 28 insertions(+), 7 deletions(-)  create mode 100644
> config/arm/arm64_graviton2_linux_gcc
> 
> diff --git a/config/arm/arm64_graviton2_linux_gcc
> b/config/arm/arm64_graviton2_linux_gcc
> new file mode 100644
> index 000000000..022e06303
> --- /dev/null
> +++ b/config/arm/arm64_graviton2_linux_gcc
> @@ -0,0 +1,17 @@
> +[binaries]
> +c = 'aarch64-linux-gnu-gcc'
> +cpp = 'aarch64-linux-gnu-cpp'
> +ar = 'aarch64-linux-gnu-gcc-ar'
> +strip = 'aarch64-linux-gnu-strip'
> +pkgconfig = 'aarch64-linux-gnu-pkg-config'
> +pcap-config = ''
> +
> +[host_machine]
> +system = 'linux'
> +cpu_family = 'aarch64'
> +cpu = 'armv8-a'
> +endian = 'little'
> +
> +[properties]
> +implementor_id = '0x41'
> +implementor_pn = '0xd0c'
> diff --git a/config/arm/meson.build b/config/arm/meson.build index
> b49203fa8..073b4afc0 100644
> --- a/config/arm/meson.build
> +++ b/config/arm/meson.build
> @@ -63,12 +63,6 @@ flags_armada = [
>  	['RTE_MAX_LCORE', 16]]
> 
>  flags_default_extra = []
> -flags_n1sdp_extra = [
> -	['RTE_MACHINE', '"n1sdp"'],
> -	['RTE_MAX_NUMA_NODES', 1],
> -	['RTE_MAX_LCORE', 4],
> -	['RTE_EAL_NUMA_AWARE_HUGEPAGES', false],
> -	['RTE_LIBRTE_VHOST_NUMA', false]]
>  flags_thunderx_extra = [
>  	['RTE_MACHINE', '"thunderx"'],
>  	['RTE_USE_C11_MEM_MODEL', false]]
> @@ -86,6 +80,16 @@ flags_octeontx2_extra = [
>  	['RTE_ARM_FEATURE_ATOMICS', true],
>  	['RTE_EAL_IGB_UIO', false],
>  	['RTE_USE_C11_MEM_MODEL', true]]
> +flags_n1generic_extra = [
> +	['RTE_MACHINE', '"neoverse-n1"'],
> +	['RTE_MAX_LCORE', 64],
> +	['RTE_CACHE_LINE_SIZE', 64],
> +	['RTE_ARM_FEATURE_ATOMICS', true],
> +	['RTE_USE_C11_MEM_MODEL', true],
> +	['RTE_MAX_MEM_MB', 1048576],
> +	['RTE_MAX_NUMA_NODES', 1],
> +	['RTE_EAL_NUMA_AWARE_HUGEPAGES', false],
> +	['RTE_LIBRTE_VHOST_NUMA', false]]
> 
>  machine_args_generic = [
>  	['default', ['-march=armv8-a+crc', '-moutline-atomics']], @@ -97,7
> +101,7 @@ machine_args_generic = [
>  	['0xd09', ['-mcpu=cortex-a73']],
>  	['0xd0a', ['-mcpu=cortex-a75']],
>  	['0xd0b', ['-mcpu=cortex-a76']],
> -	['0xd0c', ['-march=armv8.2-a+crc+crypto', '-mcpu=neoverse-n1'],
> flags_n1sdp_extra]]
> +	['0xd0c', ['-march=armv8.2-a+crypto', '-mcpu=neoverse-n1'],
> +flags_n1generic_extra]]
> 
>  machine_args_cavium = [
>  	['default', ['-march=armv8-a+crc+crypto','-mcpu=thunderx']],
> --
> 2.16.6


^ permalink raw reply	[flat|nested] 28+ messages in thread

* Re: [dpdk-dev] [PATCH v3 1/1] build: add Graviton2(arm64) meson configuration
  2020-11-03 19:45     ` Honnappa Nagarahalli
@ 2020-11-03 20:04       ` Thomas Monjalon
  0 siblings, 0 replies; 28+ messages in thread
From: Thomas Monjalon @ 2020-11-03 20:04 UTC (permalink / raw)
  To: Vimal Chungath
  Cc: dev, Dharmik Thakkar, alisaidi, bruce.richardson, hemant.agrawal,
	jerinj, jerinjacobk, juraj.linkes, nd, Honnappa Nagarahalli

> > Add meson build configuration for Graviton2 platform with 64-bit Arm
> > Neoverse N1 cores. This patch makes the following changes to generic
> > Neoverse N1 config:
> > 
> > 1. increase lcore limit to 64
> > 2. increase memory support to 1TB
> > 3. remove +crc from -march as that is default when setting armv8.2
> > 
> > For more information about Graviton2 platform, refer to:
> > https://aws.amazon.com/ec2/graviton/
> > 
> > Signed-off-by: Vimal Chungath <vcchunga@amazon.com>
> Reviewed-by: Honnappa Nagarahalli <honnappa.nagarahalli@arm.com>

Applied, thanks




^ permalink raw reply	[flat|nested] 28+ messages in thread

end of thread, other threads:[~2020-11-03 20:04 UTC | newest]

Thread overview: 28+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-09-09  1:11 [dpdk-dev] [PATCH 0/2] build: add Graviton2(arm64) config Vimal Chungath
2020-09-09  1:11 ` [dpdk-dev] [PATCH 1/2] config: add Graviton2(arm64) meson configuration Vimal Chungath
2020-09-12  3:23   ` Honnappa Nagarahalli
2020-09-12 18:24     ` Vimal Chungath
2020-09-14  4:49       ` Honnappa Nagarahalli
2020-09-17  8:23         ` Jerin Jacob
2020-09-17 17:11           ` Honnappa Nagarahalli
2020-09-18  4:02             ` Jerin Jacob
2020-09-18 17:42               ` Vimal Chungath
2020-09-19 19:06                 ` Ali Saidi
     [not found]                 ` <FF6ABD1C-A636-4F68-879E-FA7B2A615D2C@amazon.com>
2020-09-20  0:41                   ` Honnappa Nagarahalli
2020-09-09  1:11 ` [dpdk-dev] [PATCH 2/2] config: add Graviton2(arm64) defconfig Vimal Chungath
2020-09-09  8:03 ` [dpdk-dev] [PATCH 0/2] build: add Graviton2(arm64) config David Marchand
2020-09-12 18:28   ` Vimal Chungath
2020-10-27 20:17 ` [dpdk-dev] [PATCH v2 0/1] build: add Graviton2(arm64) meson configuration Vimal Chungath
2020-10-27 20:17   ` [dpdk-dev] [PATCH v2 1/1] " Vimal Chungath
2020-10-28  4:28     ` Honnappa Nagarahalli
2020-10-28  9:29       ` Jerin Jacob
2020-10-28 22:52         ` Honnappa Nagarahalli
2020-10-28  6:07     ` Ruifeng Wang
2020-11-03 18:06 ` [dpdk-dev] [PATCH v3 0/1] " Vimal Chungath
2020-11-03 18:06   ` [dpdk-dev] [PATCH v3 1/1] " Vimal Chungath
2020-11-03 18:32     ` Thomas Monjalon
2020-11-03 18:38       ` [dpdk-dev] [EXT] " Jerin Jacob Kollanukkaran
2020-11-03 18:51         ` [dpdk-dev] " Vimal Chungath
2020-11-03 19:39           ` Honnappa Nagarahalli
2020-11-03 19:45     ` Honnappa Nagarahalli
2020-11-03 20:04       ` Thomas Monjalon

DPDK patches and discussions

This inbox may be cloned and mirrored by anyone:

	git clone --mirror https://inbox.dpdk.org/dev/0 dev/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 dev dev/ https://inbox.dpdk.org/dev \
		dev@dpdk.org
	public-inbox-index dev

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://inbox.dpdk.org/inbox.dpdk.dev


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git