On Tue, Mar 05, 2024 at 11:46:00AM +0100, Julien Panis wrote:
On 3/1/24 17:38, Andrew Lunn wrote:You can also go the other way. First add page pool support. For the
On Fri, Mar 01, 2024 at 04:02:53PM +0100, Julien Panis wrote:Argh...Houston, we have a problem. I checked my v3, which is ready for
This patch adds XDP (eXpress Data Path) support to TI AM65 CPSWDo you have any benchmark numbers? It should help with none XDP
Ethernet driver. The following features are implemented:
- NETDEV_XDP_ACT_BASIC (XDP_PASS, XDP_TX, XDP_DROP, XDP_ABORTED)
- NETDEV_XDP_ACT_REDIRECT (XDP_REDIRECT)
- NETDEV_XDP_ACT_NDO_XMIT (ndo_xdp_xmit callback)
The page pool memory model is used to get better performance.
traffic as well. So maybe iperf numbers before and after?
Andrew
submission, with iperf3:
1) Before = without page pool -> 500 MBits/sec
2) After = with page pool -> 442 MBits/sec
-> ~ 10% worse with page pool here.
Unless the difference is not due to page pool. Maybe there's something else
which is not good in my patch. I'm going to send the v3 which uses page pool,
hopefully someone will find out something suspicious. Meanwhile, I'll carry on
investigating: I'll check the results with my patch, by removing only the using of
page pool.
FEC, that improved its performance. Then add XDP, which i think
decreased the performance a little. It is extra processing in the hot
path, so a little loss is not unsurprising.
What tends to be expensive with ARM is cache invalidation and
flush. So make sure you have the lengths correct. You don't want to
operate on more memory than necessary. No point flushing the full MTU
for a 64 byte TCP ACK, etc.
Andrew