lkml.org 
[lkml]   [2022]   [Jul]   [28]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRe: [RFC v3 01/17] perf kwork: New tool
From
Date
Hello Namhyung,

On 2022/7/28 7:33, Namhyung Kim wrote:
> Hello,
>
> On Fri, Jul 8, 2022 at 6:53 PM Yang Jihong <yangjihong1@huawei.com> 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@huawei.com>
>> ---
> [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
> .
>

\
 
 \ /
  Last update: 2022-07-28 13:49    [W:0.072 / U:8.904 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site