mirror of
https://git.haproxy.org/git/haproxy.git/
synced 2025-11-28 22:31:06 +01:00
MINOR: pools: make the basic pool_refill_alloc()/pool_free() update needed_avg
This is a first step towards unifying all the fallback code. Right now these two functions are the only ones which do not update the needed_avg rate counter since there's currently no shared pool kept when using them. But their code is similar to what could be used everywhere except for this one, so let's make them capable of maintaining usage statistics. As a side effect the needed field in "show pools" will now be populated.
This commit is contained in:
parent
53a7fe49aa
commit
64383b8181
@ -141,6 +141,7 @@ static inline void __pool_free(struct pool_head *pool, void *ptr)
|
||||
{
|
||||
_HA_ATOMIC_DEC(&pool->used);
|
||||
_HA_ATOMIC_DEC(&pool->allocated);
|
||||
swrate_add(&pool->needed_avg, POOL_AVG_SAMPLES, pool->used);
|
||||
pool_free_area(ptr, pool->size + POOL_EXTRA);
|
||||
}
|
||||
|
||||
|
||||
@ -165,6 +165,8 @@ void *__pool_refill_alloc(struct pool_head *pool, unsigned int avail)
|
||||
return NULL;
|
||||
}
|
||||
|
||||
swrate_add_scaled(&pool->needed_avg, POOL_AVG_SAMPLES, pool->allocated, POOL_AVG_SAMPLES/4);
|
||||
|
||||
ptr = pool_alloc_area(pool->size + POOL_EXTRA);
|
||||
if (!ptr) {
|
||||
_HA_ATOMIC_INC(&pool->failed);
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user