lock contention tracking -v2
Get series with b4
b4 am [email protected]Versions newest first
- v1 Latest7 patches 8 repliesIn review
Patches in v1 No applies recorded yet
| # | Subject and files | Size | Replies | Applied |
|---|---|---|---|---|
| 1/7 | fix raw_spinlock_t vs lockdepinclude/ include/ | +3 | 0 replies | |
| 2/7 | lockdep: isolate lock graph walkingkernel/ | +14 | 0 replies | |
| 3/7 | lockdep: lock contention trackinginclude/ kernel/ kernel/ +4 more | +245 | 5 replies | |
| 4/7 | lockdep: add waittime to the lock statisticsinclude/ kernel/ kernel/ +1 more | +179 | 0 replies | |
| 5/7 | lockdep: add holdtime to the lock statisticsinclude/ kernel/ kernel/ | +91 | 0 replies | |
| 6/7 | lockdep: runtime configure prove_locking and lock_statkernel/ kernel/ | +54 | 0 replies | |
| 7/7 | lockdep: scalable statisticsinclude/ kernel/ kernel/ | +178 | 0 replies |
Reviews trailers per patch
1 of 7 patches has a Reviewed-by or Acked-by of their own; the series has one for all of them.
| Patch | Ingo Molnar | Jason Baron |
|---|---|---|
| Series | A-b | |
| 1/7 | ||
| 2/7 | ||
| 3/7 | A-b | |
| 4/7 | ||
| 5/7 | ||
| 6/7 | ||
| 7/7 |
Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes.
Cover letter [PATCH 0/7] lock contention tracking -v2
Use the lockdep infrastructure to track lock contention and other lock statistics.
It tracks lock contention events, and the first four unique call-sites that encountered contention.
It also measures lock wait-time and hold-time in nanoseconds. The minimum and maximum times are tracked, as well as a total (which together with the number of event can give the avg).
All statistics are done per lock class, per write (exclusive state) and per read (shared state).
The statistics are collected per-cpu, so that the collection overhead is minimized via having no global cachemisses.
This new lock statistics feature is independent of the lock dependency checking traditionally done by lockdep; it just shares the lock tracking code. It is also possible to enable both and runtime disabled either component - thereby avoiding the O(n^2) lock chain walks for instance.
TODO:
- create new output format