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.
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);
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);
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();
/* 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);
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);
}