diff options
| author | Breno Leitao <leitao@debian.org> | 2025-11-20 14:56:54 -0500 |
|---|---|---|
| committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2025-11-24 10:30:10 +0100 |
| commit | dc67d67a995ec3ed630c0619ab03725b1057f781 (patch) | |
| tree | d7abbfc0f838455eb2769b7bb8f51782711354d8 /include/linux | |
| parent | e9ab9dec36bb6d573783628134665b6588b93fd8 (diff) | |
| download | linux-dc67d67a995ec3ed630c0619ab03725b1057f781.tar.gz linux-dc67d67a995ec3ed630c0619ab03725b1057f781.tar.bz2 linux-dc67d67a995ec3ed630c0619ab03725b1057f781.zip | |
net: netpoll: Individualize the skb pool
[ Upstream commit 221a9c1df790fa711d65daf5ba05d0addc279153 ]
The current implementation of the netpoll system uses a global skb
pool, which can lead to inefficient memory usage and
waste when targets are disabled or no longer in use.
This can result in a significant amount of memory being unnecessarily
allocated and retained, potentially causing performance issues and
limiting the availability of resources for other system components.
Modify the netpoll system to assign a skb pool to each target instead of
using a global one.
This approach allows for more fine-grained control over memory
allocation and deallocation, ensuring that resources are only allocated
and retained as needed.
Signed-off-by: Breno Leitao <leitao@debian.org>
Link: https://patch.msgid.link/20241114-skb_buffers_v2-v3-1-9be9f52a8b69@debian.org
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Stable-dep-of: 49c8d2c1f94c ("net: netpoll: fix incorrect refcount handling causing incorrect cleanup")
Signed-off-by: Sasha Levin <sashal@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'include/linux')
| -rw-r--r-- | include/linux/netpoll.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/include/linux/netpoll.h b/include/linux/netpoll.h index 3ddf205b7e2c..f0dddb885280 100644 --- a/include/linux/netpoll.h +++ b/include/linux/netpoll.h @@ -32,6 +32,7 @@ struct netpoll { bool ipv6; u16 local_port, remote_port; u8 remote_mac[ETH_ALEN]; + struct sk_buff_head skb_pool; }; struct netpoll_info { |
