Merge tag 'slab-for-6.4' of git://git.kernel.org/pub/scm/linux/kernel/git/vbabka/slab
Pull slab updates from Vlastimil Babka: "The main change is naturally the SLOB removal. Since its deprecation in 6.2 I've seen no complaints so hopefully SLUB_(TINY) works well for everyone and we can proceed. Besides the code cleanup, the main immediate benefit will be allowing kfree() family of function to work on kmem_cache_alloc() objects, which was incompatible with SLOB. This includes kfree_rcu() which had no kmem_cache_free_rcu() counterpart yet and now it shouldn't be necessary anymore. Besides that, there are several small code and comment improvements from Thomas, Thorsten and Vernon" * tag 'slab-for-6.4' of git://git.kernel.org/pub/scm/linux/kernel/git/vbabka/slab: mm/slab: document kfree() as allowed for kmem_cache_alloc() objects mm/slob: remove slob.c mm/slab: remove CONFIG_SLOB code from slab common code mm, pagemap: remove SLOB and SLQB from comments and documentation mm, page_flags: remove PG_slob_free mm/slob: remove CONFIG_SLOB mm/slub: fix help comment of SLUB_DEBUG mm: slub: make kobj_type structure constant slab: Adjust comment after refactoring of gfp.h
This commit is contained in:
@@ -170,7 +170,16 @@ should be used if a part of the cache might be copied to the userspace.
|
||||
After the cache is created kmem_cache_alloc() and its convenience
|
||||
wrappers can allocate memory from that cache.
|
||||
|
||||
When the allocated memory is no longer needed it must be freed. You can
|
||||
use kvfree() for the memory allocated with `kmalloc`, `vmalloc` and
|
||||
`kvmalloc`. The slab caches should be freed with kmem_cache_free(). And
|
||||
don't forget to destroy the cache with kmem_cache_destroy().
|
||||
When the allocated memory is no longer needed it must be freed.
|
||||
|
||||
Objects allocated by `kmalloc` can be freed by `kfree` or `kvfree`. Objects
|
||||
allocated by `kmem_cache_alloc` can be freed with `kmem_cache_free`, `kfree`
|
||||
or `kvfree`, where the latter two might be more convenient thanks to not
|
||||
needing the kmem_cache pointer.
|
||||
|
||||
The same rules apply to _bulk and _rcu flavors of freeing functions.
|
||||
|
||||
Memory allocated by `vmalloc` can be freed with `vfree` or `kvfree`.
|
||||
Memory allocated by `kvmalloc` can be freed with `kvfree`.
|
||||
Caches created by `kmem_cache_create` should be freed with
|
||||
`kmem_cache_destroy` only after freeing all the allocated objects first.
|
||||
|
||||
Reference in New Issue
Block a user