MINOR: backends: Don't update last_sess if it did not change

Check that last_sess actually changed before attempting to set it, as it
should only change once every second, that will avoid a lot of atomic
writes on a busy cache line.
This commit is contained in:
Olivier Houchard 2026-04-01 15:01:09 +02:00 committed by Olivier Houchard
parent 397530b1e9
commit eaf42ee886

View File

@ -99,8 +99,11 @@ static inline int be_is_eligible(const struct proxy *be)
/* set the time of last session on the backend */
static inline void be_set_sess_last(struct proxy *be)
{
uint now_sec = ns_to_sec(now_ns);
if (be->be_counters.shared.tg)
HA_ATOMIC_STORE(&be->be_counters.shared.tg[tgid - 1]->last_sess, ns_to_sec(now_ns));
if (HA_ATOMIC_LOAD(&be->be_counters.shared.tg[tgid - 1]->last_sess) != now_sec)
HA_ATOMIC_STORE(&be->be_counters.shared.tg[tgid - 1]->last_sess, now_sec);
}
/* This function returns non-zero if the designated server will be