Initial commit; kernel source import

This commit is contained in:
Nathan
2025-04-06 23:50:55 -05:00
commit 25c6d769f4
45093 changed files with 18199410 additions and 0 deletions

View File

@@ -0,0 +1,64 @@
The struct perf_event_attr test (attr tests) support
====================================================
This testing support is embedded into perf directly and is governed
by the PERF_TEST_ATTR environment variable and hook inside the
sys_perf_event_open function.
The general idea is to store 'struct perf_event_attr' details for
each event created within single perf command. Each event details
are stored into separate text file. Once perf command is finished
these files are checked for values we expect for command.
The attr tests consist of following parts:
tests/attr.c
------------
This is the sys_perf_event_open hook implementation. The hook
is triggered when the PERF_TEST_ATTR environment variable is
defined. It must contain name of existing directory with access
and write permissions.
For each sys_perf_event_open call event details are stored in
separate file. Besides 'struct perf_event_attr' values we also
store 'fd' and 'group_fd' values to allow checking for groups.
tests/attr.py
-------------
This is the python script that does all the hard work. It reads
the test definition, executes it and checks results.
tests/attr/
-----------
Directory containing all attr test definitions.
Following tests are defined (with perf commands):
perf record kill (test-record-basic)
perf record -b kill (test-record-branch-any)
perf record -j any kill (test-record-branch-filter-any)
perf record -j any_call kill (test-record-branch-filter-any_call)
perf record -j any_ret kill (test-record-branch-filter-any_ret)
perf record -j hv kill (test-record-branch-filter-hv)
perf record -j ind_call kill (test-record-branch-filter-ind_call)
perf record -j k kill (test-record-branch-filter-k)
perf record -j u kill (test-record-branch-filter-u)
perf record -c 123 kill (test-record-count)
perf record -d kill (test-record-data)
perf record -F 100 kill (test-record-freq)
perf record -g -- kill (test-record-graph-default)
perf record -g dwarf -- kill (test-record-graph-dwarf)
perf record -g fp kill (test-record-graph-fp)
perf record --group -e cycles,instructions kill (test-record-group)
perf record -e '{cycles,instructions}' kill (test-record-group1)
perf record -D kill (test-record-no-delay)
perf record -i kill (test-record-no-inherit)
perf record -n kill (test-record-no-samples)
perf record -c 100 -P kill (test-record-period)
perf record -R kill (test-record-raw)
perf stat -e cycles kill (test-stat-basic)
perf stat kill (test-stat-default)
perf stat -d kill (test-stat-detailed-1)
perf stat -dd kill (test-stat-detailed-2)
perf stat -ddd kill (test-stat-detailed-3)
perf stat --group -e cycles,instructions kill (test-stat-group)
perf stat -e '{cycles,instructions}' kill (test-stat-group1)
perf stat -i -e cycles kill (test-stat-no-inherit)

View File

@@ -0,0 +1,40 @@
[event]
fd=1
group_fd=-1
flags=0
cpu=*
type=0|1
size=96
config=0
sample_period=4000
sample_type=263
read_format=0
disabled=1
inherit=1
pinned=0
exclusive=0
exclude_user=0
exclude_kernel=0
exclude_hv=0
exclude_idle=0
mmap=1
comm=1
freq=1
inherit_stat=0
enable_on_exec=1
task=0
watermark=0
precise_ip=0
mmap_data=0
sample_id_all=1
exclude_host=0
exclude_guest=1
exclude_callchain_kernel=0
exclude_callchain_user=0
wakeup_events=0
bp_type=0
config1=0
config2=0
branch_sample_type=0
sample_regs_user=0
sample_stack_user=0

View File

@@ -0,0 +1,40 @@
[event]
fd=1
group_fd=-1
flags=0
cpu=*
type=0
size=96
config=0
sample_period=0
sample_type=0
read_format=3
disabled=1
inherit=1
pinned=0
exclusive=0
exclude_user=0
exclude_kernel=0
exclude_hv=0
exclude_idle=0
mmap=0
comm=0
freq=0
inherit_stat=0
enable_on_exec=1
task=0
watermark=0
precise_ip=0
mmap_data=0
sample_id_all=0
exclude_host=0
exclude_guest=1
exclude_callchain_kernel=0
exclude_callchain_user=0
wakeup_events=0
bp_type=0
config1=0
config2=0
branch_sample_type=0
sample_regs_user=0
sample_stack_user=0

View File

@@ -0,0 +1,13 @@
[config]
command = record
args = -C 0 kill >/dev/null 2>&1
[event:base-record]
cpu=0
# no enable on exec for CPU attached
enable_on_exec=0
# PERF_SAMPLE_IP | PERF_SAMPLE_TID PERF_SAMPLE_TIME | # PERF_SAMPLE_PERIOD
# + PERF_SAMPLE_CPU added by -C 0
sample_type=391

View File

@@ -0,0 +1,5 @@
[config]
command = record
args = kill >/dev/null 2>&1
[event:base-record]

View File

@@ -0,0 +1,8 @@
[config]
command = record
args = -b kill >/dev/null 2>&1
[event:base-record]
sample_period=4000
sample_type=2311
branch_sample_type=8

View File

@@ -0,0 +1,8 @@
[config]
command = record
args = -j any kill >/dev/null 2>&1
[event:base-record]
sample_period=4000
sample_type=2311
branch_sample_type=8

View File

@@ -0,0 +1,8 @@
[config]
command = record
args = -j any_call kill >/dev/null 2>&1
[event:base-record]
sample_period=4000
sample_type=2311
branch_sample_type=16

View File

@@ -0,0 +1,8 @@
[config]
command = record
args = -j any_ret kill >/dev/null 2>&1
[event:base-record]
sample_period=4000
sample_type=2311
branch_sample_type=32

View File

@@ -0,0 +1,8 @@
[config]
command = record
args = -j hv kill >/dev/null 2>&1
[event:base-record]
sample_period=4000
sample_type=2311
branch_sample_type=8

View File

@@ -0,0 +1,8 @@
[config]
command = record
args = -j ind_call kill >/dev/null 2>&1
[event:base-record]
sample_period=4000
sample_type=2311
branch_sample_type=64

View File

@@ -0,0 +1,8 @@
[config]
command = record
args = -j k kill >/dev/null 2>&1
[event:base-record]
sample_period=4000
sample_type=2311
branch_sample_type=8

View File

@@ -0,0 +1,8 @@
[config]
command = record
args = -j u kill >/dev/null 2>&1
[event:base-record]
sample_period=4000
sample_type=2311
branch_sample_type=8

View File

@@ -0,0 +1,8 @@
[config]
command = record
args = -c 123 kill >/dev/null 2>&1
[event:base-record]
sample_period=123
sample_type=7
freq=0

View File

@@ -0,0 +1,8 @@
[config]
command = record
args = -d kill >/dev/null 2>&1
[event:base-record]
sample_period=4000
sample_type=271
mmap_data=1

View File

@@ -0,0 +1,6 @@
[config]
command = record
args = -F 100 kill >/dev/null 2>&1
[event:base-record]
sample_period=100

View File

@@ -0,0 +1,6 @@
[config]
command = record
args = -g -- kill >/dev/null 2>&1
[event:base-record]
sample_type=295

View File

@@ -0,0 +1,10 @@
[config]
command = record
args = -g dwarf -- kill >/dev/null 2>&1
[event:base-record]
sample_type=12583
exclude_callchain_user=1
sample_stack_user=8192
# TODO different for each arch, no support for that now
sample_regs_user=*

View File

@@ -0,0 +1,6 @@
[config]
command = record
args = -g fp kill >/dev/null 2>&1
[event:base-record]
sample_type=295

View File

@@ -0,0 +1,20 @@
[config]
command = record
args = --group -e cycles,instructions kill >/dev/null 2>&1
[event-1:base-record]
fd=1
group_fd=-1
sample_type=327
read_format=4
[event-2:base-record]
fd=2
group_fd=1
config=1
sample_type=327
read_format=4
mmap=0
comm=0
enable_on_exec=0
disabled=0

View File

@@ -0,0 +1,21 @@
[config]
command = record
args = -e '{cycles,instructions}' kill >/dev/null 2>&1
[event-1:base-record]
fd=1
group_fd=-1
sample_type=327
read_format=4
[event-2:base-record]
fd=2
group_fd=1
type=0
config=1
sample_type=327
read_format=4
mmap=0
comm=0
enable_on_exec=0
disabled=0

View File

@@ -0,0 +1,9 @@
[config]
command = record
args = -D kill >/dev/null 2>&1
[event:base-record]
sample_period=4000
sample_type=263
watermark=0
wakeup_events=1

View File

@@ -0,0 +1,7 @@
[config]
command = record
args = -i kill >/dev/null 2>&1
[event:base-record]
sample_type=259
inherit=0

View File

@@ -0,0 +1,6 @@
[config]
command = record
args = -n kill >/dev/null 2>&1
[event:base-record]
sample_period=0

View File

@@ -0,0 +1,7 @@
[config]
command = record
args = -c 100 -P kill >/dev/null 2>&1
[event:base-record]
sample_period=100
freq=0

View File

@@ -0,0 +1,7 @@
[config]
command = record
args = -R kill >/dev/null 2>&1
[event:base-record]
sample_period=4000
sample_type=1415

View File

@@ -0,0 +1,9 @@
[config]
command = stat
args = -e cycles -C 0 kill >/dev/null 2>&1
ret = 1
[event:base-stat]
# events are enabled by default when attached to cpu
disabled=0
enable_on_exec=0

View File

@@ -0,0 +1,6 @@
[config]
command = stat
args = -e cycles kill >/dev/null 2>&1
ret = 1
[event:base-stat]

View File

@@ -0,0 +1,64 @@
[config]
command = stat
args = kill >/dev/null 2>&1
ret = 1
# PERF_TYPE_SOFTWARE / PERF_COUNT_SW_TASK_CLOCK
[event1:base-stat]
fd=1
type=1
config=1
# PERF_TYPE_SOFTWARE / PERF_COUNT_SW_CONTEXT_SWITCHES
[event2:base-stat]
fd=2
type=1
config=3
# PERF_TYPE_SOFTWARE / PERF_COUNT_SW_CPU_MIGRATIONS
[event3:base-stat]
fd=3
type=1
config=4
# PERF_TYPE_SOFTWARE / PERF_COUNT_SW_PAGE_FAULTS
[event4:base-stat]
fd=4
type=1
config=2
# PERF_TYPE_HARDWARE / PERF_COUNT_HW_CPU_CYCLES
[event5:base-stat]
fd=5
type=0
config=0
# PERF_TYPE_HARDWARE / PERF_COUNT_HW_STALLED_CYCLES_FRONTEND
[event6:base-stat]
fd=6
type=0
config=7
# PERF_TYPE_HARDWARE / PERF_COUNT_HW_STALLED_CYCLES_BACKEND
[event7:base-stat]
fd=7
type=0
config=8
# PERF_TYPE_HARDWARE / PERF_COUNT_HW_INSTRUCTIONS
[event8:base-stat]
fd=8
type=0
config=1
# PERF_TYPE_HARDWARE / PERF_COUNT_HW_BRANCH_INSTRUCTIONS
[event9:base-stat]
fd=9
type=0
config=4
# PERF_TYPE_HARDWARE / PERF_COUNT_HW_BRANCH_MISSES
[event10:base-stat]
fd=10
type=0
config=5

View File

@@ -0,0 +1,101 @@
[config]
command = stat
args = -d kill >/dev/null 2>&1
ret = 1
# PERF_TYPE_SOFTWARE / PERF_COUNT_SW_TASK_CLOCK
[event1:base-stat]
fd=1
type=1
config=1
# PERF_TYPE_SOFTWARE / PERF_COUNT_SW_CONTEXT_SWITCHES
[event2:base-stat]
fd=2
type=1
config=3
# PERF_TYPE_SOFTWARE / PERF_COUNT_SW_CPU_MIGRATIONS
[event3:base-stat]
fd=3
type=1
config=4
# PERF_TYPE_SOFTWARE / PERF_COUNT_SW_PAGE_FAULTS
[event4:base-stat]
fd=4
type=1
config=2
# PERF_TYPE_HARDWARE / PERF_COUNT_HW_CPU_CYCLES
[event5:base-stat]
fd=5
type=0
config=0
# PERF_TYPE_HARDWARE / PERF_COUNT_HW_STALLED_CYCLES_FRONTEND
[event6:base-stat]
fd=6
type=0
config=7
# PERF_TYPE_HARDWARE / PERF_COUNT_HW_STALLED_CYCLES_BACKEND
[event7:base-stat]
fd=7
type=0
config=8
# PERF_TYPE_HARDWARE / PERF_COUNT_HW_INSTRUCTIONS
[event8:base-stat]
fd=8
type=0
config=1
# PERF_TYPE_HARDWARE / PERF_COUNT_HW_BRANCH_INSTRUCTIONS
[event9:base-stat]
fd=9
type=0
config=4
# PERF_TYPE_HARDWARE / PERF_COUNT_HW_BRANCH_MISSES
[event10:base-stat]
fd=10
type=0
config=5
# PERF_TYPE_HW_CACHE /
# PERF_COUNT_HW_CACHE_L1D << 0 |
# (PERF_COUNT_HW_CACHE_OP_READ << 8) |
# (PERF_COUNT_HW_CACHE_RESULT_ACCESS << 16)
[event11:base-stat]
fd=11
type=3
config=0
# PERF_TYPE_HW_CACHE /
# PERF_COUNT_HW_CACHE_L1D << 0 |
# (PERF_COUNT_HW_CACHE_OP_READ << 8) |
# (PERF_COUNT_HW_CACHE_RESULT_MISS << 16)
[event12:base-stat]
fd=12
type=3
config=65536
# PERF_TYPE_HW_CACHE /
# PERF_COUNT_HW_CACHE_LL << 0 |
# (PERF_COUNT_HW_CACHE_OP_READ << 8) |
# (PERF_COUNT_HW_CACHE_RESULT_ACCESS << 16)
[event13:base-stat]
fd=13
type=3
config=2
# PERF_TYPE_HW_CACHE,
# PERF_COUNT_HW_CACHE_LL << 0 |
# (PERF_COUNT_HW_CACHE_OP_READ << 8) |
# (PERF_COUNT_HW_CACHE_RESULT_MISS << 16)
[event14:base-stat]
fd=14
type=3
config=65538

View File

@@ -0,0 +1,155 @@
[config]
command = stat
args = -dd kill >/dev/null 2>&1
ret = 1
# PERF_TYPE_SOFTWARE / PERF_COUNT_SW_TASK_CLOCK
[event1:base-stat]
fd=1
type=1
config=1
# PERF_TYPE_SOFTWARE / PERF_COUNT_SW_CONTEXT_SWITCHES
[event2:base-stat]
fd=2
type=1
config=3
# PERF_TYPE_SOFTWARE / PERF_COUNT_SW_CPU_MIGRATIONS
[event3:base-stat]
fd=3
type=1
config=4
# PERF_TYPE_SOFTWARE / PERF_COUNT_SW_PAGE_FAULTS
[event4:base-stat]
fd=4
type=1
config=2
# PERF_TYPE_HARDWARE / PERF_COUNT_HW_CPU_CYCLES
[event5:base-stat]
fd=5
type=0
config=0
# PERF_TYPE_HARDWARE / PERF_COUNT_HW_STALLED_CYCLES_FRONTEND
[event6:base-stat]
fd=6
type=0
config=7
# PERF_TYPE_HARDWARE / PERF_COUNT_HW_STALLED_CYCLES_BACKEND
[event7:base-stat]
fd=7
type=0
config=8
# PERF_TYPE_HARDWARE / PERF_COUNT_HW_INSTRUCTIONS
[event8:base-stat]
fd=8
type=0
config=1
# PERF_TYPE_HARDWARE / PERF_COUNT_HW_BRANCH_INSTRUCTIONS
[event9:base-stat]
fd=9
type=0
config=4
# PERF_TYPE_HARDWARE / PERF_COUNT_HW_BRANCH_MISSES
[event10:base-stat]
fd=10
type=0
config=5
# PERF_TYPE_HW_CACHE /
# PERF_COUNT_HW_CACHE_L1D << 0 |
# (PERF_COUNT_HW_CACHE_OP_READ << 8) |
# (PERF_COUNT_HW_CACHE_RESULT_ACCESS << 16)
[event11:base-stat]
fd=11
type=3
config=0
# PERF_TYPE_HW_CACHE /
# PERF_COUNT_HW_CACHE_L1D << 0 |
# (PERF_COUNT_HW_CACHE_OP_READ << 8) |
# (PERF_COUNT_HW_CACHE_RESULT_MISS << 16)
[event12:base-stat]
fd=12
type=3
config=65536
# PERF_TYPE_HW_CACHE /
# PERF_COUNT_HW_CACHE_LL << 0 |
# (PERF_COUNT_HW_CACHE_OP_READ << 8) |
# (PERF_COUNT_HW_CACHE_RESULT_ACCESS << 16)
[event13:base-stat]
fd=13
type=3
config=2
# PERF_TYPE_HW_CACHE,
# PERF_COUNT_HW_CACHE_LL << 0 |
# (PERF_COUNT_HW_CACHE_OP_READ << 8) |
# (PERF_COUNT_HW_CACHE_RESULT_MISS << 16)
[event14:base-stat]
fd=14
type=3
config=65538
# PERF_TYPE_HW_CACHE,
# PERF_COUNT_HW_CACHE_L1I << 0 |
# (PERF_COUNT_HW_CACHE_OP_READ << 8) |
# (PERF_COUNT_HW_CACHE_RESULT_ACCESS << 16)
[event15:base-stat]
fd=15
type=3
config=1
# PERF_TYPE_HW_CACHE,
# PERF_COUNT_HW_CACHE_L1I << 0 |
# (PERF_COUNT_HW_CACHE_OP_READ << 8) |
# (PERF_COUNT_HW_CACHE_RESULT_MISS << 16)
[event16:base-stat]
fd=16
type=3
config=65537
# PERF_TYPE_HW_CACHE,
# PERF_COUNT_HW_CACHE_DTLB << 0 |
# (PERF_COUNT_HW_CACHE_OP_READ << 8) |
# (PERF_COUNT_HW_CACHE_RESULT_ACCESS << 16)
[event17:base-stat]
fd=17
type=3
config=3
# PERF_TYPE_HW_CACHE,
# PERF_COUNT_HW_CACHE_DTLB << 0 |
# (PERF_COUNT_HW_CACHE_OP_READ << 8) |
# (PERF_COUNT_HW_CACHE_RESULT_MISS << 16)
[event18:base-stat]
fd=18
type=3
config=65539
# PERF_TYPE_HW_CACHE,
# PERF_COUNT_HW_CACHE_ITLB << 0 |
# (PERF_COUNT_HW_CACHE_OP_READ << 8) |
# (PERF_COUNT_HW_CACHE_RESULT_ACCESS << 16)
[event19:base-stat]
fd=19
type=3
config=4
# PERF_TYPE_HW_CACHE,
# PERF_COUNT_HW_CACHE_ITLB << 0 |
# (PERF_COUNT_HW_CACHE_OP_READ << 8) |
# (PERF_COUNT_HW_CACHE_RESULT_MISS << 16)
[event20:base-stat]
fd=20
type=3
config=65540

View File

@@ -0,0 +1,173 @@
[config]
command = stat
args = -ddd kill >/dev/null 2>&1
ret = 1
# PERF_TYPE_SOFTWARE / PERF_COUNT_SW_TASK_CLOCK
[event1:base-stat]
fd=1
type=1
config=1
# PERF_TYPE_SOFTWARE / PERF_COUNT_SW_CONTEXT_SWITCHES
[event2:base-stat]
fd=2
type=1
config=3
# PERF_TYPE_SOFTWARE / PERF_COUNT_SW_CPU_MIGRATIONS
[event3:base-stat]
fd=3
type=1
config=4
# PERF_TYPE_SOFTWARE / PERF_COUNT_SW_PAGE_FAULTS
[event4:base-stat]
fd=4
type=1
config=2
# PERF_TYPE_HARDWARE / PERF_COUNT_HW_CPU_CYCLES
[event5:base-stat]
fd=5
type=0
config=0
# PERF_TYPE_HARDWARE / PERF_COUNT_HW_STALLED_CYCLES_FRONTEND
[event6:base-stat]
fd=6
type=0
config=7
# PERF_TYPE_HARDWARE / PERF_COUNT_HW_STALLED_CYCLES_BACKEND
[event7:base-stat]
fd=7
type=0
config=8
# PERF_TYPE_HARDWARE / PERF_COUNT_HW_INSTRUCTIONS
[event8:base-stat]
fd=8
type=0
config=1
# PERF_TYPE_HARDWARE / PERF_COUNT_HW_BRANCH_INSTRUCTIONS
[event9:base-stat]
fd=9
type=0
config=4
# PERF_TYPE_HARDWARE / PERF_COUNT_HW_BRANCH_MISSES
[event10:base-stat]
fd=10
type=0
config=5
# PERF_TYPE_HW_CACHE /
# PERF_COUNT_HW_CACHE_L1D << 0 |
# (PERF_COUNT_HW_CACHE_OP_READ << 8) |
# (PERF_COUNT_HW_CACHE_RESULT_ACCESS << 16)
[event11:base-stat]
fd=11
type=3
config=0
# PERF_TYPE_HW_CACHE /
# PERF_COUNT_HW_CACHE_L1D << 0 |
# (PERF_COUNT_HW_CACHE_OP_READ << 8) |
# (PERF_COUNT_HW_CACHE_RESULT_MISS << 16)
[event12:base-stat]
fd=12
type=3
config=65536
# PERF_TYPE_HW_CACHE /
# PERF_COUNT_HW_CACHE_LL << 0 |
# (PERF_COUNT_HW_CACHE_OP_READ << 8) |
# (PERF_COUNT_HW_CACHE_RESULT_ACCESS << 16)
[event13:base-stat]
fd=13
type=3
config=2
# PERF_TYPE_HW_CACHE,
# PERF_COUNT_HW_CACHE_LL << 0 |
# (PERF_COUNT_HW_CACHE_OP_READ << 8) |
# (PERF_COUNT_HW_CACHE_RESULT_MISS << 16)
[event14:base-stat]
fd=14
type=3
config=65538
# PERF_TYPE_HW_CACHE,
# PERF_COUNT_HW_CACHE_L1I << 0 |
# (PERF_COUNT_HW_CACHE_OP_READ << 8) |
# (PERF_COUNT_HW_CACHE_RESULT_ACCESS << 16)
[event15:base-stat]
fd=15
type=3
config=1
# PERF_TYPE_HW_CACHE,
# PERF_COUNT_HW_CACHE_L1I << 0 |
# (PERF_COUNT_HW_CACHE_OP_READ << 8) |
# (PERF_COUNT_HW_CACHE_RESULT_MISS << 16)
[event16:base-stat]
fd=16
type=3
config=65537
# PERF_TYPE_HW_CACHE,
# PERF_COUNT_HW_CACHE_DTLB << 0 |
# (PERF_COUNT_HW_CACHE_OP_READ << 8) |
# (PERF_COUNT_HW_CACHE_RESULT_ACCESS << 16)
[event17:base-stat]
fd=17
type=3
config=3
# PERF_TYPE_HW_CACHE,
# PERF_COUNT_HW_CACHE_DTLB << 0 |
# (PERF_COUNT_HW_CACHE_OP_READ << 8) |
# (PERF_COUNT_HW_CACHE_RESULT_MISS << 16)
[event18:base-stat]
fd=18
type=3
config=65539
# PERF_TYPE_HW_CACHE,
# PERF_COUNT_HW_CACHE_ITLB << 0 |
# (PERF_COUNT_HW_CACHE_OP_READ << 8) |
# (PERF_COUNT_HW_CACHE_RESULT_ACCESS << 16)
[event19:base-stat]
fd=19
type=3
config=4
# PERF_TYPE_HW_CACHE,
# PERF_COUNT_HW_CACHE_ITLB << 0 |
# (PERF_COUNT_HW_CACHE_OP_READ << 8) |
# (PERF_COUNT_HW_CACHE_RESULT_MISS << 16)
[event20:base-stat]
fd=20
type=3
config=65540
# PERF_TYPE_HW_CACHE,
# PERF_COUNT_HW_CACHE_L1D << 0 |
# (PERF_COUNT_HW_CACHE_OP_PREFETCH << 8) |
# (PERF_COUNT_HW_CACHE_RESULT_ACCESS << 16)
[event21:base-stat]
fd=21
type=3
config=512
# PERF_TYPE_HW_CACHE,
# PERF_COUNT_HW_CACHE_L1D << 0 |
# (PERF_COUNT_HW_CACHE_OP_PREFETCH << 8) |
# (PERF_COUNT_HW_CACHE_RESULT_MISS << 16)
[event22:base-stat]
fd=22
type=3
config=66048

View File

@@ -0,0 +1,15 @@
[config]
command = stat
args = --group -e cycles,instructions kill >/dev/null 2>&1
ret = 1
[event-1:base-stat]
fd=1
group_fd=-1
[event-2:base-stat]
fd=2
group_fd=1
config=1
disabled=0
enable_on_exec=0

View File

@@ -0,0 +1,15 @@
[config]
command = stat
args = -e '{cycles,instructions}' kill >/dev/null 2>&1
ret = 1
[event-1:base-stat]
fd=1
group_fd=-1
[event-2:base-stat]
fd=2
group_fd=1
config=1
disabled=0
enable_on_exec=0

View File

@@ -0,0 +1,7 @@
[config]
command = stat
args = -i -e cycles kill >/dev/null 2>&1
ret = 1
[event:base-stat]
inherit=0