[PATCH 08/11] mempool: legitimize the io_schedule_timeout in mempool_alloc_from_pool

From: Christoph Hellwig

Date: Thu Nov 13 2025 - 03:41:27 EST


The timeout here is and old workaround with a Fixme comment. But
thinking about it, it makes sense to keep it, so reword the comment.

Signed-off-by: Christoph Hellwig <hch@xxxxxx>
---
mm/mempool.c | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/mm/mempool.c b/mm/mempool.c
index 88b9a8476d31..ea2f4f9bcfa1 100644
--- a/mm/mempool.c
+++ b/mm/mempool.c
@@ -427,10 +427,10 @@ static unsigned int mempool_alloc_from_pool(struct mempool *pool, void **elems,
spin_unlock_irqrestore(&pool->lock, flags);

/*
- * Wait for someone else to return an element to @pool.
- *
- * FIXME: this should be io_schedule(). The timeout is there as
- * a workaround for some DM problems in 2.6.18.
+ * Wait for someone else to return an element to @pool, but wake
+ * up occasionally as memory pressure might have reduced even
+ * and the normal allocation in alloc_fn could succeed even if
+ * no element was returned.
*/
io_schedule_timeout(5 * HZ);
finish_wait(&pool->wait, &wait);
--
2.47.3