From 8b94969054fcbecf5a8aad909852ca84086c3c65 Mon Sep 17 00:00:00 2001 From: Willy Tarreau Date: Sun, 26 Nov 2017 11:07:34 +0100 Subject: [PATCH] MINOR: fd: cache-align fdtab and fdcache locks These locks are highly contended, let's not make them share cache lines. --- include/proto/fd.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/include/proto/fd.h b/include/proto/fd.h index ce23c1cf2..8cc191f75 100644 --- a/include/proto/fd.h +++ b/include/proto/fd.h @@ -39,9 +39,9 @@ extern int fd_cache_num; // number of events in the cache extern THREAD_LOCAL int *fd_updt; // FD updates list extern THREAD_LOCAL int fd_nbupdt; // number of updates in the list -__decl_hathreads(extern HA_SPINLOCK_T fdtab_lock); /* global lock to protect fdtab array */ -__decl_hathreads(extern HA_RWLOCK_T fdcache_lock); /* global lock to protect fd_cache array */ -__decl_hathreads(extern HA_SPINLOCK_T poll_lock); /* global lock to protect poll info */ +__decl_hathreads(extern HA_SPINLOCK_T __attribute__((aligned(64))) fdtab_lock); /* global lock to protect fdtab array */ +__decl_hathreads(extern HA_RWLOCK_T __attribute__((aligned(64))) fdcache_lock); /* global lock to protect fd_cache array */ +__decl_hathreads(extern HA_SPINLOCK_T __attribute__((aligned(64))) poll_lock); /* global lock to protect poll info */ /* Deletes an FD from the fdsets, and recomputes the maxfd limit. * The file descriptor is also closed.