locking: Add lock contention tracepoints
authorNamhyung Kim <namhyung@kernel.org>
Tue, 22 Mar 2022 18:57:08 +0000 (11:57 -0700)
committerPeter Zijlstra <peterz@infradead.org>
Tue, 5 Apr 2022 08:24:35 +0000 (10:24 +0200)
commit16edd9b511a13e7760ed4b92ba4e39bacda5c86f
tree00f84f1cf80f93a9ff061d3a40cab7cfeaa03d9d
parent1ee326196c66583006b0c95356a4b7dc51bf3531
locking: Add lock contention tracepoints

This adds two new lock contention tracepoints like below:

 * lock:contention_begin
 * lock:contention_end

The lock:contention_begin takes a flags argument to classify locks.  I
found it useful to identify what kind of locks it's tracing like if
it's spinning or sleeping, reader-writer lock, real-time, and per-cpu.

Move tracepoint definitions into mutex.c so that we can use them
without lockdep.

Signed-off-by: Namhyung Kim <namhyung@kernel.org>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Tested-by: Hyeonggon Yoo <42.hyeyoo@gmail.com>
Link: https://lkml.kernel.org/r/20220322185709.141236-2-namhyung@kernel.org
include/trace/events/lock.h
kernel/locking/lockdep.c
kernel/locking/mutex.c