Re: [RFC v3 01/17] perf kwork: New tool

From: Yang Jihong
Date: Thu Jul 28 2022 - 07:49:03 EST


Hello Namhyung,

On 2022/7/28 7:33, Namhyung Kim wrote:
Hello,

On Fri, Jul 8, 2022 at 6:53 PM Yang Jihong <yangjihong1@xxxxxxxxxx> wrote:

The perf-kwork tool is used to trace time properties of kernel work
(such as irq, softirq, and workqueue), including runtime, latency,
and timehist, using the infrastructure in the perf tools to allow
tracing extra targets.

This is the first commit to reuse perf_record framework code to
implement a simple record function, kwork is not supported currently.

Test cases:

# perf

usage: perf [--version] [--help] [OPTIONS] COMMAND [ARGS]

The most commonly used perf commands are:
<SNIP>
iostat Show I/O performance metrics
kallsyms Searches running kernel for symbols
kmem Tool to trace/measure kernel memory properties
kvm Tool to trace/measure kvm guest os
kwork Tool to trace/measure kernel work properties (latencies)
list List all symbolic event types
lock Analyze lock events
mem Profile memory accesses
record Run a command and record its profile into perf.data
<SNIP>
See 'perf help COMMAND' for more information on a specific command.

# perf kwork

Usage: perf kwork [<options>] {record}

-D, --dump-raw-trace dump raw trace in ASCII
-f, --force don't complain, do it
-k, --kwork <kwork> list of kwork to profile
-v, --verbose be more verbose (show symbol address, etc)

# perf kwork record -- sleep 1
[ perf record: Woken up 0 times to write data ]
[ perf record: Captured and wrote 1.787 MB perf.data ]

Signed-off-by: Yang Jihong <yangjihong1@xxxxxxxxxx>
---
[SNIP]
+
+static int perf_kwork__record(struct perf_kwork *kwork,
+ int argc, const char **argv)
+{
+ const char **rec_argv;
+ unsigned int rec_argc, i, j;
+ struct kwork_class *class;
+
+ const char *const record_args[] = {
+ "record",
+ "-a",
+ "-R",
+ "-m", "1024",
+ "-c", "1",

Please consider adding '--synth task' to skip costly synthesis
if you don't need user space symbols.

Yes, we don't need user space symbols now, I'll add this option in next fix patch,thanks for your suggestion.

Regards,
Jihong
.