Re: [PATCH v3 1/1] ftrace, workqueuetrace: Make workqueuetracepoints use TRACE_EVENT macro

From: Ingo Molnar
Date: Fri Apr 17 2009 - 09:46:38 EST



* Zhaolei <zhaolei@xxxxxxxxxxxxxx> wrote:

> +TRACE_EVENT(workqueue_insertion,
> +TRACE_EVENT(workqueue_execution,
> +TRACE_EVENT(workqueue_creation,
> +TRACE_EVENT(workqueue_destruction,

I'm missing all the worklet tracepoints i suggested. (and i think
which you had in earlier versions)

Basically, i'd suggest the following complete set of events instead:

TRACE_EVENT(workqueue_create
TRACE_EVENT(workqueue_flush /* NEW */
TRACE_EVENT(workqueue_destroy

TRACE_EVENT(worklet_enqueue /* NEW */
TRACE_EVENT(worklet_enqueue_delayed /* NEW */

TRACE_EVENT(worklet_execute /* instead of workqueue_execution */
TRACE_EVENT(worklet_complete /* NEW */

TRACE_EVENT(worklet_cancel /* NEW */

This allows the understanding of the life cycle of a workqueue and
of worklets that enter that workqueue. Note the distinction between
workqueue and worklet (work) - that is essential.

The parameters of the events are obvious, with one detail: i'd
suggest a 'cpu' parameter to the enqueue events, to allow the
mapping of the _on(..cpu) variants too.

I would not bother with schedule_on_each_cpu() instrumentation -
it's rarely used.

Ingo
--
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/