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
next prev parent 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).