On Fri, Mar 14, 2025 at 6:29 PM Bruce Richardson
<bruce.richard...@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).
> >
> > 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..).


-- 
David Marchand

Reply via email to