• Yang Jihong's avatar
    perf kwork: New tool to trace time properties of kernel work (such as softirq, and workqueue) · 0f70d8e9
    Yang Jihong authored
    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 the '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: default avatarYang Jihong <yangjihong1@huawei.com>
    Tested-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
    Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
    Cc: Ingo Molnar <mingo@redhat.com>
    Cc: Jiri Olsa <jolsa@kernel.org>
    Cc: Mark Rutland <mark.rutland@arm.com>
    Cc: Namhyung Kim <namhyung@kernel.org>
    Cc: Paul Clarke <pc@us.ibm.com>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Link: https://lore.kernel.org/r/20220709015033.38326-2-yangjihong1@huawei.com
    [ Add {} for multiline if blocks ]
    Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
    0f70d8e9
builtin-kwork.c 3.83 KB