timer/trace: Improve timer tracing
authorAnna-Maria Gleixner <anna-maria@linutronix.de>
Thu, 21 Mar 2019 12:09:21 +0000 (13:09 +0100)
committerThomas Gleixner <tglx@linutronix.de>
Sun, 24 Mar 2019 19:29:33 +0000 (20:29 +0100)
commitf28d3d5346e97e60c81f933ac89ccf015430e5cf
tree64147609da31c5f0091f50e60eb3eae6f20e4438
parent6849cbb0f9a8dbc1ba56e9abc6955613103e01e3
timer/trace: Improve timer tracing

Timers are added to the timer wheel off by one. This is required in
case a timer is queued directly before incrementing jiffies to prevent
early timer expiry.

When reading a timer trace and relying only on the expiry time of the timer
in the timer_start trace point and on the now in the timer_expiry_entry
trace point, it seems that the timer fires late. With the current
timer_expiry_entry trace point information only now=jiffies is printed but
not the value of base->clk. This makes it impossible to draw a conclusion
to the index of base->clk and makes it impossible to examine timer problems
without additional trace points.

Therefore add the base->clk value to the timer_expire_entry trace
point, to be able to calculate the index the timer base is located at
during collecting expired timers.

Signed-off-by: Anna-Maria Gleixner <anna-maria@linutronix.de>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: fweisbec@gmail.com
Cc: peterz@infradead.org
Cc: Steven Rostedt <rostedt@goodmis.org>
Link: https://lkml.kernel.org/r/20190321120921.16463-5-anna-maria@linutronix.de
include/trace/events/timer.h
kernel/time/timer.c