Observed increased rate of non-linear UDP skb on 5.10 sfc driver
From: Mark Pashmfouroush <hidden>
Date: 2021-01-21 13:10:13
Hi netdev, I'm currently conducting an experiment to observe the frequency of fragmented/non-linear UDP skbs being allocated on the receive path by the sfc driver. By non-linear I mean that parts of the packet are not contained within the linear portion of the skb. I've collected some data on kernel 5.4 with the out-of-tree sfc driver, and now the mainline sfc driver on kernel 5.10. On kernel 5.4 with the out-of-tree sfc driver I saw that roughly 10-15% of received UDP skbs were non-linear. On the in-tree driver I see a significant increase to around 30%. My question is, what can cause a fragmented/non-linear UDP skb to be allocated by the sfc driver, and why has this frequency increased since transitioning to the in-tree driver? Is there a strict size before a UDP packet has an skb with data in the non-linear buffer? I'm observing this using a tc eBPF program. While it doesn't seem to cause any issues I'm still curious why there is such a big difference. Observed on a Solaflare SFC9120 on multiple different firmware versions with no difference, currently running version 6.2.7.1001. Thanks, Mark