]> git.ipfire.org Git - thirdparty/kernel/stable.git/commit
Merge series "slab: Re-entrant kmalloc_nolock()"
authorVlastimil Babka <vbabka@suse.cz>
Fri, 26 Sep 2025 13:50:25 +0000 (15:50 +0200)
committerVlastimil Babka <vbabka@suse.cz>
Mon, 29 Sep 2025 07:46:17 +0000 (09:46 +0200)
commitca74b8cadaad4b179f77f1f4dc3d288be9a580f1
treeb630614b598a5b9405a93edb8e6850c26dc3787f
parentb9120619246d733a27e5e93c29e86f2e0401cfc5
parentaf92793e52c3a99b828ed4bdd277fd3e11c18d08
Merge series "slab: Re-entrant kmalloc_nolock()"

From the cover letter [1]:

This patch set introduces kmalloc_nolock() which is the next logical
step towards any context allocation necessary to remove bpf_mem_alloc
and get rid of preallocation requirement in BPF infrastructure.

In production BPF maps grew to gigabytes in size. Preallocation wastes
memory. Alloc from any context addresses this issue for BPF and other
subsystems that are forced to preallocate too.

This long task started with introduction of alloc_pages_nolock(), then
memcg and objcg were converted to operate from any context including
NMI, this set completes the task with kmalloc_nolock() that builds on
top of alloc_pages_nolock() and memcg changes.

After that BPF subsystem will gradually adopt it everywhere.

Link: https://lore.kernel.org/all/20250909010007.1660-1-alexei.starovoitov@gmail.com/
mm/slab.h
mm/slub.c