mirror of
https://git.haproxy.org/git/haproxy.git/
synced 2025-11-01 00:50:59 +01:00
Just as for the allocation path, the release path was not symmetrical. It was not logical to have pool_put_to_cache() free the objects itself, it was pool_free's job. In addition, just because of a variable export issue, it the insertion of the object to free back into the local cache couldn't be inlined while it was very cheap. This patch just slightly reorganizes this code path by making pool_free() decide whether or not to put the object back into the cache via pool_put_to_cache() otherwise place it back to the global pool using __pool_free(). Then pool_put_to_cache() adds the item to the local cache and only calls pool_evict_from_cache() if the cache is too big.