ConnectX-5 DPDK performance degradation when enabling jumbo, scatter and multi segs

I’m using a ConnectX-5 nic.
I have a DPDK application on which I want to support jumbo packets.
To do that I add rx offload capabilities: DEV_RX_OFFLOAD_JUMBO_FRAME, DEV_RX_OFFLOAD_SCATTER
And tx offload capabilities: DEV_TX_OFFLOAD_MULTI_SEGS
I also make the max_rx_pkt_len higher so it will accept jumbo packets (9k).
I’ve noticed that adding these offload capabilities + increasing the max_rx_pkt_len harms performance.
For example, without those offload flags, I can redirect 80Gbps packets of size 512 without any drop.
Using those flags reduce to ~55Gbps without losses.
I’m using DPDK 19.11.6.
Currently in this test I do not send jumbo packets. I just want to understand how it affects the average packet size.

Is this expected? Using those offload flags should degrade performance?
Thanks

1 Like

Same problem here with DEV_TX_OFFLOAD_MULTI_SEGS. Quite a huge performance degradation even if you don’t actually send segments that would be split and only define a single segment type.