diff options
author | Pavel Begunkov <asml.silence@gmail.com> | 2022-11-02 18:18:19 +0300 |
---|---|---|
committer | Jens Axboe <axboe@kernel.dk> | 2022-11-16 19:44:26 +0300 |
commit | 6e4068a11413b96687a03c39814539e202de294b (patch) | |
tree | 2ed2ab73ba16ab3aa190dd3128bf83f35f2a3d34 | |
parent | 5626196a5ae0937368b35c3625c428a2125b0f44 (diff) | |
download | linux-6e4068a11413b96687a03c39814539e202de294b.tar.xz |
mempool: introduce mempool_is_saturated
Introduce a helper mempool_is_saturated(), which tells if the mempool is
under-filled or not. We need it to figure out whether it should be
freed right into the mempool or could be cached with top level caches.
Signed-off-by: Pavel Begunkov <asml.silence@gmail.com>
Link: https://lore.kernel.org/r/636aed30be8c35d78f45e244998bc6209283cccc.1667384020.git.asml.silence@gmail.com
Signed-off-by: Jens Axboe <axboe@kernel.dk>
-rw-r--r-- | include/linux/mempool.h | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/include/linux/mempool.h b/include/linux/mempool.h index 0c964ac107c2..4aae6c06c5f2 100644 --- a/include/linux/mempool.h +++ b/include/linux/mempool.h @@ -30,6 +30,11 @@ static inline bool mempool_initialized(mempool_t *pool) return pool->elements != NULL; } +static inline bool mempool_is_saturated(mempool_t *pool) +{ + return READ_ONCE(pool->curr_nr) >= pool->min_nr; +} + void mempool_exit(mempool_t *pool); int mempool_init_node(mempool_t *pool, int min_nr, mempool_alloc_t *alloc_fn, mempool_free_t *free_fn, void *pool_data, |