mariadb/storage/innobase/sync
Krunal Bauskar dcb0bd59ce MDEV-22544: Inconsistent and Incorrect rw-lock stats
- There are multiple inconsistency and incorrect way in which rw-lock
  stats are calculated.

- shared rw-lock stats:
  "rounds" counter is incremented only once for N rounds done
  in spin-cycle.

- all rw-lock stats:
  If the spin-cycle is short-circuited then attempts are re-counted.
  [If spin-cycle is interrupted, before it completes
   srv_n_spin_wait_rounds (default 30) rounds, spin_count is incremented
   to consider this. If thread resumes spin-cycle (due to unavailability
   of the locks) and is again interrupted or completed, spin_count
   is again incremented with the total count, failing to adjust the
   previous attempt increment].

- s/x rw-lock stats:
  spin_loop counter is not incremented at-all instead it is projected
  as 0 (in show engine output) and division to calculate spin-round per
  spin-loop is adjusted.
  As per the original semantics spin_loop counter should be incremented
  once per spin_loop execution.

- sx rw-lock stats:
  sx locks increments spin_loop counter but instead of incrementing it
  once for a spin_loop invocation it does it multiple times based on how
  many time spin_loop flow is repeated for same instance post os-wait.
2020-05-14 15:27:15 +08:00
..
sync0arr.cc Merge 10.1 into 10.2 2019-07-25 12:14:27 +03:00
sync0debug.cc MDEV-22523 index->rtr_ssn.mutex is wasting memory 2020-05-11 14:23:37 +03:00
sync0rw.cc MDEV-22544: Inconsistent and Incorrect rw-lock stats 2020-05-14 15:27:15 +08:00
sync0sync.cc MDEV-22523 index->rtr_ssn.mutex is wasting memory 2020-05-11 14:23:37 +03:00