From b9ad30a8ad4f247ca03e6532428e77733128c954 Mon Sep 17 00:00:00 2001 From: Willy Tarreau Date: Wed, 17 Feb 2021 15:45:01 +0100 Subject: [PATCH] Revert "MINOR: threads: change lock_t to an unsigned int" This reverts commit 8f1f177ed0bbdb6c10e61e83994df113452d434f. Repeated tests have shown a small perforamnce degradation of ~1.8% caused by this patch at high request rates on 16 threads. The exact cause is not yet perfectly known but it probably stems in slower accesses for non-64-bit aligned atomic accesses. --- include/haproxy/thread-t.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/include/haproxy/thread-t.h b/include/haproxy/thread-t.h index bac83aedb..e82736164 100644 --- a/include/haproxy/thread-t.h +++ b/include/haproxy/thread-t.h @@ -95,8 +95,8 @@ /*** Common parts below ***/ /* storage types used by spinlocks and RW locks */ -#define __HA_SPINLOCK_T unsigned int -#define __HA_RWLOCK_T unsigned int +#define __HA_SPINLOCK_T unsigned long +#define __HA_RWLOCK_T unsigned long /* When thread debugging is enabled, we remap HA_SPINLOCK_T and HA_RWLOCK_T to