15/10/2020 19:08, Bruce Richardson:
> On Thu, Oct 15, 2020 at 04:00:44PM +0000, Ali Alnubani wrote:
> >    We have been seeing in some cases that the DPDK forwarding performance
> >    is up to 9% lower when DPDK is built as static with meson compared to a
> >    build with makefiles.
> > 
> >    The same degradation can be reproduced with makefiles on older DPDK
> >    releases when building with EXTAR_CFLAGS set to “-fPIC”, it can also be
> >    resolved in meson when passing “pic: false” to meson’s static_library
> >    call (more tweaking needs to be done to prevent building shared
> >    libraries because this change breaks them).
[...]
> >    Should we disable PIC in static builds?
> 
> thanks for reporting, though it's strange that you see such a big impact.
> In my previous tests with i40e driver I never noticed a difference between
> make and meson builds, and I and some others here have been using meson
> builds for any performance work for over a year now. That being said let me
> reverify what I see on my end.
> 
> In terms of solutions, disabling the -fPIC flag globally implies that we
> can no longer build static and shared libs from the same sources, so we
> would need to revert to doing either a static or a shared library build
> but not both. If the issue is limited to only some drivers or some cases,
> we can perhaps add in a build option to have no-fpic-static builds, to be
> used in a cases where it is problematic.

I assume only some Rx/Tx functions are impacted.
We probably need such disabling option per-file.

> However, at this point, I think we need a little more investigation. Is
> there any testing you can do to see if it's just in your driver, or in
> perhaps a mempool driver/lib that the issue appears, or if it's just a
> global slowdown? Do you see the impact with both clang and gcc?  I'll
> retest things a bit tomorrow on my end to see what I see.

Yes we need to know which libs or files are impacted by -fPIC.


Reply via email to