linux/tools/perf
David Ahern c30d630d1b perf sched timehist: Add support for filtering on CPU
Allow user to limit output to one or more CPUs. Really helpful on
systems with a large number of cpus.

Committer testing:

  # perf sched record -a sleep 1
  [ perf record: Woken up 1 times to write data ]
  [ perf record: Captured and wrote 1.765 MB perf.data (1412 samples) ]
  [root@quaco ~]# perf sched timehist | head
  Samples do not have callchains.
             time    cpu  task name                       wait time  sch delay   run time
                          [tid/pid]                          (msec)     (msec)     (msec)
  --------------- ------  ------------------------------  ---------  ---------  ---------
     66307.802686 [0000]  perf[13086]                         0.000      0.000      0.000
     66307.802700 [0000]  migration/0[12]                     0.000      0.001      0.014
     66307.802766 [0001]  perf[13086]                         0.000      0.000      0.000
     66307.802774 [0001]  migration/1[15]                     0.000      0.001      0.007
     66307.802841 [0002]  perf[13086]                         0.000      0.000      0.000
     66307.802849 [0002]  migration/2[20]                     0.000      0.001      0.008
     66307.802913 [0003]  perf[13086]                         0.000      0.000      0.000
  #
  # perf sched timehist --cpu 2 | head
  Samples do not have callchains.
             time    cpu  task name                       wait time  sch delay   run time
                          [tid/pid]                          (msec)     (msec)     (msec)
  --------------- ------  ------------------------------  ---------  ---------  ---------
     66307.802841 [0002]  perf[13086]                         0.000      0.000      0.000
     66307.802849 [0002]  migration/2[20]                     0.000      0.001      0.008
     66307.964485 [0002]  <idle>                              0.000      0.000    161.635
     66307.964811 [0002]  CPU 0/KVM[3589/3561]                0.000      0.056      0.325
     66307.965477 [0002]  <idle>                              0.325      0.000      0.666
     66307.965553 [0002]  CPU 0/KVM[3589/3561]                0.666      0.024      0.076
     66307.966456 [0002]  <idle>                              0.076      0.000      0.903
  #

Signed-off-by: David Ahern <dsahern@gmail.com>
Tested-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Cc: Jiri Olsa <jolsa@kernel.org>
Cc: Namhyung Kim <namhyung@kernel.org>
Link: http://lore.kernel.org/lkml/20191204173925.66976-1-dsahern@kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
2020-01-06 11:46:09 -03:00
..
arch perf bench: Update the copies of x86's mem{cpy,set}_64.S 2019-12-02 11:40:57 -03:00
bench
Documentation perf sched timehist: Add support for filtering on CPU 2020-01-06 11:46:09 -03:00
examples/bpf
include/bpf
jvmti perf jvmti: Link against tools/lib/ctype.h to have weak strlcpy() 2019-10-15 11:47:38 -03:00
lib perf evsel: Add functions to enable/disable for a specific CPU 2019-11-29 12:20:45 -03:00
pmu-events perf vendor events s390: Remove name from L1D_RO_EXCL_WRITES description 2019-12-16 13:40:26 -03:00
python
scripts perf scripts python: exported-sql-viewer.py: Fix use of TRUE with SQLite 2019-11-13 09:13:16 -03:00
tests perf jit: Move test functionality in to a test 2019-11-29 12:20:45 -03:00
trace perf beauty: Add CLEAR_SIGHAND support for clone's flags arg 2019-12-02 15:19:52 -03:00
ui perf maps: Rename map_groups.h to maps.h 2019-11-26 11:07:46 -03:00
util perf record: Adapt affinity to machines with #CPUs > 1K 2020-01-06 11:46:09 -03:00
.gitignore
Build
builtin-annotate.c pref tools: Make 'struct addr_map_symbol' contain 'struct map_symbol' 2019-11-12 08:20:53 -03:00
builtin-bench.c
builtin-buildid-cache.c
builtin-buildid-list.c
builtin-c2c.c perf c2c: Fix memory leak in build_cl_output() 2019-10-15 12:08:13 -03:00
builtin-config.c
builtin-data.c
builtin-diff.c perf diff: Use llabs() with 64-bit values 2019-11-28 08:08:38 -03:00
builtin-evlist.c perf evsel: Introduce evsel_fprintf.h 2019-09-25 16:26:34 -03:00
builtin-ftrace.c
builtin-help.c
builtin-inject.c perf inject: Fix processing of ID index for injected instruction tracing 2019-12-04 12:39:53 -03:00
builtin-kallsyms.c
builtin-kmem.c perf callchain: Use 'struct map_symbol' in 'struct callchain_cursor_node' 2019-11-12 08:20:53 -03:00
builtin-kvm.c perf kvm: Use evlist layer api when possible 2019-11-06 15:43:05 -03:00
builtin-list.c perf list: Hide deprecated events by default 2019-10-19 15:35:01 -03:00
builtin-lock.c
builtin-mem.c
builtin-probe.c
builtin-record.c perf record: Adapt affinity to machines with #CPUs > 1K 2020-01-06 11:46:09 -03:00
builtin-report.c perf report: Fix incorrectly added dimensions as switch perf data file 2019-12-20 18:49:27 -03:00
builtin-sched.c perf sched timehist: Add support for filtering on CPU 2020-01-06 11:46:09 -03:00
builtin-script.c perf script: Fix invalid LBR/binary mismatch error 2019-11-28 08:08:38 -03:00
builtin-stat.c perf stat: Use affinity for reading 2019-11-29 12:20:45 -03:00
builtin-timechart.c
builtin-top.c perf top: Do not bail out when perf_env__read_cpuid() returns ENOSYS 2019-12-11 12:26:25 -03:00
builtin-trace.c perf parse: Report initial event parsing error 2019-11-18 19:14:29 -03:00
builtin-version.c
builtin.h
check-headers.sh perf bench: Update the copies of x86's mem{cpy,set}_64.S 2019-12-02 11:40:57 -03:00
command-list.txt
CREDITS
design.txt
Makefile
Makefile.config perf tools: Allow to link with libbpf dynamicaly 2019-11-26 11:17:45 -03:00
Makefile.perf perf tools: Allow to link with libbpf dynamicaly 2019-11-26 11:17:45 -03:00
MANIFEST libbpf: Fix up generation of bpf_helper_defs.h 2019-11-27 16:52:31 -08:00
perf-archive.sh
perf-completion.sh
perf-read-vdso.c
perf-sys.h perf tools: Make usage of test_attr__* optional for perf-sys.h 2019-10-31 21:38:41 +01:00
perf-with-kcore.sh
perf.c libperf: Merge libperf_set_print() into libperf_init() 2019-09-25 09:51:49 -03:00
perf.h