From: Willy Tarreau Date: Sat, 17 Apr 2021 12:05:10 +0000 (+0200) Subject: MINOR: pool: remove the size field from pool_cache_head X-Git-Tag: v2.4-dev17~79 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=d5140e7c6f678a8b32cd0416b09d74fad5179c64;p=thirdparty%2Fhaproxy.git MINOR: pool: remove the size field from pool_cache_head Everywhere we have access to the pool so we don't need to cache a copy of the pool's size into the pool_cache_head. Let's remove it. --- diff --git a/include/haproxy/pool-t.h b/include/haproxy/pool-t.h index b6d4d31015..7dc99c182b 100644 --- a/include/haproxy/pool-t.h +++ b/include/haproxy/pool-t.h @@ -84,7 +84,6 @@ struct pool_cache_head { struct list list; /* head of objects in this pool */ - size_t size; /* size of an object */ unsigned int count; /* number of objects in this pool */ } THREAD_ALIGNED(64); diff --git a/include/haproxy/pool.h b/include/haproxy/pool.h index ee97135fdb..526c57c2d9 100644 --- a/include/haproxy/pool.h +++ b/include/haproxy/pool.h @@ -94,7 +94,7 @@ static inline void *__pool_get_from_cache(struct pool_head *pool) item = LIST_NEXT(&ph->list, typeof(item), by_pool); ph->count--; - pool_cache_bytes -= ph->size; + pool_cache_bytes -= pool->size; pool_cache_count--; LIST_DEL(&item->by_pool); LIST_DEL(&item->by_lru); @@ -117,7 +117,7 @@ static inline void pool_put_to_cache(struct pool_head *pool, void *ptr) LIST_ADD(&ti->pool_lru_head, &item->by_lru); ph->count++; pool_cache_count++; - pool_cache_bytes += ph->size; + pool_cache_bytes += pool->size; if (unlikely(pool_cache_bytes > CONFIG_HAP_POOL_CACHE_SIZE)) pool_evict_from_cache(); diff --git a/src/pool.c b/src/pool.c index 4f367d0b34..6f19ec783e 100644 --- a/src/pool.c +++ b/src/pool.c @@ -111,7 +111,6 @@ struct pool_head *create_pool(char *name, unsigned int size, unsigned int flags) /* update per-thread pool cache if necessary */ for (thr = 0; thr < MAX_THREADS; thr++) { LIST_INIT(&pool->cache[thr].list); - pool->cache[thr].size = size; } #endif HA_SPIN_INIT(&pool->lock); @@ -141,7 +140,7 @@ void pool_evict_from_cache() LIST_DEL(&item->by_lru); ph->count--; pool_cache_count--; - pool_cache_bytes -= ph->size; + pool_cache_bytes -= pool->size; __pool_free(pool, item); } while (pool_cache_bytes > CONFIG_HAP_POOL_CACHE_SIZE * 7 / 8); }