Re: [PATCH 0/4] workqueue_trace: Add max execution time mesurementfor per worklet

From: Andrew Morton
Date: Wed Apr 29 2009 - 03:12:48 EST


On Tue, 28 Apr 2009 18:51:33 +0800 Zhaolei <zhaolei@xxxxxxxxxxxxxx> wrote:

> Hi,
>
> This patch add max execution time mesurement for per worklet.
> It is useful for driver-developer and system administrator to
> know which worklet runs how many time.

This seems more useful than the previous feature.

> It need applied on top of patchset of:
> workqueue_tracepoint: Add worklet tracepoints for worklet lifecycle tracing
>
> Output is like:
> # CPU INSERTED EXECUTED M_EXECus TASKNAME:PID
> # | | | | `-WORKFUNC
> # | | | | |
> 0 905 973 events/0:5
> 0 1 1 37 |-reg_todo+0x0/0x41f
> 0 13 12 2033 |-rt_worker_func+0x0/0x219
> 0 49 48 3157 |-mce_work_fn+0x0/0x31
> 0 14 13 939 |-check_corruption+0x0/0x2a
> 0 707 706 3826 |-vmstat_update+0x0/0x33
> 0 1 1 1846 |-power_supply_changed_work+0x0/0x3c
> 0 11 11 2879 |-console_callback+0x0/0xe1
> 0 30 29 1579 |-do_cache_clean+0x0/0x37
> 0 74 74 2841 |-test_work+0x0/0x53
> 0 3 2 252 |-rekey_seq_generator+0x0/0x5a
> 0 1 1 21 |-grace_ender+0x0/0x14
> 0 1 1 3701 `-flush_to_ldisc+0x0/0x15d
> 0 0 0 cpuset:6
> 0 658 658 khelper:7
> 0 658 658 5735 `-__call_usermodehelper+0x0/0x77
> 0 0 0 netns:11

What is the meaning of M_EXECus? Mean execution time in microseconds,
I assume? I wonder if that is sufficiently high resolution nowadays.

You'll note that all the functions are reported as "foo+0x0/0xN".
There is a way of suppressing the unneeded and unuseful "+0x0/0xN",
but I forget what it is and the comments over lib/vsprintf.c:pointer()
didn't help. I think it's %pS.

The patchset adds no user documentation for the feature and should not
(IMO) be merged in such a state. Please.

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