DPDK patches and discussions
 help / color / mirror / Atom feed
From: Jerin Jacob Kollanukkaran <jerinj@marvell.com>
To: "thomas@monjalon.net" <thomas@monjalon.net>,
	"bluca@debian.org" <bluca@debian.org>,
	"yskoh@mellanox.com" <yskoh@mellanox.com>
Cc: "shahafs@mellanox.com" <shahafs@mellanox.com>,
	"Gavin.Hu@arm.com" <Gavin.Hu@arm.com>,
	"dev@dpdk.org" <dev@dpdk.org>
Subject: Re: [dpdk-dev] [EXT] [PATCH] config: change default cache line size for ARMv8 with meson
Date: Wed, 9 Jan 2019 10:52:05 +0000	[thread overview]
Message-ID: <9c0a7ac4623c45d19e216f670ea7cd064f12b1ae.camel@marvell.com> (raw)
In-Reply-To: <1547029195.6022.54.camel@debian.org>

On Wed, 2019-01-09 at 10:19 +0000, Luca Boccassi wrote:
> On Wed, 2019-01-09 at 10:09 +0000, Jerin Jacob Kollanukkaran wrote:
> > On Wed, 2019-01-09 at 01:39 -0800, Yongseok Koh wrote:
> > > ---------------------------------------------------------------
> > > ----
> > > ---
> > > In config/arm64_armv8_linuxapp_gcc, maximum available cache line
> > > size
> > > (128B) in arm64 implementations is set by default for generic
> > > config.
> > > However, setting 64B is preferable for meson build in order to
> > > support
> > > majority of CPUs which don't have Implementor ID or Part Number
> > > programmed
> > > on chip.
> > 
> > Adding Luca to get input from distro build perspective.
> > 
> > If I understand it correctly, distro build will be using
> > the generic config/arm/arm64_armv8_linuxapp_gcc for generic build.
> > If so, We can not change cache line size for generic config
> > as mentined the reason are
> > https://mails.dpdk.org/archives/dev/2019-January/122441.html
> > 
> > 
> > I think, I way forward is to add config/arm/arm64_a72_linuxapp_gcc
> > for meson. This config can be used for all SoC with A72 armv8 
> > implementation and may have sym link to specfific SoC to avoid
> > confusion to end users.
> 
> For Meson, I recently sent a patch to use a common and stable
> baseline
> machine arg if the uses sets it to "default":
> 
> https://patches.dpdk.org/patch/49477/
> 
> For distros, I think if, within that path, the cache size is set to
> the
> minimum common denominator like the -march is, it will be fine.

> 
> At that point, what happens for "native" or otherwise specified
> builds
> it will not affect distros (as long as they use "default" like Debian
> and Ubuntu do).
> 

Thanks for the input

> Does this answer your question?


Kind of.. Will you be building "the generic image" on ANY arm64 machine
with following command?

meson configure -Dmachine=default
meson build
cd build
ninja
ninja install

If so, This patch will change the cache line size of generic build.
Right?

> 
> > > Signed-off-by: Yongseok Koh <yskoh@mellanox.com>
> > > ---
> > > 
> > > Discussion on the mailing list:
> > >     https://mails.dpdk.org/archives/dev/2019-January/122441.html
> > > 
> > >  config/arm/meson.build | 11 +++++++----
> > >  1 file changed, 7 insertions(+), 4 deletions(-)
> > > 
> > > diff --git a/config/arm/meson.build b/config/arm/meson.build
> > > index dae55d6b26..3af256a5ec 100644
> > > --- a/config/arm/meson.build
> > > +++ b/config/arm/meson.build
> > > @@ -47,8 +47,7 @@ flags_common_default = [
> > >  flags_generic = [
> > >  	['RTE_MACHINE', '"armv8a"'],
> > >  	['RTE_MAX_LCORE', 256],
> > > -	['RTE_USE_C11_MEM_MODEL', true],
> > > -	['RTE_CACHE_LINE_SIZE', 128]]
> > > +	['RTE_USE_C11_MEM_MODEL', true]]
> > >  flags_cavium = [
> > >  	['RTE_MACHINE', '"thunderx"'],
> > >  	['RTE_CACHE_LINE_SIZE', 128],
> > > @@ -89,15 +88,19 @@ impl_dpaa2 = ['NXP DPAA2', flags_dpaa2,
> > > machine_args_generic]
> > >  
> > >  dpdk_conf.set('RTE_FORCE_INTRINSICS', 1)
> > >  
> > > +# In config/arm64_armv8_linuxapp_gcc, maximum available cache
> > > line
> > > size (128B)
> > > +# in arm64 implementations is set by default for generic config.
> > > However,
> > > +# setting 64B is preferable for meson build in order to support
> > > majority of CPUs
> > > +# which don't have Implementor ID or Part Number programmed on
> > > chip.
> > > +dpdk_conf.set('RTE_CACHE_LINE_SIZE', 64)
> > > +
> > >  if cc.sizeof('void *') != 8
> > > -	dpdk_conf.set('RTE_CACHE_LINE_SIZE', 64)
> > >  	dpdk_conf.set('RTE_ARCH_ARM', 1)
> > >  	dpdk_conf.set('RTE_ARCH_ARMv7', 1)
> > >  	# the minimum architecture supported, armv7-a, needs the
> > > following,
> > >  	# mk/machine/armv7a/rte.vars.mk sets it too
> > >  	machine_args += '-mfpu=neon'
> > >  else
> > > -	dpdk_conf.set('RTE_CACHE_LINE_SIZE', 128)
> > >  	dpdk_conf.set('RTE_ARCH_ARM64', 1)
> > >  	dpdk_conf.set('RTE_ARCH_64', 1)
> > >  

  reply	other threads:[~2019-01-09 10:52 UTC|newest]

Thread overview: 25+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-01-09  9:39 [dpdk-dev] " Yongseok Koh
2019-01-09 10:09 ` [dpdk-dev] [EXT] " Jerin Jacob Kollanukkaran
2019-01-09 10:19   ` Luca Boccassi
2019-01-09 10:52     ` Jerin Jacob Kollanukkaran [this message]
2019-01-09 13:14       ` Luca Boccassi
2019-01-09 10:22   ` Yongseok Koh
2019-01-09 10:49     ` Jerin Jacob Kollanukkaran
2019-01-09 11:28       ` Thomas Monjalon
2019-01-09 12:47         ` Jerin Jacob Kollanukkaran
2019-01-09 13:30           ` Thomas Monjalon
2019-01-09 14:23             ` Jerin Jacob Kollanukkaran
2019-01-09 14:57               ` Thomas Monjalon
2019-01-09 15:34                 ` [dpdk-dev] " Jerin Jacob Kollanukkaran
2019-01-09 15:41                   ` Luca Boccassi
2019-01-09 16:36                     ` [dpdk-dev] [EXT] " Pavan Nikhilesh Bhagavatula
2019-01-09 16:52                       ` Luca Boccassi
2019-01-09 17:01                         ` Pavan Nikhilesh Bhagavatula
2019-01-14  4:32                 ` [dpdk-dev] [EXT] " Yongseok Koh
2019-01-14  7:44                   ` Honnappa Nagarahalli
2019-01-16  2:02                     ` Honnappa Nagarahalli
2019-01-19  7:09                       ` Yongseok Koh
2019-01-22 18:51                         ` Honnappa Nagarahalli
2019-01-23  8:56                           ` Jerin Jacob Kollanukkaran
2019-01-23 16:24                             ` Honnappa Nagarahalli
2019-01-23 17:19                               ` 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=9c0a7ac4623c45d19e216f670ea7cd064f12b1ae.camel@marvell.com \
    --to=jerinj@marvell.com \
    --cc=Gavin.Hu@arm.com \
    --cc=bluca@debian.org \
    --cc=dev@dpdk.org \
    --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).