mirror of
https://git.haproxy.org/git/haproxy.git/
synced 2026-04-02 01:21:02 +02:00
MINOR: servers: 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:
parent
eaf42ee886
commit
e264523112
@ -220,8 +220,12 @@ static inline void srv_inc_sess_ctr(struct server *s)
|
||||
/* set the time of last session on the designated server */
|
||||
static inline void srv_set_sess_last(struct server *s)
|
||||
{
|
||||
if (s->counters.shared.tg)
|
||||
HA_ATOMIC_STORE(&s->counters.shared.tg[tgid - 1]->last_sess, ns_to_sec(now_ns));
|
||||
if (s->counters.shared.tg) {
|
||||
uint now_sec = ns_to_sec(now_ms);
|
||||
|
||||
if (HA_ATOMIC_LOAD(&s->counters.shared.tg[tgid - 1]->last_sess) != now_sec)
|
||||
HA_ATOMIC_STORE(&s->counters.shared.tg[tgid - 1]->last_sess, now_sec);
|
||||
}
|
||||
}
|
||||
|
||||
/* returns the current server throttle rate between 0 and 100% */
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user