From b74ec1efc2be192e176c2aff458028f391652d95 Mon Sep 17 00:00:00 2001 From: Olivier Houchard Date: Tue, 28 Jan 2025 16:18:40 +0100 Subject: [PATCH] MINOR: queues: use __ha_cpu_relax() on failed CAS. Make sure we call __ha_cpu_relax() if we fail a CAS, to help with contention. --- src/queue.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/queue.c b/src/queue.c index 0bfdd09f0..2e8e861a5 100644 --- a/src/queue.c +++ b/src/queue.c @@ -453,7 +453,7 @@ int process_srv_queue(struct server *s) else new_served++; } - } while (!_HA_ATOMIC_CAS(&s->per_tgrp[tgid - 1].last_other_tgrp_served, &old_served, new_served)); + } while (!_HA_ATOMIC_CAS(&s->per_tgrp[tgid - 1].last_other_tgrp_served, &old_served, new_served) && __ha_cpu_relax()); cur_tgrp = new_served; to_dequeue = 1; } else {