Re: [PATCH 2/3] mm: support fallible mempool_alloc_bulk()
Christoph Hellwig <[email protected]>
| Newsgroups | org.kernel.vger.linux-block,org.kernel.vger.linux-kernel,org.kvack.linux-mm |
|---|---|
| Message-ID | <[email protected]> |
On Mon, Aug 10, 2026 at 09:14:04AM -0700, Eric Biggers wrote: > 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. But they should not go to a caller that does not need 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. No, it should just try a regular non-bulk alloc_pages (and eventually alloc_pages_bulk should do that fallback for the callers, but that's a separate discussion).