Tejun Heo
03da0a42ea
cgroup: make perf_event controller work on cgroup2 hierarchy
...
perf_event is a utility controller whose primary role is identifying
cgroup membership to filter perf events; however, because it also
tracks some per-css state, it can't be replaced by pure cgroup
membership test. Mark the controller as implicitly enabled on the
default hierarchy so that perf events can always be filtered based on
cgroup v2 path as long as the controller is not mounted on a legacy
hierarchy.
"perf record" is updated accordingly so that it searches for both v1
and v2 hierarchies. A v1 hierarchy is used if perf_event is mounted
on it; otherwise, it uses the v2 hierarchy.
v2: Doc updated to reflect more flexible rebinding behavior.
Signed-off-by: Tejun Heo <tj@kernel.org>
Acked-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: Arnaldo Carvalho de Melo <acme@kernel.org>
Signed-off-by: Sorayukii <sorayukii69@gmail.com>
2026-05-15 17:50:32 +07:00
..
include
perf probe: Support probing on offline cross-arch binary
2016-09-01 12:41:09 -03:00
intel-pt-decoder
perf intel-pt: Fix missing CYC processing in PSB
2021-03-03 17:44:38 +01:00
libunwind
perf unwind: Fix wrongly used regs for aarch64 unwind
2016-06-23 10:30:31 -03:00
scripting-engines
perf scripting perl: Fix compile error with some perl5 versions
2017-07-15 12:16:14 +02:00
alias.c
perf tools: Remove needless includes from cache.h
2016-07-12 15:19:58 -03:00
annotate.c
perf annotate: Use asprintf when formatting objdump command line
2020-07-31 16:44:07 +02:00
annotate.h
perf annotate: Pass the symbol's map/dso to the instruction parsers
2016-09-20 12:28:29 -03:00
auxtrace.c
perf auxtrace: Fix auxtrace queue conflict
2021-03-30 14:41:41 +02:00
auxtrace.h
perf auxtrace: Define auxtrace record alignment
2019-03-23 13:19:53 +01:00
block-range.c
perf annotate: Add branch stack / basic block
2016-09-08 13:44:03 -03:00
block-range.h
perf annotate: Add branch stack / basic block
2016-09-08 13:44:03 -03:00
bpf-loader.c
perf bpf: Fix typo: "ehough" -> "enough"
2016-08-23 17:06:39 -03:00
bpf-loader.h
perf bpf: Rename bpf__foreach_tev() to bpf__foreach_event()
2016-07-13 23:09:03 -03:00
bpf-prologue.c
bpf-prologue.h
Build
perf jit: Enable jitdump support without dwarf
2017-01-26 08:24:36 +01:00
build-id.c
perf build-id: Fix memory leak in print_sdt_events()
2019-04-20 09:07:48 +02:00
build-id.h
perf probe: Support @BUILDID or @FILE suffix for SDT events
2016-07-13 23:09:08 -03:00
cache.h
perf tools: Remove needless includes from cache.h
2016-07-12 15:19:58 -03:00
call-path.c
perf tools: Refactor code to move call path handling out of thread-stack
2016-05-06 13:00:43 -03:00
call-path.h
perf tools: Refactor code to move call path handling out of thread-stack
2016-05-06 13:00:43 -03:00
callchain.c
perf callchain: Reference count maps
2017-03-12 06:41:47 +01:00
callchain.h
perf callchain: Reference count maps
2017-03-12 06:41:47 +01:00
cgroup.c
cgroup: make perf_event controller work on cgroup2 hierarchy
2026-05-15 17:50:32 +07:00
cgroup.h
perf tools: Remove needless 'extern' from function prototypes
2016-03-23 15:06:35 -03:00
cloexec.c
perf tools: Introduce weak alternative to sched_getcpu()
2016-07-12 15:20:34 -03:00
cloexec.h
perf tools: Remove needless 'extern' from function prototypes
2016-03-23 15:06:35 -03:00
color.c
perf tools: Uninline scnprintf() and vscnprint()
2016-07-12 15:20:24 -03:00
color.h
comm.c
comm.h
config.c
perf config: Fix a memory leak in collect_config()
2019-04-20 09:07:48 +02:00
config.h
perf config: Introduce new init() and exit()
2016-06-23 17:20:04 -03:00
counts.c
counts.h
cpumap.c
perf tools: Handle TOPOLOGY headers with no CPU
2019-03-13 14:04:55 -07:00
cpumap.h
perf cpu_map: Add more helpers
2016-07-18 19:42:47 -03:00
cs-etm.h
perf tools: Add coresight etm PMU record capabilities
2016-09-22 12:19:40 -03:00
ctype.c
perf ui/stdio: Align column header for hierarchy output
2016-02-24 20:21:12 -03:00
data-convert-bt.c
perf data: Fix 'strncat may truncate' build failure with recent gcc
2019-06-22 08:17:23 +02:00
data-convert-bt.h
perf data ctf: Pass convert options through opts structure
2016-06-28 10:54:55 -03:00
data-convert.h
perf data ctf: Add 'all' option
2016-06-28 10:54:56 -03:00
data.c
tools: Introduce str_error_r()
2016-07-12 15:19:47 -03:00
data.h
perf data: Add perf_data_file__switch() helper
2016-04-14 08:57:54 -03:00
db-export.c
perf thread: Adopt get_main_thread from db-export.c
2016-05-30 12:41:43 -03:00
db-export.h
perf script: Add call path id to exported sample in db export
2016-05-06 13:00:53 -03:00
debug.c
tools: Introduce tools/include/linux/time64.h for *SEC_PER_*SEC macros
2016-08-23 15:37:33 -03:00
debug.h
tools: Introduce str_error_r()
2016-07-12 15:19:47 -03:00
demangle-java.c
perf symbols: add Java demangling support
2016-02-05 09:46:45 -03:00
demangle-java.h
perf symbols: add Java demangling support
2016-02-05 09:46:45 -03:00
demangle-rust.c
perf symbols: Add Rust demangling
2016-07-12 16:12:38 -03:00
demangle-rust.h
perf symbols: Add Rust demangling
2016-07-12 16:12:38 -03:00
drv_configs.c
perf pmu: Push configuration down to PMU driver
2016-09-22 12:19:41 -03:00
drv_configs.h
perf pmu: Push configuration down to PMU driver
2016-09-22 12:19:41 -03:00
dso.c
perf symbols: Fix debuginfo search for Ubuntu
2020-06-20 10:24:22 +02:00
dso.h
perf symbols: Fix debuginfo search for Ubuntu
2020-06-20 10:24:22 +02:00
dwarf-aux.c
perf probe: Fix to die_entrypc() returns error correctly
2020-12-02 08:31:28 +01:00
dwarf-aux.h
perf probe: Fix to show function entry line as probe-able
2020-01-04 13:40:28 +01:00
dwarf-regs.c
perf probe: Support probing on offline cross-arch binary
2016-09-01 12:41:09 -03:00
env.c
perf header: Transform nodes string info to struct
2016-07-04 19:39:01 -03:00
env.h
perf header: Transform nodes string info to struct
2016-07-04 19:39:01 -03:00
event.c
perf tools: Fix DSO filtering when not finding a map for a sampled address
2021-03-03 17:44:38 +01:00
event.h
Revert "perf tools: event.h needs asm/perf_regs.h"
2016-07-25 11:58:56 -03:00
evlist.c
perf tools: Experiment with cppcheck
2016-10-03 11:24:13 -03:00
evlist.h
perf evlist: Make {pause,resume} internal helpers
2016-07-15 17:27:50 -03:00
evsel.c
perf evsel: Make perf_evsel__name() accept a NULL argument
2019-08-04 09:33:20 +02:00
evsel.h
perf evsel: Add support for address filters
2016-09-29 11:16:59 -03:00
evsel_fprintf.c
perf script: Fix vanished idle symbols
2016-09-29 11:17:00 -03:00
find-vdso-map.c
genelf.c
perf jit: Enable jitdump support without dwarf
2017-01-26 08:24:36 +01:00
genelf.h
perf jit: Enable jitdump support without dwarf
2017-01-26 08:24:36 +01:00
genelf_debug.c
perf jit: add source line info support
2016-02-05 12:33:09 -03:00
generate-cmdlist.sh
group.h
perf stat: Basic support for TopDown in perf stat
2016-06-06 17:04:15 -03:00
header.c
perf tools: Fix segfault in cpu_cache_level__read()
2019-10-17 13:42:15 -07:00
header.h
perf pmu: Use pmu_events table to create aliases
2016-10-03 19:58:00 -03:00
help-unknown-cmd.c
perf tools: Uninline scnprintf() and vscnprint()
2016-07-12 15:20:24 -03:00
help-unknown-cmd.h
hist.c
perf tools: Fix time sorting
2019-11-12 19:15:43 +01:00
hist.h
perf hists: Fix variable name's inconsistency in hists__for_each() macro
2020-01-23 08:19:40 +01:00
intel-bts.c
perf symbols: Remove symbol_filter_t machinery
2016-09-05 11:14:50 -03:00
intel-bts.h
intel-pt.c
perf intel-pt: Fix segfault in intel_pt_print_info() with uClibc
2022-10-26 13:15:48 +02:00
intel-pt.h
perf intel-pt: Record address filter in AUXTRACE_INFO event
2016-09-29 11:17:05 -03:00
intlist.c
intlist.h
perf intlist: Rename for_each() macros to for_each_entry()
2016-06-23 11:39:19 -03:00
jit.h
perf tools: Remove needless 'extern' from function prototypes
2016-03-23 15:06:35 -03:00
jitdump.c
perf inject jit: Fix JIT_CODE_MOVE filename
2019-10-17 13:42:43 -07:00
jitdump.h
perf jit: Add support for using TSC as a timestamp
2016-04-01 18:42:55 -03:00
kvm-stat.h
perf kvm/powerpc: Port perf kvm stat to powerpc
2016-01-29 17:49:54 -03:00
levenshtein.c
perf tools: Remove needless includes from cache.h
2016-07-12 15:19:58 -03:00
levenshtein.h
llvm-utils.c
perf llvm: Don't access out-of-scope array
2019-10-17 13:42:42 -07:00
llvm-utils.h
perf llvm: Allow dump llvm output object file using llvm.dump-obj
2016-06-21 13:18:34 -03:00
lzma.c
perf lzma: Close lzma stream on exit
2021-07-28 09:14:27 +02:00
machine.c
perf record: Fix module size on s390
2019-08-25 10:51:21 +02:00
machine.h
perf record: Fix module size on s390
2019-08-25 10:51:21 +02:00
map.c
perf map: Tighten snprintf() string precision to pass gcc check on some 32-bit arches
2021-04-16 11:59:12 +02:00
map.h
perf symbols: Remove symbol_filter_t machinery
2016-09-05 11:14:50 -03:00
mem-events.c
perf mem: Add --ldlat option
2016-06-15 10:35:27 -03:00
mem-events.h
perf mem: Add --ldlat option
2016-06-15 10:35:27 -03:00
ordered-events.c
perf inject: Copy events when reordering events in pipe mode
2018-03-22 09:17:51 +01:00
ordered-events.h
perf ordered_events: Introduce reinit()
2016-04-14 08:57:54 -03:00
parse-branch-options.c
parse-branch-options.h
parse-events.c
perf tools: Fix snprint warnings for gcc 8
2020-07-31 16:44:07 +02:00
parse-events.h
perf list: Support long jevents descriptions
2016-10-03 21:35:47 -03:00
parse-events.l
perf jevents: Handle events including .c and .o
2016-10-17 11:24:18 -03:00
parse-events.y
perf tools: Fix pmu events parsing rule
2018-08-03 07:55:13 +02:00
parse-regs-options.c
perf record: Fix memory leak when using '--user-regs=?' to list registers
2020-12-29 13:45:01 +01:00
parse-regs-options.h
path.c
perf tools: Remove needless includes from cache.h
2016-07-12 15:19:58 -03:00
PERF-VERSION-GEN
perf_regs.c
perf tools: Fix perf regs mask generation
2016-05-11 21:54:06 +10:00
perf_regs.h
perf regs: Make perf_reg_name() return "unknown" instead of NULL
2020-01-04 13:41:02 +01:00
pmu.c
perf test: Free formats for perf pmu parse test
2020-09-23 08:46:15 +02:00
pmu.h
perf test: Free formats for perf pmu parse test
2020-09-23 08:46:15 +02:00
pmu.l
pmu.y
probe-event.c
perf probe: Fix to check blacklist address correctly
2020-07-31 16:44:07 +02:00
probe-event.h
perf probe: Add helper function to check if probe with variable
2016-09-01 12:42:25 -03:00
probe-file.c
perf probe-file: Delete namelist in del_events() on the error path
2021-07-28 09:14:27 +02:00
probe-file.h
perf probe: Add supported for type casting by the running kernel
2016-08-23 17:03:31 -03:00
probe-finder.c
perf probe: Fix memory leakage when the probe point is not found
2020-08-26 10:29:03 +02:00
probe-finder.h
perf probe: Fix to probe on gcc generated functions in modules
2017-07-05 14:40:27 +02:00
pstack.c
pstack.h
python-ext-sources
tools lib api: Add str_error_c to libapi
2016-07-27 17:16:43 -03:00
python.c
perf tools: Make is_printable_array global
2016-07-18 19:49:47 -03:00
quote.c
perf quote: Disentangle headers
2016-07-12 15:19:55 -03:00
quote.h
perf quote: Disentangle headers
2016-07-12 15:19:55 -03:00
rb_resort.h
perf rb_resort: Rename for_each() macros to for_each_entry()
2016-06-23 11:35:07 -03:00
rblist.c
rblist.h
record.c
perf evlist: Rename for_each() macros to for_each_entry()
2016-06-23 11:26:15 -03:00
session.c
perf session: Correct buffer copying when peeking events
2021-06-16 11:36:35 +02:00
session.h
perf evsel: Move some methods from session.[ch] to evsel.[ch]
2016-04-13 10:11:52 -03:00
setup.py
tweewide: Fix most Shebang lines
2021-06-03 08:23:27 +02:00
sort.c
perf util: Fix memory leak of prefix_if_not_in
2020-10-01 20:40:14 +02:00
sort.h
perf tools: Make several sorting functions global
2016-09-22 13:08:57 -03:00
srcline.c
perf: Make perf able to build with latest libbfd
2020-07-31 16:44:07 +02:00
stat-shadow.c
perf stat: Add computation of TopDown formulas
2016-06-06 17:04:16 -03:00
stat.c
perf stat: Zero all the 'ena' and 'run' array slot stats for interval mode
2020-07-22 09:10:51 +02:00
stat.h
perf stat: Reset previous counts on repeat with interval
2019-10-17 13:42:17 -07:00
strbuf.c
perf strbuf: Remove redundant va_end() in strbuf_addv()
2020-01-04 13:41:05 +01:00
strbuf.h
perf tools: Experiment with cppcheck
2016-10-03 11:24:13 -03:00
strfilter.c
tools strfilter: Use __fallthrough
2017-07-15 12:16:12 +02:00
strfilter.h
string.c
tools string: Use __fallthrough in perf_atoll()
2017-07-15 12:16:12 +02:00
strlist.c
strlist.h
perf tools: Rename strlist_for_each() macros to for_each_entry()
2016-06-23 11:35:01 -03:00
svghelper.c
perf svghelper: Fix unchecked usage of strncpy()
2019-01-26 09:38:34 +01:00
svghelper.h
perf tools: Remove needless 'extern' from function prototypes
2016-03-23 15:06:35 -03:00
symbol-elf.c
perf kcore_copy: Do not check /proc/modules is unchanged
2022-09-28 10:55:46 +02:00
symbol-minimal.c
perf symbols: Remove symbol_filter_t machinery
2016-09-05 11:14:50 -03:00
symbol.c
perf symbols: Fix debuginfo search for Ubuntu
2020-06-20 10:24:22 +02:00
symbol.h
perf record: Fix wrong size in perf_record_mmap for last kernel module
2019-08-25 10:51:20 +02:00
symbol_fprintf.c
perf symbols: Fix dso__fprintf_symbols_by_name() to return the number of printed chars
2021-05-22 10:40:26 +02:00
syscalltbl.c
perf tools: Build syscall table .c header from kernel's syscall_64.tbl
2016-04-08 09:58:14 -03:00
syscalltbl.h
perf tools: Allow generating per-arch syscall table arrays
2016-04-08 09:58:14 -03:00
target.c
perf target: str_error_r() always returns the buffer it receives
2016-07-29 11:54:35 -03:00
target.h
term.c
term.h
thread-stack.c
perf script: Add callindent option
2016-06-23 17:04:26 -03:00
thread-stack.h
perf script: Add callindent option
2016-06-23 17:04:26 -03:00
thread.c
perf db-export: Fix thread__exec_comm()
2019-08-25 10:51:20 +02:00
thread.h
perf unwind: Move unwind__prepare_access from thread_new into thread__insert_map
2016-06-07 12:08:52 -03:00
thread_map.c
perf thread_map: Correctly size buffer used with dirent->dt_name
2017-07-15 12:16:13 +02:00
thread_map.h
perf thread_map: Make new_by_tid_str constructor public
2016-04-13 10:11:51 -03:00
tool.h
perf tools: Add time conversion event
2016-03-31 10:52:24 -03:00
top.c
top.h
perf top: Use machine->kptr_restrict_warned
2016-05-20 11:43:55 -03:00
trace-event-info.c
perf tools: Cleanup trace-event-info 'tdata' leak
2018-11-13 11:16:49 -08:00
trace-event-parse.c
trace-event-read.c
perf tools: Free temporary 'sys' string in read_event_files()
2018-11-13 11:16:49 -08:00
trace-event-scripting.c
perf scripting: Avoid leaking the scripting_context variable
2017-01-26 08:24:36 +01:00
trace-event.c
perf tools: Introduce trace_event__tp_format_id()
2016-07-12 16:14:52 -03:00
trace-event.h
perf tools: Introduce trace_event__tp_format_id()
2016-07-12 16:14:52 -03:00
trigger.h
perf tools: Fix trigger class trigger_on()
2018-03-18 11:18:50 +01:00
tsc.c
perf tools: Use 64-bit shifts with (TSC) time conversion
2016-03-08 10:11:18 +01:00
tsc.h
perf jit: Add support for using TSC as a timestamp
2016-04-01 18:42:55 -03:00
unwind-libdw.c
perf report: Include partial stacks unwound with libdw
2019-02-20 10:18:30 +01:00
unwind-libdw.h
unwind-libunwind-local.c
perf report: Fix off-by-one for non-activation frames
2018-04-13 19:48:05 +02:00
unwind-libunwind.c
perf unwind: Add initialized arg into unwind__prepare_access
2016-07-04 20:27:12 -03:00
unwind.h
perf unwind: Add initialized arg into unwind__prepare_access
2016-07-04 20:27:12 -03:00
usage.c
perf tools: Simplify die() mechanism
2016-03-23 12:32:31 -03:00
util.c
perf tools: Fix copyfile_offset update of output offset
2018-04-13 19:48:31 +02:00
util.h
perf tools: No need to include bitops.h in util.h
2019-05-31 06:48:13 -07:00
values.c
values.h
vdso.c
perf tools: Find right DSO taking into account if binary is 32 or 64-bit
2016-06-23 10:25:58 -03:00
vdso.h
xyarray.c
xyarray.h
zlib.c