aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMathieu Desnoyers <mathieu.desnoyers@efficios.com>2024-03-01 10:17:56 -0500
committerMathieu Desnoyers <mathieu.desnoyers@efficios.com>2024-03-01 20:32:11 -0500
commitd06f5cf59171f1dc6a900aa627312a7eb37a30ad (patch)
treeb73b015690060183f41a7059400cc683fc82a370
parent8ab16a24eefe723c7f2e12fca171c6e917f654a8 (diff)
downloadlibrseq-d06f5cf59171f1dc6a900aa627312a7eb37a30ad.tar.gz
percpu pool set malloc: start search at relevant alloc order
Start search for a pool which can accomodate the @len allocation at an allocation order where it can fit. Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com> Change-Id: Ib887759416120cad78da6a3758d5a8e5781380ad
-rw-r--r--src/rseq-percpu-alloc.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/rseq-percpu-alloc.c b/src/rseq-percpu-alloc.c
index 119765f..46fd7f7 100644
--- a/src/rseq-percpu-alloc.c
+++ b/src/rseq-percpu-alloc.c
@@ -371,6 +371,9 @@ void *__rseq_percpu_pool_set_malloc(struct rseq_percpu_pool_set *pool_set, size_
struct rseq_percpu_pool *pool;
void *addr;
+ order = rseq_get_count_order_ulong(len);
+ if (order > POOL_SET_MIN_ENTRY)
+ min_order = order;
again:
pthread_mutex_lock(&pool_set->lock);
/* First smallest present pool where @len fits. */