* [PATCH] net: skbuff: remove special handling for SLOB
@ 2023-05-09 7:12 Lukas Bulwahn
2023-05-09 8:10 ` Leon Romanovsky
` (3 more replies)
0 siblings, 4 replies; 5+ messages in thread
From: Lukas Bulwahn @ 2023-05-09 7:12 UTC (permalink / raw)
To: David S . Miller, Eric Dumazet, Jakub Kicinski, Paolo Abeni,
Vlastimil Babka, netdev
Cc: kernel-janitors, linux-kernel, Lukas Bulwahn
Commit c9929f0e344a ("mm/slob: remove CONFIG_SLOB") removes CONFIG_SLOB.
Now, we can also remove special handling for socket buffers with the SLOB
allocator. The code with HAVE_SKB_SMALL_HEAD_CACHE=1 is now the default
behavior for all allocators.
Remove an unnecessary distinction between SLOB and SLAB/SLUB allocator
after the SLOB allocator is gone.
Signed-off-by: Lukas Bulwahn <lukas.bulwahn@gmail.com>
---
net/core/skbuff.c | 17 -----------------
1 file changed, 17 deletions(-)
diff --git a/net/core/skbuff.c b/net/core/skbuff.c
index 515ec5cdc79c..01b48e68aca0 100644
--- a/net/core/skbuff.c
+++ b/net/core/skbuff.c
@@ -92,15 +92,7 @@ static struct kmem_cache *skbuff_fclone_cache __ro_after_init;
static struct kmem_cache *skbuff_ext_cache __ro_after_init;
#endif
-/* skb_small_head_cache and related code is only supported
- * for CONFIG_SLAB and CONFIG_SLUB.
- * As soon as SLOB is removed from the kernel, we can clean up this.
- */
-#if !defined(CONFIG_SLOB)
-# define HAVE_SKB_SMALL_HEAD_CACHE 1
-#endif
-#ifdef HAVE_SKB_SMALL_HEAD_CACHE
static struct kmem_cache *skb_small_head_cache __ro_after_init;
#define SKB_SMALL_HEAD_SIZE SKB_HEAD_ALIGN(MAX_TCP_HEADER)
@@ -117,7 +109,6 @@ static struct kmem_cache *skb_small_head_cache __ro_after_init;
#define SKB_SMALL_HEAD_HEADROOM \
SKB_WITH_OVERHEAD(SKB_SMALL_HEAD_CACHE_SIZE)
-#endif /* HAVE_SKB_SMALL_HEAD_CACHE */
int sysctl_max_skb_frags __read_mostly = MAX_SKB_FRAGS;
EXPORT_SYMBOL(sysctl_max_skb_frags);
@@ -562,7 +553,6 @@ static void *kmalloc_reserve(unsigned int *size, gfp_t flags, int node,
void *obj;
obj_size = SKB_HEAD_ALIGN(*size);
-#ifdef HAVE_SKB_SMALL_HEAD_CACHE
if (obj_size <= SKB_SMALL_HEAD_CACHE_SIZE &&
!(flags & KMALLOC_NOT_NORMAL_BITS)) {
obj = kmem_cache_alloc_node(skb_small_head_cache,
@@ -576,7 +566,6 @@ static void *kmalloc_reserve(unsigned int *size, gfp_t flags, int node,
obj = kmem_cache_alloc_node(skb_small_head_cache, flags, node);
goto out;
}
-#endif
*size = obj_size = kmalloc_size_roundup(obj_size);
/*
* Try a regular allocation, when that fails and we're not entitled
@@ -898,11 +887,9 @@ static bool skb_pp_recycle(struct sk_buff *skb, void *data, bool napi_safe)
static void skb_kfree_head(void *head, unsigned int end_offset)
{
-#ifdef HAVE_SKB_SMALL_HEAD_CACHE
if (end_offset == SKB_SMALL_HEAD_HEADROOM)
kmem_cache_free(skb_small_head_cache, head);
else
-#endif
kfree(head);
}
@@ -2160,7 +2147,6 @@ int __skb_unclone_keeptruesize(struct sk_buff *skb, gfp_t pri)
if (likely(skb_end_offset(skb) == saved_end_offset))
return 0;
-#ifdef HAVE_SKB_SMALL_HEAD_CACHE
/* We can not change skb->end if the original or new value
* is SKB_SMALL_HEAD_HEADROOM, as it might break skb_kfree_head().
*/
@@ -2174,7 +2160,6 @@ int __skb_unclone_keeptruesize(struct sk_buff *skb, gfp_t pri)
WARN_ON_ONCE(1);
return 0;
}
-#endif
shinfo = skb_shinfo(skb);
@@ -4768,7 +4753,6 @@ void __init skb_init(void)
0,
SLAB_HWCACHE_ALIGN|SLAB_PANIC,
NULL);
-#ifdef HAVE_SKB_SMALL_HEAD_CACHE
/* usercopy should only access first SKB_SMALL_HEAD_HEADROOM bytes.
* struct skb_shared_info is located at the end of skb->head,
* and should not be copied to/from user.
@@ -4780,7 +4764,6 @@ void __init skb_init(void)
0,
SKB_SMALL_HEAD_HEADROOM,
NULL);
-#endif
skb_extensions_init();
}
--
2.17.1
^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: [PATCH] net: skbuff: remove special handling for SLOB
2023-05-09 7:12 [PATCH] net: skbuff: remove special handling for SLOB Lukas Bulwahn
@ 2023-05-09 8:10 ` Leon Romanovsky
2023-05-09 8:51 ` Eric Dumazet
` (2 subsequent siblings)
3 siblings, 0 replies; 5+ messages in thread
From: Leon Romanovsky @ 2023-05-09 8:10 UTC (permalink / raw)
To: Lukas Bulwahn
Cc: David S . Miller, Eric Dumazet, Jakub Kicinski, Paolo Abeni,
Vlastimil Babka, netdev, kernel-janitors, linux-kernel
On Tue, May 09, 2023 at 09:12:07AM +0200, Lukas Bulwahn wrote:
> Commit c9929f0e344a ("mm/slob: remove CONFIG_SLOB") removes CONFIG_SLOB.
> Now, we can also remove special handling for socket buffers with the SLOB
> allocator. The code with HAVE_SKB_SMALL_HEAD_CACHE=1 is now the default
> behavior for all allocators.
>
> Remove an unnecessary distinction between SLOB and SLAB/SLUB allocator
> after the SLOB allocator is gone.
>
> Signed-off-by: Lukas Bulwahn <lukas.bulwahn@gmail.com>
> ---
> net/core/skbuff.c | 17 -----------------
> 1 file changed, 17 deletions(-)
>
Thanks,
Reviewed-by: Leon Romanovsky <leonro@nvidia.com>
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH] net: skbuff: remove special handling for SLOB
2023-05-09 7:12 [PATCH] net: skbuff: remove special handling for SLOB Lukas Bulwahn
2023-05-09 8:10 ` Leon Romanovsky
@ 2023-05-09 8:51 ` Eric Dumazet
2023-05-10 2:50 ` patchwork-bot+netdevbpf
2023-05-15 8:42 ` Vlastimil Babka
3 siblings, 0 replies; 5+ messages in thread
From: Eric Dumazet @ 2023-05-09 8:51 UTC (permalink / raw)
To: Lukas Bulwahn
Cc: David S . Miller, Jakub Kicinski, Paolo Abeni, Vlastimil Babka,
netdev, kernel-janitors, linux-kernel
On Tue, May 9, 2023 at 9:12 AM Lukas Bulwahn <lukas.bulwahn@gmail.com> wrote:
>
> Commit c9929f0e344a ("mm/slob: remove CONFIG_SLOB") removes CONFIG_SLOB.
> Now, we can also remove special handling for socket buffers with the SLOB
> allocator. The code with HAVE_SKB_SMALL_HEAD_CACHE=1 is now the default
> behavior for all allocators.
>
> Remove an unnecessary distinction between SLOB and SLAB/SLUB allocator
> after the SLOB allocator is gone.
>
> Signed-off-by: Lukas Bulwahn <lukas.bulwahn@gmail.com>
Reviewed-by: Eric Dumazet <edumazet@google.com>
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH] net: skbuff: remove special handling for SLOB
2023-05-09 7:12 [PATCH] net: skbuff: remove special handling for SLOB Lukas Bulwahn
2023-05-09 8:10 ` Leon Romanovsky
2023-05-09 8:51 ` Eric Dumazet
@ 2023-05-10 2:50 ` patchwork-bot+netdevbpf
2023-05-15 8:42 ` Vlastimil Babka
3 siblings, 0 replies; 5+ messages in thread
From: patchwork-bot+netdevbpf @ 2023-05-10 2:50 UTC (permalink / raw)
To: Lukas Bulwahn
Cc: davem, edumazet, kuba, pabeni, vbabka, netdev, kernel-janitors,
linux-kernel
Hello:
This patch was applied to netdev/net-next.git (main)
by Jakub Kicinski <kuba@kernel.org>:
On Tue, 9 May 2023 09:12:07 +0200 you wrote:
> Commit c9929f0e344a ("mm/slob: remove CONFIG_SLOB") removes CONFIG_SLOB.
> Now, we can also remove special handling for socket buffers with the SLOB
> allocator. The code with HAVE_SKB_SMALL_HEAD_CACHE=1 is now the default
> behavior for all allocators.
>
> Remove an unnecessary distinction between SLOB and SLAB/SLUB allocator
> after the SLOB allocator is gone.
>
> [...]
Here is the summary with links:
- net: skbuff: remove special handling for SLOB
https://git.kernel.org/netdev/net-next/c/559ae55cfc33
You are awesome, thank you!
--
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/patchwork/pwbot.html
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH] net: skbuff: remove special handling for SLOB
2023-05-09 7:12 [PATCH] net: skbuff: remove special handling for SLOB Lukas Bulwahn
` (2 preceding siblings ...)
2023-05-10 2:50 ` patchwork-bot+netdevbpf
@ 2023-05-15 8:42 ` Vlastimil Babka
3 siblings, 0 replies; 5+ messages in thread
From: Vlastimil Babka @ 2023-05-15 8:42 UTC (permalink / raw)
To: Lukas Bulwahn, David S . Miller, Eric Dumazet, Jakub Kicinski,
Paolo Abeni, netdev
Cc: kernel-janitors, linux-kernel
On 5/9/23 09:12, Lukas Bulwahn wrote:
> Commit c9929f0e344a ("mm/slob: remove CONFIG_SLOB") removes CONFIG_SLOB.
> Now, we can also remove special handling for socket buffers with the SLOB
> allocator. The code with HAVE_SKB_SMALL_HEAD_CACHE=1 is now the default
> behavior for all allocators.
>
> Remove an unnecessary distinction between SLOB and SLAB/SLUB allocator
> after the SLOB allocator is gone.
>
> Signed-off-by: Lukas Bulwahn <lukas.bulwahn@gmail.com>
Acked-by: Vlastimil Babka <vbabka@suse.cz>
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2023-05-15 8:42 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-05-09 7:12 [PATCH] net: skbuff: remove special handling for SLOB Lukas Bulwahn
2023-05-09 8:10 ` Leon Romanovsky
2023-05-09 8:51 ` Eric Dumazet
2023-05-10 2:50 ` patchwork-bot+netdevbpf
2023-05-15 8:42 ` Vlastimil Babka
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).