On 9/20/24 12:27, Mattias Rönnblom wrote:
In build where use_cc_memcpy is set to true, the vhost user PMD suffers a large performance drop on Intel P-cores for small packets, at least when built by GCC and (to a much lesser extent) clang. This patch addresses that issue by using a custom virtio memcpy()-based packet copying routine. Performance results from a Raptor Lake @ 3,2 GHz: GCC 12.3.0 64 bytes packets Core Mode Mpps E RTE memcpy 9.5 E cc memcpy 9.7 E cc memcpy+pktcpy 9.0 P RTE memcpy 16.4 P cc memcpy 13.5 P cc memcpy+pktcpy 16.2 GCC 12.3.0 1500 bytes packets Core Mode Mpps P RTE memcpy 5.8 P cc memcpy 5.9 P cc memcpy+pktcpy 5.9 clang 15.0.7 64 bytes packets Core Mode Mpps P RTE memcpy 13.3 P cc memcpy 12.9 P cc memcpy+pktcpy 13.9 "RTE memcpy" is use_cc_memcpy=false, "cc memcpy" is use_cc_memcpy=true and "pktcpy" is when this patch is applied. Signed-off-by: Mattias Rönnblom <mattias.ronnb...@ericsson.com> --- lib/vhost/virtio_net.c | 37 +++++++++++++++++++++++++++++++++++-- 1 file changed, 35 insertions(+), 2 deletions(-)
As the default behaviour remains unchanged, this is good to me: Acked-by: Maxime Coquelin <maxime.coque...@redhat.com> Thanks, Maxime