linux/include/trace
Arjan van de Ven e36c886a0f workqueue: Add basic tracepoints to track workqueue execution
With the introduction of the new unified work queue thread pools,
we lost one feature: It's no longer possible to know which worker
is causing the CPU to wake out of idle. The result is that PowerTOP
now reports a lot of "kworker/a:b" instead of more readable results.

This patch adds a pair of tracepoints to the new workqueue code,
similar in style to the timer/hrtimer tracepoints.

With this pair of tracepoints, the next PowerTOP can correctly
report which work item caused the wakeup (and how long it took):

Interrupt (43)            i915      time   3.51ms    wakeups 141
Work      ieee80211_iface_work      time   0.81ms    wakeups  29
Work              do_dbs_timer      time   0.55ms    wakeups  24
Process                   Xorg      time  21.36ms    wakeups   4
Timer    sched_rt_period_timer      time   0.01ms    wakeups   1

Signed-off-by: Arjan van de Ven <arjan@linux.intel.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2010-08-21 13:19:37 -07:00
..
events workqueue: Add basic tracepoints to track workqueue execution 2010-08-21 13:19:37 -07:00
define_trace.h tracing: Fix tracepoint.h DECLARE_TRACE() to allow more than one header 2010-05-05 11:46:17 -04:00
ftrace.h tracing: Drop cpparg() macro 2010-08-02 01:31:28 +02:00
syscall.h tracing: Use a global field list for all syscall exit events 2010-06-28 17:12:44 -04:00