* Peter Zijlstra <[email protected]> wrote:
> 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.
really nice changes! The wait-time and hold-time changes should make it
as capable as lockmeter and more: lockmeter only measured spinlocks,
while your approach covers all lock types (spinlocks, rwlocks and
mutexes).
The performance enhancements in -v2 should make it much more scalable
than your first version was. (in fact i think it should be completely
scalable as the statistics counters are all per-cpu, so there should be
no cacheline bouncing at all from this)
Also, you've detached it from CONFIG_PROVE_LOCKING so the
lock-dependency overhead should be gone too.
Looks really good to me!
Acked-by: Ingo Molnar <[email protected]>
Ingo
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[Index of Archives]
[Kernel Newbies]
[Netfilter]
[Bugtraq]
[Photo]
[Stuff]
[Gimp]
[Yosemite News]
[MIPS Linux]
[ARM Linux]
[Linux Security]
[Linux RAID]
[Video 4 Linux]
[Linux for the blind]
[Linux Resources]