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

From: Changbin Du
Date: Thu Jul 27 2023 - 04:47:33 EST


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(-)

--
2.25.1