Re: [PATCH] workqueue: Add basic tracepoints to track workqueueexecution

From: Frederic Weisbecker
Date: Sat Aug 21 2010 - 23:22:23 EST


On Sat, Aug 21, 2010 at 01:14:02PM -0700, Arjan van de Ven wrote:
>
> From: Arjan van de Ven <arjan@xxxxxxxxxxxxxxx>
> Date: Sat, 21 Aug 2010 13:07:26 -0700
> Subject: [PATCH] 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@xxxxxxxxxxxxxxx>



Acked-by: Frederic Weisbecker <fweisbec@xxxxxxxxx>


If that broke a userspace tool, should that perhaps go to .36 ?
I know it's a big patch, but in fact it's more a semi-revert of
the workqueue tracepoints removal.

It's my bad in fact: I suggested Tejun not to bother with workqueue
tracepoints yet and to drop the previous ones for now. The previous ones were
placed to observe problems specific to the purely serialized design they
had. I thought cmwq would need other tracepoints.

In fact I thought no tools were using these tracepoints. Bad assumption...

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/