Re: improve the kmem_cache_alloc_bulk API

From: Christoph Hellwig

Date: Wed May 27 2026 - 08:22:42 EST


On Wed, May 27, 2026 at 11:11:31AM +0200, Vlastimil Babka (SUSE) wrote:
> > value convention. Fix that and add documentation.
> >
> > Note that the few comments explaining it mention that the gfp flags
> > must allow "spinning". That's not really a term used in the memory
> > allocator, is this supposed to mean "block" or "sleep"?
>
> Page allocator now has alloc_pages_nolock() for when no spinning is
> possible, and it uses ALLOC_TRYLOCK internally.
>
> Slab has kmalloc_nolock() relying on that when it needs new pages.

The comment long predates that, and it isn't expressed using gfp flags,
but by requiring separate functions so I somehow doubt that was meant.
But I could also not see why it would not support GFP_ATOMIC /
GFP_NOWAIT allocation, so I might just be confused.