From 071d689a514dac522ac3654f53bc22214b5716d0 Mon Sep 17 00:00:00 2001 From: Willy Tarreau Date: Wed, 16 Aug 2023 22:51:37 +0200 Subject: [PATCH] MINOR: threads: inline the wait function for pthread_rwlock emulation When using pthread_rwlock emulation, contention is reported on pl_wait_unlock_long(). This is really not convenient to analyse what is happening. Now plock supports inlining the wait call for just the lorw functions by enabling PLOCK_LORW_INLINE_WAIT. Let's do this so that now the wait time will be precisely reported as either pthread_rwlock_rdlock() or pthread_rwlock_wrlock() depending on the contended function, but no more on pl_wait_unlock_long(), which will still be reported for all other locks. --- include/haproxy/thread.h | 1 + 1 file changed, 1 insertion(+) diff --git a/include/haproxy/thread.h b/include/haproxy/thread.h index 30ff7827a0..471f59e3b2 100644 --- a/include/haproxy/thread.h +++ b/include/haproxy/thread.h @@ -167,6 +167,7 @@ static inline unsigned long long ha_get_pthread_id(unsigned int thr) /********************** THREADS ENABLED ************************/ +#define PLOCK_LORW_INLINE_WAIT #include void thread_harmless_till_end(void); -- 2.47.3