tree ff4ce48d1423ea2d2b5fb53208ef00e0dca7b3ac
parent e242f3dfb8ae2f27de9d10d90a783df05d5c849b
author Willy Tarreau <w@1wt.eu> 1558806880 +0200
committer Willy Tarreau <w@1wt.eu> 1558809113 +0200
encoding latin1

OPTIM: freq-ctr: don't take the date lock for most updates

It's amazing that the value was still incremented under the date lock,
let's first use an atomic increment for the counter and move it out of
the date lock to reduce contention. These are just counters, we don't
need to take locks if we're not rotating, atomic ops are enough. This
patch does this, and leaves the lock for when the period is over. It's
important to note that some values might be added just before or just
after a rotation but this is not a problem since we don't care if a
value is counted in the previous or next period when it's exactly on
the edge. Great care was taken to ensure that the current counter is
always atomically updated.

Other minor cleanups were performed, such as avoiding to reload the
value from memory after a CAS, or using &~1 instead of two shifts to
remove the lowest bit.
