[RFC v2] eal: provide option to use compiler memcpy instead of RTE
Mattias Rönnblom
hofors at lysator.liu.se
Tue May 28 10:19:15 CEST 2024
On 2024-05-28 09:43, Mattias Rönnblom wrote:
> Provide build option to have functions in <rte_memcpy.h> delegate to
> the standard compiler/libc memcpy(), instead of using the various
> traditional, handcrafted, per-architecture rte_memcpy()
> implementations.
>
> A new meson build option 'use_cc_memcpy' is added. The default is
> true. It's not obvious what should be the default, but compiler
> memcpy() is enabled by default in this RFC so any tests run with this
> patch use the new approach.
>
> One purpose of this RFC is to make it easy to evaluate the costs and
> benefits of a switch.
>
I've tested this patch some with DSW micro benchmarks, and the result is
a 2.5% reduction of the DSW+testapp overhead with cc/libc memcpy. GCC 11.4.
We've also run characteristic test suite of a large, real world app.
Here, we saw no effect. GCC 10.5.
x86_64 in both cases (Skylake and Raptor Lake).
Last time we did the same, there were a noticeable performance
degradation in both the above cases.
This is not a lot of data points, but I think it we should consider
making the custom RTE memcpy() implementations optional in the next
release, and if no-one complains, remove the implementations in the next
release.
(Whether or not [or how long] to keep the wrapper API is another question.)
<snip>
More information about the dev
mailing list