android_kernel_xiaomi_sm8450/tools/perf/util
Athira Rajeev cf4853880e perf stat: Fix printing os->prefix in CSV metrics output
[ Upstream commit ad353b710c7493df3d4fc2d3a51819126bed2e81 ]

'perf stat' with CSV output option prints an extra empty string as first
field in metrics output line.  Sample output below:

	# ./perf stat -x, --per-socket -a -C 1 ls
	S0,1,1.78,msec,cpu-clock,1785146,100.00,0.973,CPUs utilized
	S0,1,26,,context-switches,1781750,100.00,0.015,M/sec
	S0,1,1,,cpu-migrations,1780526,100.00,0.561,K/sec
	S0,1,1,,page-faults,1779060,100.00,0.561,K/sec
	S0,1,875807,,cycles,1769826,100.00,0.491,GHz
	S0,1,85281,,stalled-cycles-frontend,1767512,100.00,9.74,frontend cycles idle
	S0,1,576839,,stalled-cycles-backend,1766260,100.00,65.86,backend cycles idle
	S0,1,288430,,instructions,1762246,100.00,0.33,insn per cycle
====>	,S0,1,,,,,,,2.00,stalled cycles per insn

The above command line uses field separator as "," via "-x," option and
per-socket option displays socket value as first field. But here the
last line for "stalled cycles per insn" has "," in the beginning.

Sample output using interval mode:

	# ./perf stat -I 1000 -x, --per-socket -a -C 1 ls
	0.001813453,S0,1,1.87,msec,cpu-clock,1872052,100.00,0.002,CPUs utilized
	0.001813453,S0,1,2,,context-switches,1868028,100.00,1.070,K/sec
	------
	0.001813453,S0,1,85379,,instructions,1856754,100.00,0.32,insn per cycle
====>	0.001813453,,S0,1,,,,,,,1.34,stalled cycles per insn

Above result also has an extra CSV separator after
the timestamp. Patch addresses extra field separator
in the beginning of the metric output line.

The counter stats are displayed by function
"perf_stat__print_shadow_stats" in code
"util/stat-shadow.c". While printing the stats info
for "stalled cycles per insn", function "new_line_csv"
is used as new_line callback.

The new_line_csv function has check for "os->prefix"
and if prefix is not null, it will be printed along
with cvs separator.
Snippet from "new_line_csv":
	if (os->prefix)
               fprintf(os->fh, "%s%s", os->prefix, config->csv_sep);

Here os->prefix gets printed followed by ","
which is the cvs separator. The os->prefix is
used in interval mode option ( -I ), to print
time stamp on every new line. But prefix is
already set to contain CSV separator when used
in interval mode for CSV option.

Reference: Function "static void print_interval"
Snippet:
	sprintf(prefix, "%6lu.%09lu%s", ts->tv_sec, ts->tv_nsec, config->csv_sep);

Also if prefix is not assigned (if not used with
-I option), it gets set to empty string.
Reference: function printout() in util/stat-display.c
Snippet:
	.prefix = prefix ? prefix : "",

Since prefix already set to contain cvs_sep in interval
option, patch removes printing config->csv_sep in
new_line_csv function to avoid printing extra field.

After the patch:

	# ./perf stat -x, --per-socket -a -C 1 ls
	S0,1,2.04,msec,cpu-clock,2045202,100.00,1.013,CPUs utilized
	S0,1,2,,context-switches,2041444,100.00,979.289,/sec
	S0,1,0,,cpu-migrations,2040820,100.00,0.000,/sec
	S0,1,2,,page-faults,2040288,100.00,979.289,/sec
	S0,1,254589,,cycles,2036066,100.00,0.125,GHz
	S0,1,82481,,stalled-cycles-frontend,2032420,100.00,32.40,frontend cycles idle
	S0,1,113170,,stalled-cycles-backend,2031722,100.00,44.45,backend cycles idle
	S0,1,88766,,instructions,2030942,100.00,0.35,insn per cycle
	S0,1,,,,,,,1.27,stalled cycles per insn

Fixes: 92a61f6412 ("perf stat: Implement CSV metrics output")
Reported-by: Disha Goel <disgoel@linux.vnet.ibm.com>
Reviewed-By: Kajol Jain <kjain@linux.ibm.com>
Signed-off-by: Athira Jajeev <atrajeev@linux.vnet.ibm.com>
Tested-by: Disha Goel <disgoel@linux.vnet.ibm.com>
Cc: Andi Kleen <ak@linux.intel.com>
Cc: Ian Rogers <irogers@google.com>
Cc: James Clark <james.clark@arm.com>
Cc: Jiri Olsa <jolsa@kernel.org>
Cc: linuxppc-dev@lists.ozlabs.org
Cc: Madhavan Srinivasan <maddy@linux.vnet.ibm.com>
Cc: Michael Ellerman <mpe@ellerman.id.au>
Cc: Nageswara R Sastry <rnsastry@linux.ibm.com>
Cc: Namhyung Kim <namhyung@kernel.org>
Link: https://lore.kernel.org/r/20221018085605.63834-1-atrajeev@linux.vnet.ibm.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2022-11-16 09:57:12 +01:00
..
arm-spe-decoder perf: arm-spe: Fix check error when synthesizing events 2020-08-21 10:22:23 -03:00
c++ perf clang: Fix build with Clang 9 2020-01-14 12:02:19 -03:00
cs-etm-decoder perf: cs-etm: Update to build with latest opencsd version. 2020-05-05 16:35:32 -03:00
include tools arch: Update arch/x86/lib/mem{cpy,set}_64.S copies used in 'perf bench mem memcpy' 2020-11-12 17:55:41 -03:00
intel-pt-decoder perf intel-pt: Fix missing 'instruction' events with 'q' option 2021-12-17 10:14:42 +01:00
libunwind perf tools: Remove debug.h from places where it is not needed 2019-09-20 09:19:20 -03:00
scripting-engines perf scripting python: Fix tuple_set_u64() 2021-07-14 16:56:38 +02:00
affinity.c perf affinity: Add infrastructure to save/restore affinity 2019-11-28 08:08:38 -03:00
affinity.h perf affinity: Add infrastructure to save/restore affinity 2019-11-28 08:08:38 -03:00
annotate.c perf annotate: Fix jump parsing for C++ code. 2021-09-03 10:09:29 +02:00
annotate.h perf annotate: Fix jump parsing for C++ code. 2021-09-03 10:09:29 +02:00
archinsn.h perf script: Support insn output for normal samples 2019-03-11 11:56:02 -03:00
arm-spe.c perf inject: Fix ARM SPE handling 2021-12-08 09:03:20 +01:00
arm-spe.h
auxtrace.c perf auxtrace: Fix address filter symbol name match for modules 2022-11-03 23:57:50 +09:00
auxtrace.h perf auxtrace: Add itrace 'q' option for quicker, less detailed decoding 2020-08-06 08:24:03 -03:00
block-info.c perf report: Fix wrong LBR block sorting 2021-04-14 08:42:11 +02:00
block-info.h perf block-info: Allow selecting which columns to report and its order 2020-03-09 21:43:25 -03:00
block-range.c perf block-range: Add missing headers 2019-01-25 15:12:09 +01:00
block-range.h perf block-range: Add missing headers 2019-01-25 15:12:09 +01:00
bpf_map.c perf bpf: Add bpf_map dumper 2019-02-19 16:11:56 -03:00
bpf_map.h perf bpf: Add bpf_map dumper 2019-02-19 16:11:56 -03:00
bpf-event.c perf bpf: Avoid memory leak from perf_env__insert_btf() 2021-11-26 10:39:13 +01:00
bpf-event.h perf bpf: Decouple creating the evlist from adding the SB event 2020-05-05 16:35:29 -03:00
bpf-loader.c perf bpf: Defer freeing string after possible strlen() on it 2022-02-23 12:01:02 +01:00
bpf-loader.h perf evlist: Rename struct perf_evlist to struct evlist 2019-07-29 18:34:42 -03:00
bpf-prologue.c perf bpf: Fix bpf prologue generation 2020-06-09 12:40:04 -03:00
bpf-prologue.h
branch.c perf tools: Remove util.h from where it is not needed 2019-09-20 09:19:20 -03:00
branch.h perf branch: Replace zero-length array with flexible-array 2020-05-28 10:03:27 -03:00
Build perf tools: Fix dynamic libbpf link 2021-05-19 10:13:13 +02:00
build-id.c perf tools: Initialize output buffer in build_id__sprintf 2020-11-03 09:14:45 -03:00
build-id.h perf tools: Pass build_id object to build_id__sprintf() 2020-10-14 08:46:22 -03:00
cache.h
cacheline.c perf tools: Remove perf.h from source files not needing it 2019-08-29 17:38:32 -03:00
cacheline.h perf cacheline: Move cacheline related routines to separate files 2019-08-26 11:58:29 -03:00
call-path.c perf tools: Use list_del_init() more thorougly 2019-07-09 10:13:27 -03:00
call-path.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 288 2019-06-05 17:36:37 +02:00
callchain.c perf streams: Report hot streams 2020-10-14 13:34:26 -03:00
callchain.h perf streams: Report hot streams 2020-10-14 13:34:26 -03:00
cap.c perf tools: Add helpers to use capabilities if present 2019-08-14 10:48:39 -03:00
cap.h perf tools: Support CAP_PERFMON capability 2020-04-16 12:19:08 -03:00
cgroup.c perf tools: Allow creation of cgroup without open 2020-09-28 09:18:06 -03:00
cgroup.h perf tools: Allow creation of cgroup without open 2020-09-28 09:18:06 -03:00
clockid.c perf tools: Add clockid_name function 2020-08-06 09:33:57 -03:00
clockid.h perf tools: Add clockid_name function 2020-08-06 09:33:57 -03:00
cloexec.c perf tool: Make perf tool aware of SELinux access control 2020-05-28 10:03:26 -03:00
cloexec.h
color_config.c perf tools: Remove needless evlist.h include directives 2019-08-31 22:24:10 -03:00
color.c perf tools: Remove needless evlist.h include directives 2019-08-31 22:24:10 -03:00
color.h perf color: Add missing stdarg.g to color.h 2019-01-25 15:12:08 +01:00
comm.c tools lib: Adopt zalloc()/zfree() from tools/perf 2019-07-09 10:13:26 -03:00
comm.h perf comm: Remove needless headers from comm.h 2019-01-25 15:12:09 +01:00
compress.h perf report: Implement perf.data record decompression 2019-05-15 16:36:49 -03:00
config.c perf config: Export the perf_config_from_file() function 2020-10-13 17:03:19 -03:00
config.h perf config: Export the perf_config_from_file() function 2020-10-13 17:03:19 -03:00
copyfile.c perf tools: Fix mode setting in copyfile_mode_ns() 2019-10-15 12:05:18 -03:00
copyfile.h perf copyfile: Move copyfile routines to separate files 2019-09-25 09:51:49 -03:00
counts.c perf counts: Reset prev_raw_counts counts 2020-05-28 10:03:27 -03:00
counts.h perf counts: Reset prev_raw_counts counts 2020-05-28 10:03:27 -03:00
cpu-set-sched.h perf tools: Add fallback versions for CPU_{OR,EQUAL}() 2019-02-06 10:00:39 -03:00
cpumap.c perf cpumap: Fix snprintf overflow check 2020-03-24 10:36:00 -03:00
cpumap.h perf evsel: Add iterator to iterate over events ordered by CPU 2019-11-29 12:20:45 -03:00
cputopo.c perf cpumap: Remove needless includes from cpumap.h 2019-08-22 17:16:57 -03:00
cputopo.h perf tools: Replace zero-length array with flexible-array 2020-05-28 10:03:27 -03:00
cs-etm.c perf cs-etm: Fix corrupt data after perf inject from 2020-09-01 12:15:52 -03:00
cs-etm.h perf cs-etm: Move definition of 'traceid_list' global variable from header file 2020-05-05 16:35:32 -03:00
data-convert-bt.c perf data: Add support to store time of day in CTF data conversion 2020-08-06 09:43:37 -03:00
data-convert-bt.h
data-convert.h perf data: Add support to store time of day in CTF data conversion 2020-08-06 09:43:37 -03:00
data.c perf data: Fix double free in perf_session__delete() 2022-03-02 11:42:48 +01:00
data.h perf tools: Add missing headers needed by util/data.h 2022-06-09 10:21:04 +02:00
db-export.c perf addr_location: Rename al->mg to al->maps 2019-11-26 11:07:46 -03:00
db-export.h perf evsel: Rename struct perf_evsel to struct evsel 2019-07-29 18:34:42 -03:00
debug.c perf script: Fix hex dump character output 2022-01-27 10:54:34 +01:00
debug.h perf tool: Provide an option to print perf_event_open args and return value 2019-11-12 08:32:27 -03:00
demangle-java.c perf jvmti: Fix demangling Java symbols 2020-05-28 10:03:28 -03:00
demangle-java.h
demangle-rust.c perf tools: Remove util.h from where it is not needed 2019-09-20 09:19:20 -03:00
demangle-rust.h
dso.c perf tools: Allow build-id with trailing zeros 2021-09-26 14:08:57 +02:00
dso.h perf tools: Align buildid list output for short build ids 2020-10-14 11:28:52 -03:00
dsos.c perf tools: Fix dso_id inode generation comparison 2022-08-21 15:16:09 +02:00
dsos.h perf dso: Move dso_id from 'struct map' to 'struct dso' 2019-11-19 19:12:26 -03:00
dump-insn.c perf script: Fix LBR skid dump problems in brstackinsn 2018-12-28 16:33:02 -03:00
dump-insn.h perf script: Fix LBR skid dump problems in brstackinsn 2018-12-28 16:33:02 -03:00
dwarf-aux.c perf probe: Fix NULL pointer dereference in convert_variable_location() 2021-06-10 13:39:17 +02:00
dwarf-aux.h perf probe: Fix to show function entry line as probe-able 2019-11-06 15:43:06 -03:00
dwarf-regs.c perf tools: Remove util.h from where it is not needed 2019-09-20 09:19:20 -03:00
env.c perf bpf: Avoid memory leak from perf_env__insert_btf() 2021-11-26 10:39:13 +01:00
env.h perf bpf: Avoid memory leak from perf_env__insert_btf() 2021-11-26 10:39:13 +01:00
event.c perf tools: Fix DSO filtering when not finding a map for a sampled address 2021-03-04 11:38:03 +01:00
event.h perf script: Show text poke address symbol 2020-07-10 08:39:14 -03:00
events_stats.h perf tools: Move 'struct events_stats' and prototypes to separate header 2019-08-31 22:24:10 -03:00
evlist.c perf record: Fix continue profiling after draining the buffer 2021-03-04 11:38:09 +01:00
evlist.h perf record: Fix continue profiling after draining the buffer 2021-03-04 11:38:09 +01:00
evsel_config.h perf evsel: Rename *perf_evsel__get_config_term() & friends to evsel__env() 2020-05-28 10:03:24 -03:00
evsel_fprintf.c perf evsel: Rename perf_evsel__fprintf() to evsel__fprintf() 2020-05-28 10:03:24 -03:00
evsel_fprintf.h perf evsel: Rename perf_evsel__fprintf() to evsel__fprintf() 2020-05-28 10:03:24 -03:00
evsel.c perf evsel: Override attr->sample_period for non-libpfm4 events 2022-01-27 10:54:30 +01:00
evsel.h perf evsel: Add evsel__clone() function 2020-09-28 08:55:48 -03:00
evswitch.c perf evswitch: Add hint when not finding specified on/off events 2019-08-15 12:26:13 -03:00
evswitch.h perf evswitch: Introduce init() method to set the on/off evsels from the command line 2019-08-15 12:25:55 -03:00
expr.c perf metric: Add recursion check when processing nested metrics 2020-07-30 07:01:49 -03:00
expr.h perf metric: Add recursion check when processing nested metrics 2020-07-30 07:01:49 -03:00
expr.l perf expr: Add < and > operators 2020-06-22 16:28:09 -03:00
expr.y perf metric: Compute referenced metrics 2020-07-30 07:01:49 -03:00
find-map.c perf tools: Make find_vdso_map() more modular 2019-01-08 13:28:13 -03:00
fncache.c perf pmu: Use file system cache to optimize sysfs access 2019-11-28 08:08:38 -03:00
fncache.h perf pmu: Use file system cache to optimize sysfs access 2019-11-28 08:08:38 -03:00
genelf_debug.c perf jit: Fix inaccurate DWARF line table 2020-05-29 16:51:38 -03:00
genelf.c perf jit: Include program header in ELF files 2022-09-28 11:10:36 +02:00
genelf.h perf jit: Include program header in ELF files 2022-09-28 11:10:36 +02:00
generate-cmdlist.sh perf tools: Rename HAVE_SYSCALL_TABLE to HAVE_SYSCALL_TABLE_SUPPORT 2018-04-12 10:33:31 -03:00
get_current_dir_name.c perf tools: Fixup get_current_dir_name() compilation 2022-10-15 07:55:50 +02:00
get_current_dir_name.h perf tools: Move get_current_dir_name() cond prototype out of util.h 2019-07-09 10:13:26 -03:00
hashmap.c perf tools: Update copy of libbpf's hashmap.c 2020-11-03 08:26:55 -03:00
hashmap.h perf tools: Update copy of libbpf's hashmap.c 2020-11-27 14:19:33 -03:00
header.c perf tools: Add size to 'struct perf_record_header_build_id' 2020-10-14 11:28:12 -03:00
header.h perf header: Store clock references for -k/--clockid option 2020-08-06 09:35:06 -03:00
help-unknown-cmd.c tools lib: Adopt zalloc()/zfree() from tools/perf 2019-07-09 10:13:26 -03:00
help-unknown-cmd.h
hist.c perf evsel: Rename perf_evsel__resort*() to evsel__resort*() 2020-05-28 10:03:24 -03:00
hist.h perf hist: Fix memory leak of a perf_hpp_fmt 2021-12-08 09:03:20 +01:00
intel-bts.c perf evsel: Rename __perf_evsel__sample_size() to __evsel__sample_size() 2020-05-05 16:35:30 -03:00
intel-bts.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 288 2019-06-05 17:36:37 +02:00
intel-pt.c perf intel-pt: Fix segfault in intel_pt_print_info() with uClibc 2022-10-26 13:25:54 +02:00
intel-pt.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 288 2019-06-05 17:36:37 +02:00
intlist.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 305 2019-06-05 17:37:04 +02:00
intlist.h perf util: Use cached rbtree for rblists 2019-01-25 15:12:10 +01:00
jit.h
jitdump.c perf jit: Let convert_timestamp() to be backwards-compatible 2021-05-14 09:50:44 +02:00
jitdump.h perf tools: Replace zero-length array with flexible-array 2020-05-28 10:03:27 -03:00
kvm-stat.h perf kvm: Add arch neutral function to choose event for perf kvm record 2019-09-20 10:28:26 -03:00
levenshtein.c
levenshtein.h
llvm-utils.c perf llvm: Return -ENOMEM when asprintf() fails 2021-07-14 16:56:52 +02:00
llvm-utils.h perf tools: Remove debug.h from header files not needing it 2019-08-29 17:38:32 -03:00
lzma.c perf lzma: Close lzma stream on exit 2021-07-28 14:35:35 +02:00
machine.c perf machine: Initialize srcline string member in add_location struct 2021-09-22 12:27:57 +02:00
machine.h perf machine: Add machine__for_each_dso() function 2020-09-17 15:47:12 -03:00
map_symbol.h perf map_symbol: Rename ms->mg to ms->maps 2019-11-26 11:07:46 -03:00
map.c Revert "perf map: Fix dso->nsinfo refcounting" 2021-08-04 12:46:45 +02:00
map.h perf inject: Do not load map/dso when injecting build-id 2020-10-13 11:01:37 -03:00
maps.h perf maps: Rename map_groups.h to maps.h 2019-11-26 11:07:46 -03:00
mem2node.c perf mem2node: Avoid double free related to realloc 2020-05-05 16:35:30 -03:00
mem2node.h perf env: Remove env.h from other headers where just a fwd decl is needed 2019-08-31 19:10:40 -03:00
mem-events.c perf c2c: Fix 'perf c2c record -e list' to show the default events used 2020-05-28 10:03:25 -03:00
mem-events.h perf c2c: Fix 'perf c2c record -e list' to show the default events used 2020-05-28 10:03:25 -03:00
memswap.c
memswap.h perf memswap: Adopt 'struct u64_swap' from evsel.h 2019-09-20 09:19:22 -03:00
metricgroup.c Merge branch 'perf/urgent' into perf/core 2020-10-13 13:02:20 -03:00
metricgroup.h perf tools: Copy metric events properly when expand cgroups 2020-09-28 09:16:21 -03:00
mmap.c perf record: Fix binding of AIO user space buffers to nodes 2020-03-12 11:32:46 -03:00
mmap.h perf record: Adapt affinity to machines with #CPUs > 1K 2020-01-06 11:46:09 -03:00
namespaces.c perf tools: Move event synthesizing routines to separate .c file 2019-09-20 10:28:21 -03:00
namespaces.h perf tools: Move event synthesizing routines to separate .c file 2019-09-20 10:28:21 -03:00
ordered-events.c perf tools: Remove unneeded semicolons 2020-04-30 10:48:32 -03:00
ordered-events.h perf tools: Replace zero-length array with flexible-array 2020-05-28 10:03:27 -03:00
parse-branch-options.c perf debug: Remove needless include directives from debug.h 2019-08-31 19:10:19 -03:00
parse-branch-options.h
parse-events.c perf: Skip and warn on unknown format 'configN' attrs 2022-10-30 09:41:18 +01:00
parse-events.h perf parse-events: Reduce casts around bp_addr 2020-09-28 09:22:39 -03:00
parse-events.l perf tools: Add support for exclusive groups/events 2020-10-14 12:24:28 -03:00
parse-events.y perf parse-events: Reduce casts around bp_addr 2020-09-28 09:22:39 -03:00
parse-regs-options.c perf record: Fix memory leak when using '--user-regs=?' to list registers 2020-12-30 11:53:59 +01:00
parse-regs-options.h perf parse-regs: Split parse_regs 2019-05-15 16:36:49 -03:00
parse-sublevel-options.c perf tools: Add general function to parse sublevel options 2020-08-14 09:15:47 -03:00
parse-sublevel-options.h perf tools: Add general function to parse sublevel options 2020-08-14 09:15:47 -03:00
path.c perf tools: Remove needless evlist.h include directives 2019-08-31 22:24:10 -03:00
path.h perf tools: Remove needless evlist.h include directives 2019-08-31 22:24:10 -03:00
perf_api_probe.c perf tools: Add support for PERF_RECORD_TEXT_POKE 2020-07-10 08:20:01 -03:00
perf_api_probe.h perf tools: Add support for PERF_RECORD_TEXT_POKE 2020-07-10 08:20:01 -03:00
perf_event_attr_fprintf.c perf tools: Add support for PERF_RECORD_TEXT_POKE 2020-07-10 08:20:01 -03:00
perf_regs.c perf tools: Avoid 'sample_reg_masks' being const + weak 2019-10-10 09:29:33 -03:00
perf_regs.h perf tools: Fix arm64 build error with gcc-11 2021-09-03 10:09:29 +02:00
perf-hooks-list.h
perf-hooks.c perf tools: Remove util.h from where it is not needed 2019-09-20 09:19:20 -03:00
perf-hooks.h
PERF-VERSION-GEN perf version: Append 12 git SHA chars to the version string 2019-05-28 18:37:44 -03:00
pfm.c perf tools: Add optional support for libpfm4 2020-05-29 16:51:38 -03:00
pfm.h perf tools: Add optional support for libpfm4 2020-05-29 16:51:38 -03:00
pmu.c perf: Skip and warn on unknown format 'configN' attrs 2022-10-30 09:41:18 +01:00
pmu.h perf: Skip and warn on unknown format 'configN' attrs 2022-10-30 09:41:18 +01:00
pmu.l perf: Skip and warn on unknown format 'configN' attrs 2022-10-30 09:41:18 +01:00
pmu.y perf: Skip and warn on unknown format 'configN' attrs 2022-10-30 09:41:18 +01:00
print_binary.c perf python scripting: Fix printable strings in python3 scripts 2020-10-01 12:10:56 -03:00
print_binary.h
probe-event.c perf probe: Fix an error handling path in 'parse_perf_probe_command()' 2022-08-25 11:38:02 +02:00
probe-event.h perf probe: Trace a magic number if variable is not found 2019-11-18 19:09:23 -03:00
probe-file.c perf probe-file: Delete namelist in del_events() on the error path 2021-07-28 14:35:36 +02:00
probe-file.h perf probe: Support DW_AT_const_value constant value 2019-11-18 19:08:02 -03:00
probe-finder.c perf probe: Fix NULL pointer dereference in convert_variable_location() 2021-06-10 13:39:17 +02:00
probe-finder.h perf probe: Fall back to debuginfod query if debuginfo and source not found locally 2020-09-18 09:20:47 -03:00
pstack.c perf tools: Replace zero-length array with flexible-array 2020-05-28 10:03:27 -03:00
pstack.h
python-ext-sources perf python: Include rwsem.c in the pythong biding 2020-04-03 09:37:55 -03:00
python.c perf tools: Copy metric events properly when expand cgroups 2020-09-28 09:16:21 -03:00
rb_resort.h perf util: Use cached rbtree for rblists 2019-01-25 15:12:10 +01:00
rblist.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 305 2019-06-05 17:37:04 +02:00
rblist.h perf util: Use cached rbtree for rblists 2019-01-25 15:12:10 +01:00
record.c perf record: Support sample-read topdown metric group 2020-09-17 15:47:58 -03:00
record.h perf tools: Add FIFO file names as alternative options to --control 2020-09-04 14:38:15 -03:00
rlimit.c perf tools: Introduce rlimit__bump_memlock() helper 2019-07-09 14:59:11 -03:00
rlimit.h perf tools: Introduce rlimit__bump_memlock() helper 2019-07-09 14:59:11 -03:00
rwsem.c perf tools: Remove util.h from where it is not needed 2019-09-20 09:19:20 -03:00
rwsem.h
s390-cpumcf-kernel.h perf s390-cpumsf: Implement ->evsel_is_auxtrace() callback 2020-04-16 12:19:15 -03:00
s390-cpumsf-kernel.h perf report: Add raw report support for s390 auxiliary trace 2018-08-08 15:26:48 -03:00
s390-cpumsf.c perf auxtrace: Add option to synthesize branch stack for regular events 2020-05-05 16:35:29 -03:00
s390-cpumsf.h perf auxtrace: Support for perf report -D for s390 2018-08-03 10:34:18 -03:00
s390-sample-raw.c perf tools: Remove util.h from where it is not needed 2019-09-20 09:19:20 -03:00
sample-raw.c perf evlist: Rename struct perf_evlist to struct evlist 2019-07-29 18:34:42 -03:00
sample-raw.h perf evlist: Rename struct perf_evlist to struct evlist 2019-07-29 18:34:42 -03:00
session.c perf session: Remap buf if there is no space for event 2022-04-13 21:01:07 +02:00
session.h perf session: Add facility to peek at all events 2019-11-22 10:48:13 -03:00
setns.c perf namespaces: Move the conditional setns() prototype to namespaces.h 2019-07-09 10:13:26 -03:00
setup.py perf python: Fix probing for some clang command line options 2022-04-13 21:01:09 +02:00
sideband_evlist.c perf evsel: Rename perf_evsel__new*() to evsel__new*() 2020-05-28 10:03:24 -03:00
smt.c perf tools: Fix SMT detection fast read path 2021-12-14 11:32:42 +01:00
smt.h
sort.c perf report: Free generated help strings for sort option 2021-07-28 14:35:35 +02:00
sort.h perf report: Free generated help strings for sort option 2021-07-28 14:35:35 +02:00
spark.c perf diff: Report noisy for cycles diff 2019-10-11 10:57:00 -03:00
spark.h perf diff: Report noisy for cycles diff 2019-10-11 10:57:00 -03:00
srccode.c perf pmu: Use file system cache to optimize sysfs access 2019-11-28 08:08:38 -03:00
srccode.h perf srccode: Move struct definition from map.h to srccode.h 2019-02-06 10:00:38 -03:00
srcline.c perf: Make perf able to build with latest libbfd 2020-01-30 11:55:26 +01:00
srcline.h perf callchain: Use cached rbtrees 2019-01-25 15:12:09 +01:00
stat-display.c perf stat: Fix printing os->prefix in CSV metrics output 2022-11-16 09:57:12 +01:00
stat-shadow.c perf stat: Support new per thread TopDown metrics 2020-09-17 15:48:08 -03:00
stat.c perf stat: Support new per thread TopDown metrics 2020-09-17 15:48:08 -03:00
stat.h perf stat: Add --for-each-cgroup option 2020-09-28 09:07:08 -03:00
strbuf.c perf debug: Remove needless include directives from debug.h 2019-08-31 19:10:19 -03:00
strbuf.h
stream.c perf streams: Report hot streams 2020-10-14 13:34:26 -03:00
stream.h perf streams: Report hot streams 2020-10-14 13:34:26 -03:00
strfilter.c tools lib: Adopt zalloc()/zfree() from tools/perf 2019-07-09 10:13:26 -03:00
strfilter.h
string2.h perf string: Export asprintf__tp_filter_pids() 2019-10-15 13:03:57 -03:00
string.c tools lib: Move argv_{split,free} from tools/perf/util/ 2019-07-01 22:50:40 -03:00
strlist.c tools lib: Adopt zalloc()/zfree() from tools/perf 2019-07-09 10:13:26 -03:00
strlist.h perf util: Use cached rbtree for rblists 2019-01-25 15:12:10 +01:00
svghelper.c perf env: Remove needless cpumap.h header 2019-09-20 09:19:21 -03:00
svghelper.h perf timechart: Refactor svg_build_topology_map() 2019-08-29 17:38:31 -03:00
symbol_conf.h perf report: Allow specifying event to be used as sort key in --group output 2020-03-24 09:37:27 -03:00
symbol_fprintf.c perf symbols: Fix dso__fprintf_symbols_by_name() to return the number of printed chars 2021-05-14 09:50:28 +02:00
symbol-elf.c perf kcore_copy: Do not check /proc/modules is unchanged 2022-09-28 11:10:36 +02:00
symbol-minimal.c perf tools: Pass build_id object to dso__set_build_id() 2020-10-14 08:46:42 -03:00
symbol.c perf symbol: Remove arch__symbols__fixup_end() 2022-05-09 09:05:09 +02:00
symbol.h perf symbol: Remove arch__symbols__fixup_end() 2022-05-09 09:05:09 +02:00
symsrc.h perf symbols: Move symsrc prototypes to a separate header 2019-08-31 22:24:05 -03:00
synthetic-events.c perf synthetic events: Avoid write of uninitialized memory when generating PERF_RECORD_MMAP* records 2021-03-30 14:32:06 +02:00
synthetic-events.h perf record: Support synthesizing cgroup events 2020-04-03 09:37:55 -03:00
syscalltbl.c perf trace: Use zalloc() to make sure all fields are zeroed in the syscalltbl constructor 2020-05-29 16:50:29 -03:00
syscalltbl.h perf trace: Remove union from syscalltbl, all the fields are needed 2020-05-29 16:50:26 -03:00
target.c perf tools: Remove util.h from where it is not needed 2019-09-20 09:19:20 -03:00
target.h
term.c
term.h
thread_map.c libperf: Rename the PERF_RECORD_ structs to have a "perf" prefix 2019-08-29 08:36:12 -03:00
thread_map.h libperf: Rename the PERF_RECORD_ structs to have a "perf" prefix 2019-08-29 08:36:12 -03:00
thread-stack.c perf thread-stack: Add thread_stack__br_sample_late() 2020-05-05 16:35:29 -03:00
thread-stack.h perf thread-stack: Add thread_stack__br_sample_late() 2020-05-05 16:35:29 -03:00
thread.c perf callchain: Stitch LBR call stack 2020-04-18 09:05:01 -03:00
thread.h perf callchain: Stitch LBR call stack 2020-04-18 09:05:01 -03:00
time-utils.c perf script: Fix --reltime with --time 2019-10-15 08:36:22 -03:00
time-utils.h perf script: Fix --reltime with --time 2019-10-15 08:36:22 -03:00
tool.h perf tools: Add support for PERF_RECORD_TEXT_POKE 2020-07-10 08:20:01 -03:00
top.c perf evsel: Rename *perf_evsel__*name() to *evsel__*name() 2020-05-05 16:35:30 -03:00
top.h perf top: Move sb_evlist to 'struct perf_top' 2020-05-05 16:35:29 -03:00
topdown.c perf record: Support sample-read topdown metric group 2020-09-17 15:47:58 -03:00
topdown.h perf record: Support sample-read topdown metric group 2020-09-17 15:47:58 -03:00
trace-event-info.c perf util: Fix potential SEGFAULT in put_tracepoints_path error path 2020-05-28 10:03:27 -03:00
trace-event-parse.c perf tools: Remove unused trace_find_next_event() 2019-11-05 08:39:27 -03:00
trace-event-read.c perf traceevent: Ensure read cmdlines are null terminated. 2021-03-17 17:06:17 +01:00
trace-event-scripting.c perf tools: Remove perf.h from source files not needing it 2019-08-29 17:38:32 -03:00
trace-event.c perf tools: Remove util.h from where it is not needed 2019-09-20 09:19:20 -03:00
trace-event.h perf tools: Remove unused trace_find_next_event() 2019-11-05 08:39:27 -03:00
trigger.h perf tools: Remove debug.h from header files not needing it 2019-08-29 17:38:32 -03:00
tsc.c perf tsc: Support cap_user_time_short for event TIME_CONV 2020-09-22 13:46:40 -03:00
tsc.h perf tsc: Calculate timestamp with cap_user_time_short 2020-09-22 13:45:21 -03:00
units.c
units.h
unwind-libdw.c perf unwind: Set userdata for all __report_module() paths 2021-05-28 13:17:43 +02:00
unwind-libdw.h
unwind-libunwind-local.c perf tools: Replace zero-length array with flexible-array 2020-05-28 10:03:27 -03:00
unwind-libunwind.c perf maps: Rename 'mg' variables to 'maps' 2019-11-26 11:07:46 -03:00
unwind.h perf maps: Merge 'struct maps' with 'struct map_groups' 2019-11-26 11:07:46 -03:00
usage.c perf tools: Remove debug.h from places where it is not needed 2019-09-20 09:19:20 -03:00
util.c perf report: Fix memory leaks around perf_tip() 2021-12-08 09:03:20 +01:00
util.h perf report: Fix memory leaks around perf_tip() 2021-12-08 09:03:20 +01:00
values.c perf debug: Remove needless include directives from debug.h 2019-08-31 19:10:19 -03:00
values.h
vdso.c perf record: Fix memory leak in vDSO found using ASAN 2021-09-03 10:09:29 +02:00
vdso.h
xyarray.c tools lib: Adopt zalloc()/zfree() from tools/perf 2019-07-09 10:13:26 -03:00
zlib.c perf tools: Remove util.h from where it is not needed 2019-09-20 09:19:20 -03:00
zstd.c perf tools: Use %zd for size_t printf formats on 32-bit 2020-09-01 12:15:21 -03:00