[v4,0/4] perf: add new option '--workload-attr' to set workload sched_policy/priority/cpumask

Message ID 20230727082852.916093-1-changbin.du@huawei.com
Headers
Series perf: add new option '--workload-attr' to set workload sched_policy/priority/cpumask |

Message

Changbin Du July 27, 2023, 8:28 a.m. UTC
  This adds a new option '--workload-attr' to set the sched_policy/priority/cpumask
of the workload to reduce system noise.

$ sudo perf stat --workload-attr fifo,40,0-3:7 -- ls

Please see patch 2/4 for more details.

v4:
  - add a test case for perf-stat. (suggeted by Ian Rogers)
  - fix warning found by 0-DAY.
v3:
  - replace taskset with --workload-attr option in documents and tests.
v2:
  - Use cpu list spec instead of cpu mask number.
  - Update documents.

Changbin Du (4):
  perf cpumap: Add __perf_cpu_map__new and perf_cpu_map__2_cpuset
  perf: add new option '--workload-attr' to set workload
    sched_policy/priority/cpumask
  perf: replace taskset with --workload-attr option
  perf test: add test case for --workload-attr option

 tools/lib/perf/cpumap.c                       |  45 ++++++-
 tools/lib/perf/include/perf/cpumap.h          |   4 +
 tools/lib/perf/libperf.map                    |   2 +
 tools/perf/Documentation/intel-hybrid.txt     |   2 +-
 tools/perf/Documentation/perf-record.txt      |   7 ++
 tools/perf/Documentation/perf-stat.txt        |   8 +-
 tools/perf/builtin-record.c                   |  26 ++++
 tools/perf/builtin-stat.c                     |  18 +++
 tools/perf/tests/cpumap.c                     |  23 ++++
 tools/perf/tests/shell/stat.sh                |  19 +++
 .../tests/shell/stat_bpf_counters_cgrp.sh     |   2 +-
 tools/perf/tests/shell/test_arm_coresight.sh  |   2 +-
 tools/perf/tests/shell/test_data_symbol.sh    |   2 +-
 tools/perf/tests/shell/test_intel_pt.sh       |   2 +-
 tools/perf/util/evlist.c                      | 116 ++++++++++++++++++
 tools/perf/util/evlist.h                      |   3 +
 tools/perf/util/target.h                      |   9 ++
 17 files changed, 281 insertions(+), 9 deletions(-)