linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
* [PATCH V2 0/2] mm/slab: support kmalloc_nolock() -> kfree[_rcu]()
@ 2026-02-10  4:46 Harry Yoo
  2026-02-10  4:46 ` [PATCH V2 1/2] mm/slab: allow freeing kmalloc_nolock()'d objects using kfree[_rcu]() Harry Yoo
                   ` (2 more replies)
  0 siblings, 3 replies; 6+ messages in thread
From: Harry Yoo @ 2026-02-10  4:46 UTC (permalink / raw)
  To: Andrew Morton, Vlastimil Babka
  Cc: Christoph Lameter, David Rientjes, Roman Gushchin, Hao Li,
	Alexei Starovoitov, Catalin Marinas, Uladzislau Rezki,
	Suren Baghdasaryan, linux-mm, Harry Yoo

This is separated from the RFC version of "k[v]free_rcu() improvements"
series [1], as these changes are relatively small and beneficial for BPF
because it enables the bpf code to use kfree_rcu() instead of
call_rcu() + kfree_nolock().

Patch 1 allows kfree() and kfree_rcu() to be used with objects that are
allocated from kmalloc_nolock().

Patch 2 is a cleanup that frees a bit used to record whether obj_exts
was allocated using kmalloc_nolock() or kmalloc(), since now both cases
can be freed with kfree().

[1] https://lore.kernel.org/linux-mm/20260206093410.160622-1-harry.yoo@oracle.com

v1 -> v2:
  - Added Catalin's Reviewed-by tag on patch 1, and Alexei's Acked-by tag
    on patch 2 that I forgot to add. Thanks!

  - Fix calling kfree() in free_slab_obj_exts() and alloc_slab_obj_exts()
    when !allow_spin. Pass allow_spin parameter down to free_slab_obj_exts().

V1:  https://lore.kernel.org/linux-mm/20260209121013.50475-1-harry.yoo@oracle.com

Harry Yoo (2):
  mm/slab: allow freeing kmalloc_nolock()'d objects using kfree[_rcu]()
  mm/slab: drop the OBJEXTS_NOSPIN_ALLOC flag from enum objext_flags

 include/linux/memcontrol.h |  3 +--
 include/linux/rcupdate.h   |  4 ++--
 mm/kmemleak.c              | 22 ++++++++++-----------
 mm/slub.c                  | 39 +++++++++++++++++++++++++++-----------
 4 files changed, 41 insertions(+), 27 deletions(-)


base-commit: f6ed7e47c1fc78e78c9bfeb668b1ad9ba5c58120
-- 
2.43.0



^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2026-02-10 14:08 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-02-10  4:46 [PATCH V2 0/2] mm/slab: support kmalloc_nolock() -> kfree[_rcu]() Harry Yoo
2026-02-10  4:46 ` [PATCH V2 1/2] mm/slab: allow freeing kmalloc_nolock()'d objects using kfree[_rcu]() Harry Yoo
2026-02-10  4:46 ` [PATCH V2 2/2] mm/slab: drop the OBJEXTS_NOSPIN_ALLOC flag from enum objext_flags Harry Yoo
2026-02-10  8:57   ` Hao Li
2026-02-10 10:32     ` Harry Yoo
2026-02-10 14:08 ` [PATCH V2 0/2] mm/slab: support kmalloc_nolock() -> kfree[_rcu]() Vlastimil Babka

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox