Revert "net: skb: introduce and use a single page frag cache"
After the previous commit is finally safe to revert commit dbae2b06 ("net: skb: introduce and use a single page frag cache"): do it here. The intended goal of such change was to counter a performance regression introduced by commit 3226b158 ("net: avoid 32 x truesize under-estimation for tiny skbs"). Unfortunately, the blamed commit introduces another regression for the virtio_net driver. Such a driver calls napi_alloc_skb() with a tiny size, so that the whole head frag could fit a 512-byte block. The single page frag cache uses a 1K fragment for such allocation, and the additional overhead, under small UDP packets flood, makes the page allocator a bottleneck. Thanks to commit bf9f1baa ("net: add dedicated kmem_cache for typical/small skb->head"), this revert does not re-introduce the original regression. Actually, in the relevant test on top of this revert, I measure a small but noticeable positive delta, just above noise level. The revert itself required some additional mangling due to recent updates in the affected code. Suggested-by:Eric Dumazet <edumazet@google.com> Fixes: dbae2b06 ("net: skb: introduce and use a single page frag cache") Reviewed-by:
Eric Dumazet <edumazet@google.com> Signed-off-by:
Paolo Abeni <pabeni@redhat.com>
Loading
Please register or sign in to comment