Re: [PATCH v1] mm:slab:use kmem_cache_free() to free

From: Vlastimil Babka
Date: Tue Aug 27 2024 - 10:58:54 EST


On 8/27/24 16:49, Vlastimil Babka wrote:
> On 8/22/24 18:59, Christoph Lameter (Ampere) wrote:
>> On Thu, 22 Aug 2024, Yan Zhen wrote:
>>
>>> The kmem_cache_alloc() is typically used to free memory allocated through
>>> the kernel memory cache (slab allocator).

oh but _alloc() is used to alloc, not free.

>>
>> Well yes but since we removed SLOB we can use kfree() on any slab object.
>>
>>> Using kmem_cache_free() for deallocation may be more reasonable.

so I've reworded the commit log a bit.

mm, slab: use kmem_cache_free() to free from kmem_buckets_cache

In kmem_buckets_create(), the kmem_buckets object is allocated by
kmem_cache_alloc() from kmem_buckets_cache, but in the failure case,
it's freed by kfree(), which is not wrong, but using kmem_cache_free()
is the more common pattern, so use it.



>> It is more symmetric and looks better.
>
> Right, added to slab/for-next, thanks.
>
>> Reviewed-by: Christoph Lameter <cl@xxxxxxxxx>
>