Re: [PATCH 2/3] mm: support fallible mempool_alloc_bulk()

From: Eric Biggers

Date: Mon Aug 10 2026 - 12:27:01 EST


On Mon, Aug 10, 2026 at 09:00:11AM -0700, Christoph Hellwig wrote:
> On Thu, Aug 06, 2026 at 03:10:30PM -0700, Eric Biggers wrote:
> > To fix a deadlock, blk-crypto-fallback needs to be able to make fallible
> > mempool_alloc_bulk() allocations.
>
> It doesn't. fallible mempool allocations are a concept that doesn't
> make much sense. Please just go straight to the backing page allocator
> instead for callers that do not need the mempool guarantees.

It does make sense. When alloc_pages_bulk() doesn't completely succeed,
there still might be pages available in the mempool.
blk_crypto_alloc_enc_bio() should try to take them before falling back
to scheduling the rescuer kworker. The rescuer encounters scheduling
overhead and is single-threaded, so it's slow and should be used only
when absolutely necessary.

- Eric