DPDK patches and discussions
 help / color / mirror / Atom feed
From: Vimal Chungath <vcchunga@amazon.com>
To: <honnappa.nagarahalli@arm.com>
Cc: <Dharmik.Thakkar@arm.com>, <bruce.richardson@intel.com>,
	<dev@dpdk.org>, <hemant.agrawal@nxp.com>, <jerinj@marvell.com>,
	<nd@arm.com>, <vcchunga@amazon.com>
Subject: Re: [dpdk-dev] [PATCH 1/2] config: add Graviton2(arm64) meson configuration
Date: Sat, 12 Sep 2020 11:24:34 -0700	[thread overview]
Message-ID: <20200912182434.31067-1-vcchunga@amazon.com> (raw)
In-Reply-To: <DBAPR08MB58147B1B3B989CB0F7C84E2198250@DBAPR08MB5814.eurprd08.prod.outlook.com>

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
>


  reply	other threads:[~2020-09-12 18:25 UTC|newest]

Thread overview: 28+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
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 [this message]
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

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20200912182434.31067-1-vcchunga@amazon.com \
    --to=vcchunga@amazon.com \
    --cc=Dharmik.Thakkar@arm.com \
    --cc=bruce.richardson@intel.com \
    --cc=dev@dpdk.org \
    --cc=hemant.agrawal@nxp.com \
    --cc=honnappa.nagarahalli@arm.com \
    --cc=jerinj@marvell.com \
    --cc=nd@arm.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).