mirror of
https://github.com/haproxy/haproxy.git
synced 2026-04-03 08:05:03 -04: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
1 changed files with 6 additions and 2 deletions
|
|
@ -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…
Reference in a new issue