Messages in this thread | | | Date | Tue, 14 Nov 2023 21:31:03 +0100 | Subject | Re: [PATCH 18/20] mm/slub: remove slab_alloc() and __kmem_cache_alloc_lru() wrappers | From | Vlastimil Babka <> |
| |
On 11/14/23 05:50, Kees Cook wrote: > On Mon, Nov 13, 2023 at 08:13:59PM +0100, Vlastimil Babka wrote: >> slab_alloc() is a thin wrapper around slab_alloc_node() with only one >> caller. Replace with direct call of slab_alloc_node(). >> __kmem_cache_alloc_lru() itself is a thin wrapper with two callers, >> so replace it with direct calls of slab_alloc_node() and >> trace_kmem_cache_alloc(). > > I'd have a sense that with 2 callers a wrapper is still useful?
Well it bothered me how many layers everything went through, it makes it harder to comprehend the code.
>> >> This also makes sure _RET_IP_ has always the expected value and not >> depending on inlining decisions.
And there's also this argument. We should evaluate _RET_IP_ in kmem_cache_alloc() and kmem_cache_alloc_lru().
>> Signed-off-by: Vlastimil Babka <vbabka@suse.cz> >> [...] >> void *kmem_cache_alloc_node(struct kmem_cache *s, gfp_t gfpflags, int node) >> { >> - void *ret = slab_alloc_node(s, NULL, gfpflags, node, _RET_IP_, s->object_size); >> + void *ret = slab_alloc_node(s, NULL, gfpflags, node, _RET_IP_, >> + s->object_size); >> > > Whitespace change here isn't mentioned in the commit log.
OK, will mention.
> Regardless: > > Reviewed-by: Kees Cook <keescook@chromium.org>
Thanks!
| |