diff options
author | Mathieu Desnoyers <mathieu.desnoyers@efficios.com> | 2024-03-01 10:17:56 -0500 |
---|---|---|
committer | Mathieu Desnoyers <mathieu.desnoyers@efficios.com> | 2024-03-01 20:32:11 -0500 |
commit | d06f5cf59171f1dc6a900aa627312a7eb37a30ad (patch) | |
tree | b73b015690060183f41a7059400cc683fc82a370 | |
parent | 8ab16a24eefe723c7f2e12fca171c6e917f654a8 (diff) | |
download | librseq-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.c | 3 |
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. */ |