From: Jerin Jacob Kollanukkaran <jerinj@marvell.com>
To: Yongseok Koh <yskoh@mellanox.com>
Cc: Honnappa Nagarahalli <Honnappa.Nagarahalli@arm.com>,
"bruce.richardson@intel.com" <bruce.richardson@intel.com>,
"Pavan Nikhilesh Bhagavatula" <pbhagavatula@marvell.com>,
Shahaf Shuler <shahafs@mellanox.com>,
"dev@dpdk.org" <dev@dpdk.org>,
Thomas Monjalon <thomas@monjalon.net>,
"Gavin Hu (Arm Technology China)" <Gavin.Hu@arm.com>,
nd <nd@arm.com>
Subject: Re: [dpdk-dev] [EXT] [PATCH 5/6] build: add option for armv8 crypto extension
Date: Fri, 3 May 2019 10:28:02 +0000 [thread overview]
Message-ID: <BYAPR18MB24246B5462EE81CF879C29D5C8350@BYAPR18MB2424.namprd18.prod.outlook.com> (raw)
Message-ID: <20190503102802.5a8G74PjJuJBViwnoGb84S9jWWOal418NRdiqaKO_pw@z> (raw)
In-Reply-To: <76A4CB8C-4429-492D-8885-54B30C64165F@mellanox.com>
> -----Original Message-----
> From: Yongseok Koh <yskoh@mellanox.com>
> Sent: Friday, May 3, 2019 5:03 AM
> To: Jerin Jacob Kollanukkaran <jerinj@marvell.com>
> Cc: Honnappa Nagarahalli <Honnappa.Nagarahalli@arm.com>;
> bruce.richardson@intel.com; Pavan Nikhilesh Bhagavatula
> <pbhagavatula@marvell.com>; Shahaf Shuler <shahafs@mellanox.com>;
> dev@dpdk.org; Thomas Monjalon <thomas@monjalon.net>; Gavin Hu (Arm
> Technology China) <Gavin.Hu@arm.com>; nd <nd@arm.com>
> Subject: Re: [dpdk-dev] [EXT] [PATCH 5/6] build: add option for armv8 crypto
> extension
>
>
> > On May 2, 2019, at 4:08 PM, Yongseok Koh <yskoh@mellanox.com> wrote:
> >
> >>
> >> On May 2, 2019, at 3:13 AM, Jerin Jacob Kollanukkaran <jerinj@marvell.com>
> wrote:
> >>
> >>> -----Original Message-----
> >>> From: Honnappa Nagarahalli <Honnappa.Nagarahalli@arm.com>
> >>> Sent: Tuesday, April 30, 2019 9:04 AM
> >>> To: yskoh@mellanox.com
> >>> Cc: Jerin Jacob Kollanukkaran <jerinj@marvell.com>;
> >>> bruce.richardson@intel.com; Pavan Nikhilesh Bhagavatula
> >>> <pbhagavatula@marvell.com>; Shahaf Shuler <shahafs@mellanox.com>;
> >>> dev@dpdk.org; thomas@monjalon.net; Gavin Hu (Arm Technology China)
> >>> <Gavin.Hu@arm.com>; Honnappa Nagarahalli
> >>> <Honnappa.Nagarahalli@arm.com>; nd <nd@arm.com>; nd
> <nd@arm.com>
> >>> Subject: RE: [EXT] [PATCH 5/6] build: add option for armv8 crypto
> >>> extension
> >>>
> >>>> On Apr 15, 2019, at 1:13 PM, Honnappa Nagarahalli
> >>>> <Honnappa.Nagarahalli@arm.com> wrote:
> >>>>
> >>>>>>>> Subject: [EXT] [PATCH 5/6] build: add option for armv8 crypto
> >>>>>>>> extension
> >>>>>>>>
> >>>>>>>> CONFIG_RTE_MACHINE="armv8a"
> >>>>>>>> +CONFIG_RTE_ENABLE_ARMV8_CRYPTO=y
> >>>>>>>
> >>>>>>> This approach is not scalable. Even, it is not good for
> >>>>>>> BlueField as you you need to maintain two images.
> >>>>>>>
> >>>>>>> Unlike other CPU flags, arm64's crypto cpu flag is really _optional_.
> >>>>>>> Access to crypto instructions is always at under runtime check.
> >>>>>>> See the following in rte_armv8_pmd.c
> >>>>>>>
> >>>>>>>
> >>>>>>> /* Check CPU for support for AES instruction set */ if
> >>>>>>> (!rte_cpu_get_flag_enabled(RTE_CPUFLAG_AES)) {
> >>>>>>> ARMV8_CRYPTO_LOG_ERR(
> >>>>>>> "AES instructions not supported by CPU");
> >>>>>>> return -EFAULT;
> >>>>>>> }
> >>>>>>>
> >>>>>>> /* Check CPU for support for SHA instruction set */ if
> >>>>>>> (!rte_cpu_get_flag_enabled(RTE_CPUFLAG_SHA1) ||
> >>>>>>> !rte_cpu_get_flag_enabled(RTE_CPUFLAG_SHA2)) {
> >>>>>>> ARMV8_CRYPTO_LOG_ERR(
> >>>>>>> "SHA1/SHA2 instructions not supported by CPU");
> >>>>>>> return -EFAULT;
> >>>>>>> }
> >>>>>>>
> >>>>>>> So In order to avoid one more config flags specific to armv8 in
> >>>>>>> meson and makefile build infra And avoid the need for 6/6 patch.
> >>>>>>> IMO, # Introduce optional CPU flag scheme in eal. Treat armv8
> >>>>>>> crypto as optional flag # Skip the eal init check for optional flag.
> >>>>>>>
> >>>>>>> Do you see any issues with that approach?
> >>>>>>
> >>>>>> I also thought about that approach and that was my number 1 priority.
> >>>>>> But, I had one question came to my mind. Maybe, arm people can
> >>>>>> confirm it. Is it 100% guaranteed that compiler never makes use
> >>>>>> of any of crypto instructions even if there's no specific
> >>>>>> asm/intrinsic code? The crypto extension has aes, pmull,
> >>>>>> sha1 and sha2. In case of rte_memcpy() for x86, for example,
> >>>>>> compiler may optimize code using avx512f instructions even though
> >>>>>> it is written specifically with avx2 intrinsics (__mm256_*)
> >>>>>> unless avx512f is
> >>>> disabled.
> >>>>>>
> >>>>>> If a complier expert in arm (or anyone else) confirm it is
> >>>>>> completely **optional**, then I'd love to take that approach for sure.
> >>>>>>
> >>>>>> Copied dpdk-on-arm ML.
> >>>>>>
> >>>>> I do not know the answer, will have to check with the compiler team.
> >>>>> I will get
> >>>> back on this.
> >>>>
> >>>> Any update yet?
> >>> Currently, enabling 'crypto' flag will generate the crypto
> >>> instructions only when crypto intrinsics are used. However, when
> >>> 'sha3' (part of 8.2 crypto) flag is
> >>
> >> The default image is 8.1 spec and except octeontx2 every other SoC is
> >> 8.1 and For octeotx2 crypto is supported. If so, Should we worry this case?
> >
> > Right, it sounds to me that we can disable the option without having
> > the new config flag until such instructions get needed. According to
> > gcc-8 release note [1], currently '+crypto' implies '+aes' and '+sha2'
> > while '+sha3' and '+sm4' are newly introduced. Given that armv8 crypto
> > PMD uses external binary of Marvell. I don't see any reason to enable
> > '+crypto'. How about simply disable it from armv8
build configs?
+1
Yes. Simply disable crypto would be enough for DPDK.
next prev parent reply other threads:[~2019-05-03 10:28 UTC|newest]
Thread overview: 120+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-04-12 23:24 [dpdk-dev] [PATCH 0/6] build: fix build for arm64 Yongseok Koh
2019-04-12 23:24 ` Yongseok Koh
2019-04-12 23:24 ` [dpdk-dev] [PATCH 1/6] meson: disable octeontx for buggy compilers on arm64 Yongseok Koh
2019-04-12 23:24 ` Yongseok Koh
2019-04-13 5:52 ` [dpdk-dev] [EXT] " Pavan Nikhilesh Bhagavatula
2019-04-13 5:52 ` Pavan Nikhilesh Bhagavatula
2019-04-15 18:16 ` Yongseok Koh
2019-04-15 18:16 ` Yongseok Koh
2019-04-12 23:24 ` [dpdk-dev] [PATCH 2/6] meson: change default cache line size for cortex-a72 Yongseok Koh
2019-04-12 23:24 ` Yongseok Koh
2019-04-13 6:43 ` [dpdk-dev] [EXT] " Jerin Jacob Kollanukkaran
2019-04-13 6:43 ` Jerin Jacob Kollanukkaran
2019-04-15 4:35 ` Honnappa Nagarahalli
2019-04-15 4:35 ` Honnappa Nagarahalli
2019-04-15 13:40 ` Honnappa Nagarahalli
2019-04-15 13:40 ` Honnappa Nagarahalli
2019-04-15 20:40 ` Yongseok Koh
2019-04-15 20:40 ` Yongseok Koh
2019-04-15 20:44 ` Honnappa Nagarahalli
2019-04-15 20:44 ` Honnappa Nagarahalli
2019-04-12 23:24 ` [dpdk-dev] [PATCH 3/6] net/mlx: fix library search in meson build Yongseok Koh
2019-04-12 23:24 ` Yongseok Koh
2019-04-15 9:19 ` Bruce Richardson
2019-04-15 9:19 ` Bruce Richardson
2019-04-15 19:48 ` Yongseok Koh
2019-04-15 19:48 ` Yongseok Koh
2019-04-15 10:12 ` Luca Boccassi
2019-04-15 10:12 ` Luca Boccassi
2019-04-15 19:48 ` Yongseok Koh
2019-04-15 19:48 ` Yongseok Koh
2019-04-18 9:25 ` Luca Boccassi
2019-04-18 9:25 ` Luca Boccassi
2019-04-18 10:14 ` Bruce Richardson
2019-04-18 10:14 ` Bruce Richardson
2019-04-18 11:25 ` Yongseok Koh
2019-04-18 11:25 ` Yongseok Koh
2019-04-12 23:24 ` [dpdk-dev] [PATCH 4/6] meson: add Mellanox BlueField cross-compile config Yongseok Koh
2019-04-12 23:24 ` Yongseok Koh
2019-04-13 7:04 ` [dpdk-dev] [EXT] " Jerin Jacob Kollanukkaran
2019-04-13 7:04 ` Jerin Jacob Kollanukkaran
2019-04-12 23:24 ` [dpdk-dev] [PATCH 5/6] build: add option for armv8 crypto extension Yongseok Koh
2019-04-12 23:24 ` Yongseok Koh
2019-04-13 7:22 ` [dpdk-dev] [EXT] " Jerin Jacob Kollanukkaran
2019-04-13 7:22 ` Jerin Jacob Kollanukkaran
2019-04-15 4:52 ` Honnappa Nagarahalli
2019-04-15 4:52 ` Honnappa Nagarahalli
2019-04-15 18:43 ` Yongseok Koh
2019-04-15 18:43 ` Yongseok Koh
2019-04-15 20:13 ` Honnappa Nagarahalli
2019-04-15 20:13 ` Honnappa Nagarahalli
2019-04-17 16:28 ` Yongseok Koh
2019-04-17 16:28 ` Yongseok Koh
2019-04-30 3:33 ` Honnappa Nagarahalli
2019-04-30 3:33 ` Honnappa Nagarahalli
2019-05-02 1:54 ` Yongseok Koh
2019-05-02 1:54 ` Yongseok Koh
2019-05-02 10:13 ` Jerin Jacob Kollanukkaran
2019-05-02 10:13 ` Jerin Jacob Kollanukkaran
2019-05-02 23:08 ` Yongseok Koh
2019-05-02 23:08 ` Yongseok Koh
2019-05-02 23:33 ` Yongseok Koh
2019-05-02 23:33 ` Yongseok Koh
2019-05-03 10:28 ` Jerin Jacob Kollanukkaran [this message]
2019-05-03 10:28 ` Jerin Jacob Kollanukkaran
2019-05-03 3:54 ` Honnappa Nagarahalli
2019-05-03 3:54 ` Honnappa Nagarahalli
2019-05-03 9:49 ` Yongseok Koh
2019-05-03 9:49 ` Yongseok Koh
2019-05-03 14:21 ` Honnappa Nagarahalli
2019-05-03 14:21 ` Honnappa Nagarahalli
2019-04-12 23:24 ` [dpdk-dev] [PATCH 6/6] mk: disable armv8 crypto extension for Mellanox BlueField Yongseok Koh
2019-04-12 23:24 ` Yongseok Koh
2019-04-13 7:12 ` [dpdk-dev] [EXT] [PATCH 0/6] build: fix build for arm64 Jerin Jacob Kollanukkaran
2019-04-13 7:12 ` Jerin Jacob Kollanukkaran
2019-04-15 20:56 ` Yongseok Koh
2019-04-15 20:56 ` Yongseok Koh
2019-04-16 5:57 ` Jerin Jacob Kollanukkaran
2019-04-16 5:57 ` Jerin Jacob Kollanukkaran
2019-04-17 20:06 ` [dpdk-dev] " Thomas Monjalon
2019-04-17 20:06 ` Thomas Monjalon
2019-04-17 20:24 ` Honnappa Nagarahalli
2019-04-17 20:24 ` Honnappa Nagarahalli
2019-04-17 22:14 ` Yongseok Koh
2019-04-17 22:14 ` Yongseok Koh
2019-04-18 1:47 ` [dpdk-dev] [PATCH v2 1/4] meson: disable octeontx for buggy compilers on arm64 Yongseok Koh
2019-04-18 1:47 ` Yongseok Koh
2019-04-18 1:47 ` [dpdk-dev] [PATCH v2 2/4] meson: change default cache line size for armv8 Yongseok Koh
2019-04-18 1:47 ` Yongseok Koh
2019-04-18 5:00 ` Honnappa Nagarahalli
2019-04-18 5:00 ` Honnappa Nagarahalli
2019-04-18 8:23 ` [dpdk-dev] [EXT] " Hemant Agrawal
2019-04-18 8:23 ` Hemant Agrawal
2019-04-18 11:32 ` Yongseok Koh
2019-04-18 11:32 ` Yongseok Koh
2019-04-18 1:47 ` [dpdk-dev] [PATCH v2 3/4] net/mlx: fix library search in meson build Yongseok Koh
2019-04-18 1:47 ` Yongseok Koh
2019-04-18 1:47 ` [dpdk-dev] [PATCH v2 4/4] meson: add Mellanox BlueField cross-compile config Yongseok Koh
2019-04-18 1:47 ` Yongseok Koh
2019-04-18 7:21 ` [dpdk-dev] [EXT] [PATCH v2 1/4] meson: disable octeontx for buggy compilers on arm64 Jerin Jacob Kollanukkaran
2019-04-18 7:21 ` Jerin Jacob Kollanukkaran
2019-04-18 10:41 ` Yongseok Koh
2019-04-18 10:41 ` Yongseok Koh
2019-04-18 11:04 ` Thomas Monjalon
2019-04-18 11:04 ` Thomas Monjalon
2019-04-18 11:10 ` Yongseok Koh
2019-04-18 11:10 ` Yongseok Koh
2019-04-18 11:49 ` [dpdk-dev] [PATCH v3 1/4] drivers/event: " Yongseok Koh
2019-04-18 11:49 ` Yongseok Koh
2019-04-18 11:49 ` [dpdk-dev] [PATCH v3 2/4] meson: change default config for armv8 Yongseok Koh
2019-04-18 11:49 ` Yongseok Koh
2019-04-18 14:25 ` Honnappa Nagarahalli
2019-04-18 14:25 ` Honnappa Nagarahalli
2019-04-18 11:49 ` [dpdk-dev] [PATCH v3 3/4] net/mlx: fix library search in meson build Yongseok Koh
2019-04-18 11:49 ` Yongseok Koh
2019-04-18 12:02 ` Luca Boccassi
2019-04-18 12:02 ` Luca Boccassi
2019-04-18 11:49 ` [dpdk-dev] [PATCH v3 4/4] meson: add Mellanox BlueField cross-compile config Yongseok Koh
2019-04-18 11:49 ` Yongseok Koh
2019-04-18 16:23 ` Thomas Monjalon
2019-04-18 16:23 ` 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=BYAPR18MB24246B5462EE81CF879C29D5C8350@BYAPR18MB2424.namprd18.prod.outlook.com \
--to=jerinj@marvell.com \
--cc=Gavin.Hu@arm.com \
--cc=Honnappa.Nagarahalli@arm.com \
--cc=bruce.richardson@intel.com \
--cc=dev@dpdk.org \
--cc=nd@arm.com \
--cc=pbhagavatula@marvell.com \
--cc=shahafs@mellanox.com \
--cc=thomas@monjalon.net \
--cc=yskoh@mellanox.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).