DPDK patches and discussions
 help / color / mirror / Atom feed
From: Bruce Richardson <bruce.richardson@intel.com>
To: David Marchand <david.marchand@redhat.com>
Cc: dev@dpdk.org, thomas@monjalon.net, andremue@linux.microsoft.com,
	"Nicolas Chautru" <nicolas.chautru@intel.com>,
	"Parav Pandit" <parav@nvidia.com>,
	"Xueming Li" <xuemingl@nvidia.com>,
	"Nipun Gupta" <nipun.gupta@amd.com>,
	"Nikhil Agarwal" <nikhil.agarwal@amd.com>,
	"Hemant Agrawal" <hemant.agrawal@nxp.com>,
	"Sachin Saxena" <sachin.saxena@nxp.com>,
	"Rosen Xu" <rosen.xu@intel.com>,
	"Chenbo Xia" <chenbox@nvidia.com>,
	"Tomasz Duszynski" <tduszynski@marvell.com>,
	"Chengwen Feng" <fengchengwen@huawei.com>,
	"Long Li" <longli@microsoft.com>, "Wei Hu" <weh@microsoft.com>,
	"Nithin Dabilpuram" <ndabilpuram@marvell.com>,
	"Kiran Kumar K" <kirankumark@marvell.com>,
	"Sunil Kumar Kori" <skori@marvell.com>,
	"Satha Rao" <skoteshwar@marvell.com>,
	"Harman Kalra" <hkalra@marvell.com>,
	"Anoob Joseph" <anoobj@marvell.com>,
	"Andrew Boyer" <andrew.boyer@amd.com>,
	"Dariusz Sosnowski" <dsosnowski@nvidia.com>,
	"Viacheslav Ovsiienko" <viacheslavo@nvidia.com>,
	"Bing Zhao" <bingz@nvidia.com>, "Ori Kam" <orika@nvidia.com>,
	"Suanming Mou" <suanmingm@nvidia.com>,
	"Matan Azrad" <matan@nvidia.com>,
	"Liron Himi" <lironh@marvell.com>,
	"Chaoyong He" <chaoyong.he@corigine.com>,
	"Nagadheeraj Rottela" <rnagadheeraj@marvell.com>,
	"Srikanth Jampala" <jsrikanth@marvell.com>,
	"Andrew Rybchenko" <andrew.rybchenko@oktetlabs.ru>,
	"Ankur Dwivedi" <adwivedi@marvell.com>,
	"Tejasree Kondoj" <ktejasree@marvell.com>,
	"Gagandeep Singh" <g.singh@nxp.com>, "Kai Ji" <kai.ji@intel.com>,
	"Vamsi Attunuru" <vattunuru@marvell.com>,
	"Pavan Nikhilesh" <pbhagavatula@marvell.com>,
	"Shijith Thotton" <sthotton@marvell.com>,
	"Pravin Pathak" <pravin.pathak@intel.com>,
	"Ashwin Sekhar T K" <asekhar@marvell.com>,
	"Igor Russkikh" <irusskikh@marvell.com>,
	"Ajit Khaparde" <ajit.khaparde@broadcom.com>,
	"Somnath Kotur" <somnath.kotur@broadcom.com>,
	"Chas Williams" <chas3@att.com>,
	"Min Hu (Connor)" <humin29@huawei.com>,
	"Ian Stokes" <ian.stokes@intel.com>,
	"Vladimir Medvedkin" <vladimir.medvedkin@intel.com>,
	"Anatoly Burakov" <anatoly.burakov@intel.com>,
	"Jingjing Wu" <jingjing.wu@intel.com>,
	"Praveen Shetty" <praveen.shetty@intel.com>,
	"Cristian Dumitrescu" <cristian.dumitrescu@intel.com>,
	"Maxime Coquelin" <maxime.coquelin@redhat.com>,
	"David Hunt" <david.hunt@intel.com>,
	"Sivaprasad Tummala" <sivaprasad.tummala@amd.com>,
	"Akhil Goyal" <gakhil@marvell.com>,
	"Konstantin Ananyev" <konstantin.v.ananyev@yandex.ru>,
	"Fan Zhang" <fanzhang.oss@gmail.com>,
	"Ashish Gupta" <ashish.gupta@marvell.com>,
	"Mattias Rönnblom" <mattias.ronnblom@ericsson.com>,
	"Kevin Laatz" <kevin.laatz@intel.com>,
	"Wathsala Vithanage" <wathsala.vithanage@arm.com>,
	"Tyler Retzlaff" <roretzla@linux.microsoft.com>,
	"Jerin Jacob" <jerinj@marvell.com>,
	"Harry van Haaren" <harry.van.haaren@intel.com>,
	"Min Zhou" <zhoumin@loongson.cn>,
	"David Christensen" <drc@linux.ibm.com>,
	"Stanislaw Kardach" <stanislaw.kardach@gmail.com>,
	"Dmitry Kozlyuk" <dmitry.kozliuk@gmail.com>,
	"Byron Marohn" <byron.marohn@intel.com>,
	"Yipeng Wang" <yipeng1.wang@intel.com>,
	"Ferruh Yigit" <ferruh.yigit@amd.com>,
	"Abhinandan Gujjar" <abhinandan.gujjar@intel.com>,
	"Amit Prakash Shukla" <amitprakashs@marvell.com>,
	"Naga Harish K S V" <s.v.naga.harish.k@intel.com>,
	"Erik Gabriel Carrillo" <erik.g.carrillo@intel.com>,
	"Elena Agostini" <eagostini@nvidia.com>,
	"Zhirun Yan" <yanzhirun_163@163.com>,
	"Jiayu Hu" <hujiayu.hu@foxmail.com>,
	"Sameh Gobriel" <sameh.gobriel@intel.com>,
	"Reshma Pattan" <reshma.pattan@intel.com>,
	"Stephen Hemminger" <stephen@networkplumber.org>,
	"Morten Brørup" <mb@smartsharesystems.com>,
	"Srikanth Yalavarthi" <syalavarthi@marvell.com>,
	"Jasvinder Singh" <jasvinder.singh@intel.com>,
	"Gaetan Rivet" <grive@u256.net>,
	"Volodymyr Fialko" <vfialko@marvell.com>,
	"Honnappa Nagarahalli" <honnappa.nagarahalli@arm.com>
Subject: Re: [RFC v3 6/8] build: mark exported symbols
Date: Fri, 14 Mar 2025 17:51:37 +0000	[thread overview]
Message-ID: <Z9RsqQAIkGHDnoFb@bricha3-mobl1.ger.corp.intel.com> (raw)
In-Reply-To: <CAJFAV8wrmuhn-nsiDc+RrCqth13hjyrubhqcZK17mqpDaDVuWw@mail.gmail.com>

On Fri, Mar 14, 2025 at 06:39:54PM +0100, David Marchand wrote:
> On Fri, Mar 14, 2025 at 6:29 PM Bruce Richardson
> <bruce.richardson@intel.com> wrote:
> > > > What I'd actually like more, but never have had time to actually try out is
> > > > to generalise the instruction-set-specific build stuff into the higher level
> > > > drivers/meson.build code. After all, much of the code for doing so is just
> > > > duplicated - check for AVX512 or AVX2 and if present build these files with
> > > > the extra flags for that instruction set.
> > > >
> > > > Something similar with the base code. Most base code builds follow pretty
> > > > much the exact same routine.
> > >
> > > Having those separate libraries require special cases every time, so
> > > yes, it would be great if those could be factored in some shared
> > > mechanism in drivers/meson.build.
> > >
> > > Putting the AVX stuff aside, and back to why we need those separate
> > > libraries for base drivers... I think the main use is to waive some
> > > build warnings, is there something else?
> > > If so.. I think some drivers could already be cleaned (like net/e1000,
> > > net/ngbe, net/octeontx, net/thunderx, net/txgbe, raw/ifpga at a first
> > > glance).

Great. The question is whether that will always be true for those drivers.
Even with those cleaned, we'll still need common base code handling, and
with that done, it might as well be used for all base directories, not just
a few.

> > >
> > > The AVX stuff seems a bit more complex, as there are multiple combinations...
> > >
> >
> > First attempt seems to go surprisingly smoothly[1]. It still builds, which is
> > a start, though obviously some testing will be needed to check nothing else
> > is broken.
> 
> If it builds.. what more to ask for? :-)
> 
> > It really helped that most code just seemed to have been copy-pasted around
> > the place.
> 
> I had a quick look, it lgtm on the principle.
> 
> Could this be applied to lib/ ? (I see some complications with AVX512
> special instructions in lib/net..).
> 
It hopefully can. I suspect there may be more complications in doing so,
though. I notice a few libraries use instruction sets beyond the initial
ones enabled in march=skylake-avx512, so it's not a common baseline we can
easily switch to. I'll try and look at it if I get a chance.

/Bruce

  reply	other threads:[~2025-03-14 17:52 UTC|newest]

Thread overview: 33+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-03-05 21:23 [RFC] eal: add new function versioning macros David Marchand
2025-03-06  2:57 ` Patrick Robb
2025-03-06 10:23 ` Bruce Richardson
2025-03-06 12:50 ` [RFC v2 1/2] " David Marchand
2025-03-06 12:50   ` [RFC v2 2/2] build: generate symbol maps David Marchand
2025-03-06 15:45   ` [RFC v2 1/2] eal: add new function versioning macros Andre Muezerie
2025-03-11  9:55 ` [RFC v3 0/8] Symbol versioning and export rework David Marchand
2025-03-11  9:55   ` [RFC v3 1/8] lib: remove incorrect exported symbols David Marchand
2025-03-11  9:56   ` [RFC v3 2/8] drivers: " David Marchand
2025-03-11  9:56   ` [RFC v3 3/8] eal: rework function versioning macros David Marchand
2025-03-13 16:53     ` Bruce Richardson
2025-03-13 17:09       ` David Marchand
2025-03-11  9:56   ` [RFC v3 4/8] buildtools: display version when listing symbols David Marchand
2025-03-11  9:56   ` [RFC v3 5/8] build: generate symbol maps David Marchand
2025-03-13 17:26     ` Bruce Richardson
2025-03-14 15:38       ` David Marchand
2025-03-14 14:24     ` Thomas Monjalon
2025-03-14 15:38       ` David Marchand
2025-03-14 15:27     ` Andre Muezerie
2025-03-14 15:51       ` David Marchand
2025-03-11  9:56   ` [RFC v3 6/8] build: mark exported symbols David Marchand
2025-03-13 17:30     ` Bruce Richardson
2025-03-14 16:14       ` David Marchand
2025-03-14 16:23         ` Bruce Richardson
2025-03-14 16:53           ` David Marchand
2025-03-14 17:21             ` David Marchand
2025-03-14 17:28             ` Bruce Richardson
2025-03-14 17:39               ` David Marchand
2025-03-14 17:51                 ` Bruce Richardson [this message]
2025-03-11  9:56   ` [RFC v3 7/8] build: use dynamically generated version maps David Marchand
2025-03-11  9:56   ` [RFC v3 8/8] build: remove static " David Marchand
2025-03-11 10:18   ` [RFC v3 0/8] Symbol versioning and export rework Morten Brørup
2025-03-11 13:43     ` David Marchand

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=Z9RsqQAIkGHDnoFb@bricha3-mobl1.ger.corp.intel.com \
    --to=bruce.richardson@intel.com \
    --cc=abhinandan.gujjar@intel.com \
    --cc=adwivedi@marvell.com \
    --cc=ajit.khaparde@broadcom.com \
    --cc=amitprakashs@marvell.com \
    --cc=anatoly.burakov@intel.com \
    --cc=andremue@linux.microsoft.com \
    --cc=andrew.boyer@amd.com \
    --cc=andrew.rybchenko@oktetlabs.ru \
    --cc=anoobj@marvell.com \
    --cc=asekhar@marvell.com \
    --cc=ashish.gupta@marvell.com \
    --cc=bingz@nvidia.com \
    --cc=byron.marohn@intel.com \
    --cc=chaoyong.he@corigine.com \
    --cc=chas3@att.com \
    --cc=chenbox@nvidia.com \
    --cc=cristian.dumitrescu@intel.com \
    --cc=david.hunt@intel.com \
    --cc=david.marchand@redhat.com \
    --cc=dev@dpdk.org \
    --cc=dmitry.kozliuk@gmail.com \
    --cc=drc@linux.ibm.com \
    --cc=dsosnowski@nvidia.com \
    --cc=eagostini@nvidia.com \
    --cc=erik.g.carrillo@intel.com \
    --cc=fanzhang.oss@gmail.com \
    --cc=fengchengwen@huawei.com \
    --cc=ferruh.yigit@amd.com \
    --cc=g.singh@nxp.com \
    --cc=gakhil@marvell.com \
    --cc=grive@u256.net \
    --cc=harry.van.haaren@intel.com \
    --cc=hemant.agrawal@nxp.com \
    --cc=hkalra@marvell.com \
    --cc=honnappa.nagarahalli@arm.com \
    --cc=hujiayu.hu@foxmail.com \
    --cc=humin29@huawei.com \
    --cc=ian.stokes@intel.com \
    --cc=irusskikh@marvell.com \
    --cc=jasvinder.singh@intel.com \
    --cc=jerinj@marvell.com \
    --cc=jingjing.wu@intel.com \
    --cc=jsrikanth@marvell.com \
    --cc=kai.ji@intel.com \
    --cc=kevin.laatz@intel.com \
    --cc=kirankumark@marvell.com \
    --cc=konstantin.v.ananyev@yandex.ru \
    --cc=ktejasree@marvell.com \
    --cc=lironh@marvell.com \
    --cc=longli@microsoft.com \
    --cc=matan@nvidia.com \
    --cc=mattias.ronnblom@ericsson.com \
    --cc=maxime.coquelin@redhat.com \
    --cc=mb@smartsharesystems.com \
    --cc=ndabilpuram@marvell.com \
    --cc=nicolas.chautru@intel.com \
    --cc=nikhil.agarwal@amd.com \
    --cc=nipun.gupta@amd.com \
    --cc=orika@nvidia.com \
    --cc=parav@nvidia.com \
    --cc=pbhagavatula@marvell.com \
    --cc=praveen.shetty@intel.com \
    --cc=pravin.pathak@intel.com \
    --cc=reshma.pattan@intel.com \
    --cc=rnagadheeraj@marvell.com \
    --cc=roretzla@linux.microsoft.com \
    --cc=rosen.xu@intel.com \
    --cc=s.v.naga.harish.k@intel.com \
    --cc=sachin.saxena@nxp.com \
    --cc=sameh.gobriel@intel.com \
    --cc=sivaprasad.tummala@amd.com \
    --cc=skori@marvell.com \
    --cc=skoteshwar@marvell.com \
    --cc=somnath.kotur@broadcom.com \
    --cc=stanislaw.kardach@gmail.com \
    --cc=stephen@networkplumber.org \
    --cc=sthotton@marvell.com \
    --cc=suanmingm@nvidia.com \
    --cc=syalavarthi@marvell.com \
    --cc=tduszynski@marvell.com \
    --cc=thomas@monjalon.net \
    --cc=vattunuru@marvell.com \
    --cc=vfialko@marvell.com \
    --cc=viacheslavo@nvidia.com \
    --cc=vladimir.medvedkin@intel.com \
    --cc=wathsala.vithanage@arm.com \
    --cc=weh@microsoft.com \
    --cc=xuemingl@nvidia.com \
    --cc=yanzhirun_163@163.com \
    --cc=yipeng1.wang@intel.com \
    --cc=zhoumin@loongson.cn \
    /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).