From: Willy Tarreau Date: Sun, 2 Jan 2022 18:34:19 +0000 (+0100) Subject: CLEANUP: pools: group list updates in pool_get_from_cache() X-Git-Tag: v2.6-dev1~202 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=594775d17c6854b7d9dda23e37474ae6172e0fa2;p=thirdparty%2Fhaproxy.git CLEANUP: pools: group list updates in pool_get_from_cache() Some changes affect the list element and others affect the pool stats. Better group them together, as the compiler may not detect certain possible optimizations after the casts made by the list macros. --- diff --git a/include/haproxy/pool.h b/include/haproxy/pool.h index 81b392fc6a..c899f77664 100644 --- a/include/haproxy/pool.h +++ b/include/haproxy/pool.h @@ -184,14 +184,16 @@ 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 -= pool->size; - pool_cache_count--; LIST_DELETE(&item->by_pool); LIST_DELETE(&item->by_lru); /* keep track of where the element was allocated from */ POOL_DEBUG_SET_MARK(pool, item); + + ph->count--; + pool_cache_bytes -= pool->size; + pool_cache_count--; + return item; }