DPDK patches and discussions
 help / color / mirror / Atom feed
From: Jerin Jacob <jerinjacobk@gmail.com>
To: Honnappa Nagarahalli <Honnappa.Nagarahalli@arm.com>
Cc: Ola Liljedahl <Ola.Liljedahl@arm.com>,
	 "Gavin Hu (Arm Technology China)" <Gavin.Hu@arm.com>,
	"dev@dpdk.org" <dev@dpdk.org>,
	 "pbhagavatula@marvell.com" <pbhagavatula@marvell.com>,
	"thomas@monjalon.net" <thomas@monjalon.net>, nd <nd@arm.com>,
	 "jerinj@marvell.com" <jerinj@marvell.com>,
	"hemant.agrawal@nxp.com" <hemant.agrawal@nxp.com>
Subject: Re: [dpdk-dev] [PATCH v2 2/3] config: add arm neoverse N1 SDP configuration
Date: Wed, 23 Oct 2019 10:33:24 +0530	[thread overview]
Message-ID: <CALBAE1OQEkMUuTKf=VH75XfSGgox_nT02yVjgRAoK7Hg1AMsEA@mail.gmail.com> (raw)
In-Reply-To: <VE1PR08MB5149343DAD86FF772DA3C60398680@VE1PR08MB5149.eurprd08.prod.outlook.com>

On Wed, Oct 23, 2019 at 2:37 AM Honnappa Nagarahalli
<Honnappa.Nagarahalli@arm.com> wrote:
>
> > > <snip>
> > >
> > > >
> > > > On Thu, 2019-08-01 at 07:48 +0800, Gavin Hu wrote:
> > > > > Arm N1 SDP is an infrastructure segment development platform based
> > > > > on armv8.2-a Neoverse N1 CPU. For more information, refer to:
> > > > > https://community.arm.com/developer/tools-software/oss-platforms/w
> > > > > /
> > > > > docs/440/neoverse-n1-sdp
> > > > >
> > > > > Signed-off-by: Gavin Hu <gavin.hu@arm.com>
> > > > > Reviewed-by: Honnappa Nagarahalli <honnappa.nagarahalli@arm.com>
> > > > > Reviewed-by: Steve Capper <steve.capper@arm.com>
> > > > > ---
> > > > >  config/arm/meson.build                         |  9 ++++++-
> > > > >  config/defconfig_arm64-neoversen1-linux-gcc    |  1 +
> > > > >  config/defconfig_arm64-neoversen1-linuxapp-gcc | 15 ++++++++++++
> > > > >  mk/machine/neoversen1/rte.vars.mk              | 34
> >
> > > >
> > > > > diff --git a/config/defconfig_arm64-neoversen1-linuxapp-gcc
> > > > > b/config/defconfig_arm64-neoversen1-linuxapp-gcc
> > > > > new file mode 100644
> > > > > index 0000000..39b9e1f
> > > > > --- /dev/null
> > > > > +++ b/config/defconfig_arm64-neoversen1-linuxapp-gcc
> > > > > >
> > > > > @@ -0,0 +1,15 @@
> > > > > +# SPDX-License-Identifier: BSD-3-Clause # Copyright(c) 2019 Arm Ltd.
> > > > > +#
> > > > > +
> > > > > +#include "defconfig_arm64-armv8a-linux-gcc"
> > > > > +
> > > > > +CONFIG_RTE_MACHINE="neoversen1"
> > > > This should probably be "n1sdp" as this is the name of the platform
> > > > that matches the below configuration.
> > > A clear definition of RTE_MACHINE is required. Jerin?
> >
> > I think, In the existing scheme of things, RTE_MACHINE defines, where to take
> > the MACHINE_CFLAGS mk/machine/xxxx/rte.vars.mk
> Ok, thank you
>
> >
> > Considering the fact that there will be a lot of reusable IPs(for CPU) from ARM
> > for  armv8, I think, it would make sense to introduce  RTE_MICRO_ARCH to
> > avoid a lot of code duplications and confusion.
> >
> > RTE_ARCH                             example: "x86" or "arm64"
> > RTE_MICRO_ARCH               example: "a72" or "thunderx3" - defines
> > mcpu and armv8 verion arch etc
> > RTE_MACHINE                       example: "bluefield" or "thunderx3"
> > - defines, number of cores, NUMA or not? etc
> Looking at mk/machine/ directory, looks like RTE_MACHINE seems to be defining micro-architecture for Intel. For ex: hsw, nhm, wsm. I see the same for Arm as well.
> Are you suggesting that we use RTE_MICRO_ARCH to pick mk/micro-arch/xxxx/rte.vars.mk? and RTE_MACHINE would pick mk/machine/xxxx/rte.vars.mk, but contain NUMA, #of cores etc?

Yes for Make build. I think, it is deprecated soon, so we need a
similar solution for meson.

>
> >
> > RTE_MACHINE should be probe based  on "implementation ID" for arm64 and
> > reuse already defined RTE_MICRO_ARCH to avoid code duplication.
> >
> >
> > >
> > > >
> > > > > +CONFIG_RTE_ARCH_ARM_TUNE="neoverse-n1"
> > > > > +CONFIG_RTE_MAX_LCORE=4
> > > > > +CONFIG_RTE_MAX_NUMA_NODES=1
> > > > > +CONFIG_RTE_CACHE_LINE_SIZE=64
> > > > > +
> > > > > +# Doesn't support NUMA
> > > > > +CONFIG_RTE_EAL_NUMA_AWARE_HUGEPAGES=n
> > > > > +CONFIG_RTE_LIBRTE_VHOST_NUMA=n
> > > > > diff --git a/mk/machine/neoversen1/rte.vars.mk
> > > > > b/mk/machine/neoversen1/rte.vars.mk
> > > > > new file mode 100644
> > > > > index 0000000..6d69de0
> > > > > --- /dev/null
> > > > > +++ b/mk/machine/neoversen1/rte.vars.mk
> > > > > @@ -0,0 +1,34 @@
> > > > > +# SPDX-License-Identifier: BSD-3-Clause # Copyright(c) 2019 Arm
> > > > > +Ltd #
> > > > > +
> > > > > +#
> > > > > +# 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+crc+crypto) MACHINE_CFLAGS += $(call
> > > > > +rte_cc_has_argument, -mcpu=neoverse-n1)
> > > > >
> > > > >
> > > > --
> > > > Ola Liljedahl, Networking System Architect, Arm Phone +46706866373,
> > > > Skype ola.liljedahl
> > >

  reply	other threads:[~2019-10-23  5:03 UTC|newest]

Thread overview: 30+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-07-31 23:32 [dpdk-dev] [PATCH 1/2] test/rcu: fix the compiling error for armv8.2 Gavin Hu
2019-07-31 23:32 ` [dpdk-dev] [PATCH 2/2] config: add N1SDP configuration Gavin Hu
2019-07-31 23:48 ` [dpdk-dev] [PATCH v2 0/3] add arm neoverse N1 SDP configuration Gavin Hu
2019-07-31 23:48 ` [dpdk-dev] [PATCH v2 1/3] test/rcu: fix the compiling error for armv8.2 Gavin Hu
2019-07-31 23:48 ` [dpdk-dev] [PATCH v2 2/3] config: add arm neoverse N1 SDP configuration Gavin Hu
2019-10-17 22:18   ` Ola Liljedahl
2019-10-18  5:12     ` Honnappa Nagarahalli
2019-10-18  7:23       ` Jerin Jacob
2019-10-22 21:07         ` Honnappa Nagarahalli
2019-10-23  5:03           ` Jerin Jacob [this message]
2019-10-27 21:22             ` Thomas Monjalon
2019-10-28  3:24               ` Honnappa Nagarahalli
2019-10-28  8:36                 ` Thomas Monjalon
2019-10-29  5:47                   ` Honnappa Nagarahalli
2019-11-11  5:06                     ` Gavin Hu (Arm Technology China)
2019-07-31 23:48 ` [dpdk-dev] [PATCH v2 3/3] config: add cortex-a76 configuration Gavin Hu
2019-11-11  5:41 ` [dpdk-dev] [PATCH v3 0/3] add arm N1SDP and A76 configurations Gavin Hu
2019-11-20 22:41   ` Thomas Monjalon
2019-11-11  5:41 ` [dpdk-dev] [PATCH v3 1/3] test/rcu: fix the compiling error for armv8.2 Gavin Hu
2019-11-20 22:18   ` [dpdk-dev] [dpdk-stable] " Thomas Monjalon
2019-11-21 11:23     ` Gavin Hu (Arm Technology China)
2019-11-25  3:36   ` [dpdk-dev] [PATCH v4] test/rcu: fix build for small number of cores Gavin Hu
2019-11-25 22:40     ` [dpdk-dev] [dpdk-stable] " Thomas Monjalon
2019-11-11  5:41 ` [dpdk-dev] [PATCH v3 2/3] config: add arm neoverse N1 SDP configuration Gavin Hu
2019-11-12  4:23   ` Jerin Jacob
2019-11-14  7:55     ` Gavin Hu (Arm Technology China)
2019-11-14  8:17   ` Jerin Jacob
2019-11-11  5:41 ` [dpdk-dev] [PATCH v3 3/3] config: add cortex-a76 configuration Gavin Hu
2019-11-12  4:24   ` Jerin Jacob
2019-09-11 10:44 [dpdk-dev] [PATCH v2 2/3] config: add arm neoverse N1 SDP configuration Jerin Jacob Kollanukkaran

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='CALBAE1OQEkMUuTKf=VH75XfSGgox_nT02yVjgRAoK7Hg1AMsEA@mail.gmail.com' \
    --to=jerinjacobk@gmail.com \
    --cc=Gavin.Hu@arm.com \
    --cc=Honnappa.Nagarahalli@arm.com \
    --cc=Ola.Liljedahl@arm.com \
    --cc=dev@dpdk.org \
    --cc=hemant.agrawal@nxp.com \
    --cc=jerinj@marvell.com \
    --cc=nd@arm.com \
    --cc=pbhagavatula@marvell.com \
    --cc=thomas@monjalon.net \
    /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).