DPDK patches and discussions
 help / color / mirror / Atom feed
From: Pavan Nikhilesh Bhagavatula <pbhagavatula@marvell.com>
To: "thomas@monjalon.net" <thomas@monjalon.net>,
	Jerin Jacob Kollanukkaran <jerinj@marvell.com>,
	"bluca@debian.org" <bluca@debian.org>,
	"yskoh@mellanox.com" <yskoh@mellanox.com>
Cc: "shahafs@mellanox.com" <shahafs@mellanox.com>,
	"honnappa.nagarahalli@arm.com" <honnappa.nagarahalli@arm.com>,
	"Gavin.Hu@arm.com" <Gavin.Hu@arm.com>,
	"tspeier@qti.qualcomm.com" <tspeier@qti.qualcomm.com>,
	"dev@dpdk.org" <dev@dpdk.org>
Subject: Re: [dpdk-dev] [EXT] Re: [PATCH] config: change default cache line size for ARMv8 with meson
Date: Wed, 9 Jan 2019 17:01:06 +0000	[thread overview]
Message-ID: <337e27a54cc0d1d9e57c641636a806e99ba96cc9.camel@marvell.com> (raw)
In-Reply-To: <1547052749.6022.69.camel@debian.org>

On Wed, 2019-01-09 at 16:52 +0000, Luca Boccassi wrote:
> On Wed, 2019-01-09 at 16:36 +0000, Pavan Nikhilesh Bhagavatula wrote:
> > On Wed, 2019-01-09 at 15:41 +0000, Luca Boccassi wrote:
> > > External Email
> > > 
> > > ---------------------------------------------------------------
> > > ----
> > > ---
> > > On Wed, 2019-01-09 at 15:34 +0000, Jerin Jacob Kollanukkaran
> > > wrote:
> > > > > > Please check below thread and patch.
> > > > > > 
> > > > > > http://mails.dpdk.org/archives/dev/2019-January/122676.html
> > > > > > https://patches.dpdk.org/patch/49477/
> > > > > > 
> > > > > > Debian folks are building like this for the _generic_
> > > > > > image.
> > > > > > What ever works for every distros, I am fine with that.
> > > > > > 
> > > > > > meson configure -Dmachine=default
> > > > > > meson build
> > > > > > cd build
> > > > > > ninja
> > > > > > ninja install
> > > > > 
> > > > > I think we agree on the idea of having different configs
> > > > > for unmodified A72 core and generic build working for all.
> > > > 
> > > > Yes, I agree. config or some scheme to address the generic and
> > > > default
> > > > usecase.
> > > > 
> > > > > The remaining bits to discuss are:
> > > > > 	- do we want to use the armv8 config for unmodified
> > > > > A72?
> > > > > 	- what should be the name of the generic config?
> > > > 
> > > > If all distros following "meson configure -Dmachine=default"
> > > > scheme
> > > > why not follow that to make generic image. i.e when
> > > > machine=default
> > > > set then Cache lize size 128B CL specific stuff be kicked in
> > > > else
> > > > it probe the value based on MIDR from sysfs.
> > > > 
> > 
> > When we are not cross-compiling  can read CTR_EL0[1] register
> > (DminLine) to detect the cacheline size based on the native
> > machine.
> > This method would satisfy all requirements and we need not maintain
> > a
> > mapping for cacheline_sizes w.r.t part numbers.
> > 
> > 
> > [1] 
> > http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.100095_00
> > 01_02_en/way1382037583047.html
> > 
> > (newer kernels expose it as a sysfs entry
> >  /sys/devices/system/cpu/cpu0/cache/index0/coherency_line_size, we
> > can
> > use meson run_command to either run a python program with c byte
> > code
> > or use cc.run('<program>') to get result directly).
> 
> Please, not for the machine=default case - we need a stable,
> invariant
> option that does not depend on the build worker.
> 
Agreed, Something like :

read_ctr_el0 =
'''
#include <stdio.h>
int main(int argc, char **argv) {
       int32_t ctr_el0;
       __asm__ __volatile__("mrs %0, CTR_EL0\n\t"
                       : "=r" (ctr_el0) :  : "memory");
       printf("%d\n", 1 << ((ctr_el0 >> 16) & 0xf));
       return 0;
}
'''

if not meson.is_cross_build() and not arm_force_default_march
       result = cc.run(read_ctr_el0, name : 'cacheline check')
       if not result.returncode
               dpdk_conf.set('RTE_CACHE_LINE_SIZE', 		  					result.
stdout().strip());
       else
               dpdk_conf.set('RTE_CACHE_LINE_SIZE', 128);
endif



  reply	other threads:[~2019-01-09 17:01 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
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 [this message]
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=337e27a54cc0d1d9e57c641636a806e99ba96cc9.camel@marvell.com \
    --to=pbhagavatula@marvell.com \
    --cc=Gavin.Hu@arm.com \
    --cc=bluca@debian.org \
    --cc=dev@dpdk.org \
    --cc=honnappa.nagarahalli@arm.com \
    --cc=jerinj@marvell.com \
    --cc=shahafs@mellanox.com \
    --cc=thomas@monjalon.net \
    --cc=tspeier@qti.qualcomm.com \
    --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).