CLEANUP: pools: align pools on a cache line
There are just a few pools, and they're stressed a lot, so it makes
sense to dedicate them a cache line to avoid contention and to place
the lock at the beginning.
diff --git a/include/common/memory.h b/include/common/memory.h
index 5096125..8007855 100644
--- a/include/common/memory.h
+++ b/include/common/memory.h
@@ -48,8 +48,8 @@
#endif
struct pool_head {
- void **free_list;
__decl_hathreads(HA_SPINLOCK_T lock); /* the spin lock */
+ void **free_list;
struct list list; /* list of all known pools */
unsigned int used; /* how many chunks are currently in use */
unsigned int allocated; /* how many chunks have been allocated */
@@ -60,7 +60,7 @@
unsigned int users; /* number of pools sharing this zone */
unsigned int failed; /* failed allocations */
char name[12]; /* name of the pool */
-};
+} __attribute__((aligned(64)));
/* poison each newly allocated area with this byte if >= 0 */
extern int mem_poison_byte;