From: Ian Rogers <irogers@google.com>
To: irogers@google.com, acme@kernel.org, adrian.hunter@intel.com,
alice.mei.rogers@gmail.com, james.clark@linaro.org,
linux-perf-users@vger.kernel.org, namhyung@kernel.org
Cc: dapeng1.mi@linux.intel.com, leo.yan@linux.dev,
linux-kernel@vger.kernel.org, mingo@redhat.com,
peterz@infradead.org, tmricht@linux.ibm.com
Subject: [PATCH v1 00/49] perf: Complete transition to standalone Python scripts
Date: Sat, 19 Sep 2026 22:20:52 -0700 [thread overview]
Message-ID: <cover.1789880842.git.irogers@google.com> (raw)
The perf script command has historically supported running Python and Perl
scripts by embedding libpython and libperl. That approach has several
drawbacks:
- high overhead from constructing Python dictionaries for every event
(whether used by the script or not),
- complex build dependencies on specific Python/Perl libraries,
- threading and interpreter lifecycle complications from embedding the
interpreter inside perf,
- no unified model for standalone scripts such as ilist.py, treport.py,
tracepoint.py, and twatch.py.
Parts of this series were previously posted as part of the larger
"perf: Reorganize scripting support" series:
https://lore.kernel.org/linux-perf-users/20260428071903.1886173-1-irogers@google.com/
with earlier RFC and mailing list discussion at:
https://lore.kernel.org/linux-perf-users/20251029053413.355154-1-irogers@google.com/
https://lore.kernel.org/lkml/CAP-5=fWDqE8SYfOLZkg_0=4Ayx6E7O+h7uUp4NDeCFkiN4b7-w@mail.gmail.com/
From that earlier series, the prerequisite patches (header dependency cleanups,
evlist/evsel reference counting, initial perf.data and perf.session C extension
wrappers, callchain/brstack/stat/syscall/config accessors, perf.pyi type stubs,
LiveSession, and removal of embedded libperl support) have now been merged. We
are restarting the version number at v1 for the remaining patches, along with
additional C extension capabilities, build-time static analysis (mypy and
pylint), and review fixes.
Running scripts as standalone Python applications using the perf Python C
extension module provides a dramatic speedup. For example, with
mem-phys-addr.py:
Before (using embedded libpython in perf script):
```
$ perf mem record -a sleep 1
$ time perf script tools/perf/scripts/python/mem-phys-addr.py
Event: cpu_core/mem-loads-aux/
Memory type count percentage
--------------------------------------- ---------- ----------
0-fff : Reserved 3217 100.0
real 0m3.754s
user 0m0.023s
sys 0m0.018s
```
After (using standalone Python script with perf module):
```
$ PYTHONPATH=/tmp/perf/python time python3 tools/perf/python/mem-phys-addr.py
Event: evsel(cpu_core/mem-loads-aux/)
Memory type count percentage
--------------------------------------- ---------- ----------
0-fff : Reserved 3217 100.0
real 0m0.106s
user 0m0.021s
sys 0m0.020s
```
The 49 patches in this series are organized into four groups:
1. Perf Python C Extension & Existing Script Updates (Patches 01-10):
- Refine syscall_name()/syscall_id() argument parsing, callchain stubs, and
session.find_thread() lookup in tools/perf/util/python.c and
tools/perf/python/perf.pyi.
- Clean up pylint warnings and improve `perf script -l` descriptions in
existing standalone scripts (ilist.py, treport.py, tracepoint.py,
twatch.py).
- Expose destination address location attributes (addr_dso, addr_symbol,
addr_sym_offset), branch/transaction fields, sym_offset, context_switch
callbacks, and Intel PT call_return / itrace synthesis directly in the
perf Python extension (many parts previously posted in
https://lore.kernel.org/linux-perf-users/20260428071903.1886173-1-irogers@google.com/).
- Allow KeyboardInterrupt to propagate cleanly in LiveSession.
2. Build-Time Python Static Analysis (Patches 11-14):
- Clean up mypy and pylint warnings in tools/perf/pmu-events/ and
tools/perf/tests/shell/lib/.
- Make MYPY and PYLINT build checks enabled by default when mypy and
pylint (>= 2.16.0) are installed, with NO_MYPY=1 and NO_PYLINT=1 opt-out
controls (matching NO_SHELLCHECK=1), so all Python scripts in tools/perf
are continuously type-checked and linted at build time.
3. Porting Legacy Python & Perl Scripts to tools/perf/python/ (Patches 15-45):
- Previously sent as part of
https://lore.kernel.org/linux-perf-users/20260428071903.1886173-1-irogers@google.com/
and updated with static type annotations, mypy/pylint cleanups, and
accompanying shell tests under tools/perf/tests/shell/. Sashiko-driven
review and improvement was undertaken while porting so that the ported
scripts are in the best shape possible:
* Temporarily install tools/perf/python/ scripts during the transition
(Patch 15).
* General & profiling scripts: stat-cpi.py, mem-phys-addr.py,
stackcollapse.py, flamegraph.py, gecko.py, event_analyzing_sample.py
(Patches 16-21).
* Syscall & I/O scripts (ported from legacy Python and Perl):
syscall-counts.py, syscall-counts-by-pid.py,
failed-syscalls-by-pid.py, failed-syscalls.py, sctop.py, rw-by-file.py,
rw-by-pid.py, rwtop.py (Patches 22-29).
* Scheduling, locking, MM & networking scripts: futex-contention.py,
task-analyzer.py, sched-migration.py (with SchedGui.py),
wakeup-latency.py, compaction-times.py, net_dropmonitor.py,
netdev-times.py, check-perf-trace.py (Patches 30-37).
* Hardware trace & architecture-specific scripts: arm-cs-trace-disasm.py,
powerpc-hcalls.py, intel-pt-events.py (with libxed.py), and migrating
the Intel PT virtual LBR test to the Python API (Patches 38-41).
* Database export & viewer utilities: export-to-sqlite.py,
export-to-postgresql.py, exported-sql-viewer.py, and parallel-perf.py
(Patches 42-45).
4. Removing Embedded libpython & Updating Build, CLI, and Docs (Patches 46-49):
- Previously sent as part of
https://lore.kernel.org/linux-perf-users/20260428071903.1886173-1-irogers@google.com/ :
* Remove embedded libpython support (scripting-engines/trace-event-python.c)
and delete the legacy tools/perf/scripts/python/ directory (Patch 46).
* Replace the libpython feature check with test-python-module.c and
update Python script installation paths (Patch 47).
* Update `perf script` (builtin-script.c) to execute standalone scripts
directly and remove embedded scripting engine support (Patch 48).
* Update perf man pages (perf-script.txt, perf-script-python.txt,
perf-check.txt) for standalone Python scripts (Patch 49).
Ian Rogers (49):
perf python: Update syscall format string to optional positional
perf python: Update callchain stubs and session thread lookup
perf python: Clean up pylint warnings in ilist.py
perf python: Clean up pylint warnings in treport.py
perf python: Clean up pylint warnings in tracepoint.py
perf python: Clean up pylint warnings in twatch.py
perf python: Improve perf script -l descriptions
perf python: Expose addr location, transaction, and context_switch
perf python: Add Intel PT call_return and itrace capability
perf python: Allow KeyboardInterrupt to propagate in LiveSession
perf pmu-events: Clean up mypy and pylint issues
perf test: Clean up mypy and pylint issues in shell test libraries
perf build: Make mypy build test opt-out (NO_MYPY=1)
perf build: Make pylint build test opt-out (NO_PYLINT=1)
perf Makefile: Install standalone Python scripts during transition
perf python: Port stat-cpi to perf module
perf python: Port mem-phys-addr to perf module
perf python: Port stackcollapse to perf module
perf python: Port flamegraph to perf module
perf python: Port gecko to perf module
perf python: Port event_analyzing_sample to perf module
perf python: Port syscall-counts to perf module
perf python: Port syscall-counts-by-pid to perf module
perf python: Port failed-syscalls-by-pid to perf module
perf python: Port failed-syscalls from Perl to perf module
perf python: Port sctop to perf module
perf python: Port rw-by-file from Perl to perf module
perf python: Port rw-by-pid from Perl to perf module
perf python: Port rwtop from Perl to perf module
perf python: Port futex-contention to perf module
perf python: Port task-analyzer to perf module
perf python: Port sched-migration and SchedGui to perf module
perf python: Port wakeup-latency from Perl to perf module
perf python: Port compaction-times to perf module
perf python: Port net_dropmonitor to perf module
perf python: Port netdev-times to perf module
perf python: Port check-perf-trace to perf module
perf python: Port arm-cs-trace-disasm to perf module
perf python: Port powerpc-hcalls to perf module
perf python: Port intel-pt-events and libxed to perf module
perf test: Migrate Intel PT virtual LBR test to Python API
perf python: Port export-to-sqlite to perf module
perf python: Port export-to-postgresql to perf module
perf python: Move and clean up exported-sql-viewer.py
perf python: Move and clean up parallel-perf.py
perf: Remove libpython support and legacy Python scripts
perf Makefile: Update Python script installation path
perf script: Support standalone scripts and remove embedded scripting
perf Documentation: Update for standalone Python scripts
tools/build/Makefile.feature | 5 +-
tools/build/feature/Makefile | 24 +-
tools/build/feature/test-all.c | 6 +-
tools/build/feature/test-libperl.c | 10 -
tools/build/feature/test-libpython.c | 10 -
tools/build/feature/test-python-module.c | 13 +
tools/perf/Build | 5 +-
tools/perf/Documentation/db-export.txt | 20 +-
tools/perf/Documentation/perf-check.txt | 3 +-
tools/perf/Documentation/perf-script-perl.txt | 216 -
.../perf/Documentation/perf-script-python.txt | 718 +--
tools/perf/Documentation/perf-script.txt | 80 +-
tools/perf/Documentation/tips.txt | 1 -
tools/perf/Makefile.config | 38 +-
tools/perf/Makefile.perf | 83 +-
tools/perf/builtin-check.c | 3 +-
tools/perf/builtin-script.c | 824 ++-
tools/perf/pmu-events/Build | 4 +-
tools/perf/pmu-events/amd_metrics.py | 10 +-
tools/perf/pmu-events/intel_metrics.py | 259 +-
tools/perf/pmu-events/jevents.py | 77 +-
tools/perf/pmu-events/make_legacy_cache.py | 34 +-
tools/perf/pmu-events/metric.py | 58 +-
tools/perf/python/SchedGui.py | 246 +
tools/perf/python/arm-cs-trace-disasm.py | 350 ++
tools/perf/python/check-perf-trace.py | 213 +
tools/perf/python/compaction-times.py | 350 ++
tools/perf/python/counting.py | 1 +
tools/perf/python/event_analyzing_sample.py | 321 ++
tools/perf/python/export-to-postgresql.py | 1320 +++++
tools/perf/python/export-to-sqlite.py | 893 +++
tools/perf/python/exported-sql-viewer.py | 5104 +++++++++++++++++
tools/perf/python/failed-syscalls-by-pid.py | 175 +
tools/perf/python/failed-syscalls.py | 88 +
tools/perf/python/flamegraph.py | 274 +
tools/perf/python/futex-contention.py | 93 +
tools/perf/python/gecko.py | 415 ++
tools/perf/python/ilist.py | 8 +-
tools/perf/python/intel-pt-events.py | 606 ++
tools/perf/python/libxed.py | 123 +
tools/perf/python/mem-phys-addr.py | 137 +
tools/perf/python/net_dropmonitor.py | 156 +
tools/perf/python/netdev-times.py | 486 ++
tools/perf/python/parallel-perf.py | 1250 ++++
tools/perf/python/perf.pyi | 68 +-
tools/perf/python/perf_live.py | 5 +-
.../{scripts => }/python/powerpc-hcalls.py | 209 +-
tools/perf/python/rw-by-file.py | 109 +
tools/perf/python/rw-by-pid.py | 189 +
tools/perf/python/rwtop.py | 247 +
tools/perf/python/sched-migration.py | 486 ++
tools/perf/python/sctop.py | 216 +
tools/perf/python/stackcollapse.py | 145 +
tools/perf/python/stat-cpi.py | 208 +
tools/perf/python/syscall-counts-by-pid.py | 100 +
tools/perf/python/syscall-counts.py | 79 +
tools/perf/python/task-analyzer.py | 881 +++
tools/perf/python/tracepoint.py | 5 +-
tools/perf/python/treport.py | 12 +-
tools/perf/python/twatch.py | 81 +-
tools/perf/python/wakeup-latency.py | 94 +
tools/perf/scripts/Build | 30 -
tools/perf/scripts/install-build-deps.sh | 4 +-
tools/perf/scripts/perl/Perf-Trace-Util/Build | 9 -
.../scripts/perl/Perf-Trace-Util/Context.c | 122 -
.../scripts/perl/Perf-Trace-Util/Context.xs | 42 -
.../scripts/perl/Perf-Trace-Util/Makefile.PL | 18 -
.../perf/scripts/perl/Perf-Trace-Util/README | 59 -
.../Perf-Trace-Util/lib/Perf/Trace/Context.pm | 55 -
.../Perf-Trace-Util/lib/Perf/Trace/Core.pm | 192 -
.../Perf-Trace-Util/lib/Perf/Trace/Util.pm | 94 -
.../perf/scripts/perl/Perf-Trace-Util/typemap | 1 -
.../scripts/perl/bin/check-perf-trace-record | 2 -
.../scripts/perl/bin/failed-syscalls-record | 3 -
.../scripts/perl/bin/failed-syscalls-report | 10 -
tools/perf/scripts/perl/bin/rw-by-file-record | 3 -
tools/perf/scripts/perl/bin/rw-by-file-report | 10 -
tools/perf/scripts/perl/bin/rw-by-pid-record | 2 -
tools/perf/scripts/perl/bin/rw-by-pid-report | 3 -
tools/perf/scripts/perl/bin/rwtop-record | 2 -
tools/perf/scripts/perl/bin/rwtop-report | 20 -
.../scripts/perl/bin/wakeup-latency-record | 6 -
.../scripts/perl/bin/wakeup-latency-report | 3 -
tools/perf/scripts/perl/check-perf-trace.pl | 106 -
tools/perf/scripts/perl/failed-syscalls.pl | 47 -
tools/perf/scripts/perl/rw-by-file.pl | 106 -
tools/perf/scripts/perl/rw-by-pid.pl | 184 -
tools/perf/scripts/perl/rwtop.pl | 203 -
tools/perf/scripts/perl/wakeup-latency.pl | 107 -
.../perf/scripts/python/Perf-Trace-Util/Build | 4 -
.../scripts/python/Perf-Trace-Util/Context.c | 225 -
.../Perf-Trace-Util/lib/Perf/Trace/Core.py | 116 -
.../lib/Perf/Trace/EventClass.py | 97 -
.../lib/Perf/Trace/SchedGui.py | 184 -
.../Perf-Trace-Util/lib/Perf/Trace/Util.py | 92 -
.../scripts/python/arm-cs-trace-disasm.py | 356 --
.../python/bin/compaction-times-record | 2 -
.../python/bin/compaction-times-report | 4 -
.../python/bin/event_analyzing_sample-record | 8 -
.../python/bin/event_analyzing_sample-report | 3 -
.../python/bin/export-to-postgresql-record | 8 -
.../python/bin/export-to-postgresql-report | 29 -
.../python/bin/export-to-sqlite-record | 8 -
.../python/bin/export-to-sqlite-report | 29 -
.../python/bin/failed-syscalls-by-pid-record | 3 -
.../python/bin/failed-syscalls-by-pid-report | 10 -
.../perf/scripts/python/bin/flamegraph-record | 2 -
.../perf/scripts/python/bin/flamegraph-report | 3 -
.../python/bin/futex-contention-record | 2 -
.../python/bin/futex-contention-report | 4 -
tools/perf/scripts/python/bin/gecko-record | 2 -
tools/perf/scripts/python/bin/gecko-report | 7 -
.../scripts/python/bin/intel-pt-events-record | 13 -
.../scripts/python/bin/intel-pt-events-report | 3 -
.../scripts/python/bin/mem-phys-addr-record | 19 -
.../scripts/python/bin/mem-phys-addr-report | 3 -
.../scripts/python/bin/net_dropmonitor-record | 2 -
.../scripts/python/bin/net_dropmonitor-report | 4 -
.../scripts/python/bin/netdev-times-record | 8 -
.../scripts/python/bin/netdev-times-report | 5 -
.../scripts/python/bin/powerpc-hcalls-record | 2 -
.../scripts/python/bin/powerpc-hcalls-report | 2 -
.../scripts/python/bin/sched-migration-record | 2 -
.../scripts/python/bin/sched-migration-report | 3 -
tools/perf/scripts/python/bin/sctop-record | 3 -
tools/perf/scripts/python/bin/sctop-report | 24 -
.../scripts/python/bin/stackcollapse-record | 8 -
.../scripts/python/bin/stackcollapse-report | 3 -
.../python/bin/syscall-counts-by-pid-record | 3 -
.../python/bin/syscall-counts-by-pid-report | 10 -
.../scripts/python/bin/syscall-counts-record | 3 -
.../scripts/python/bin/syscall-counts-report | 10 -
.../scripts/python/bin/task-analyzer-record | 2 -
.../scripts/python/bin/task-analyzer-report | 3 -
tools/perf/scripts/python/check-perf-trace.py | 84 -
tools/perf/scripts/python/compaction-times.py | 311 -
.../scripts/python/event_analyzing_sample.py | 192 -
.../scripts/python/export-to-postgresql.py | 1114 ----
tools/perf/scripts/python/export-to-sqlite.py | 799 ---
.../scripts/python/exported-sql-viewer.py | 5030 ----------------
.../scripts/python/failed-syscalls-by-pid.py | 79 -
tools/perf/scripts/python/flamegraph.py | 267 -
tools/perf/scripts/python/futex-contention.py | 57 -
tools/perf/scripts/python/gecko.py | 395 --
tools/perf/scripts/python/intel-pt-events.py | 494 --
tools/perf/scripts/python/libxed.py | 107 -
tools/perf/scripts/python/mem-phys-addr.py | 127 -
tools/perf/scripts/python/net_dropmonitor.py | 78 -
tools/perf/scripts/python/netdev-times.py | 473 --
tools/perf/scripts/python/parallel-perf.py | 989 ----
tools/perf/scripts/python/sched-migration.py | 462 --
tools/perf/scripts/python/sctop.py | 89 -
tools/perf/scripts/python/stackcollapse.py | 127 -
tools/perf/scripts/python/stat-cpi.py | 79 -
.../scripts/python/syscall-counts-by-pid.py | 75 -
tools/perf/scripts/python/syscall-counts.py | 65 -
tools/perf/scripts/python/task-analyzer.py | 934 ---
tools/perf/tests/Build | 4 +-
tools/perf/tests/make | 10 +-
.../coresight/test_arm_coresight_disasm.sh | 27 +-
tools/perf/tests/shell/lib/attr.py | 86 +-
.../perf/tests/shell/lib/perf_brstack_max.py | 37 +
.../tests/shell/lib/perf_json_output_lint.py | 36 +-
.../tests/shell/lib/perf_metric_validation.py | 47 +-
tools/perf/tests/shell/script.sh | 43 +-
tools/perf/tests/shell/script_perl.sh | 102 -
tools/perf/tests/shell/script_python.sh | 113 -
.../shell/test_check_perf_trace_python.sh | 79 +
.../shell/test_compaction_times_python.sh | 81 +
.../test_event_analyzing_sample_python.sh | 58 +
.../shell/test_export_to_postgresql_python.sh | 119 +
.../shell/test_export_to_sqlite_python.sh | 108 +
.../test_failed_syscalls_by_pid_python.sh | 92 +
.../shell/test_failed_syscalls_python.sh | 81 +
.../tests/shell/test_flamegraph_python.sh | 106 +
.../shell/test_futex_contention_python.sh | 67 +
tools/perf/tests/shell/test_gecko_python.sh | 95 +
tools/perf/tests/shell/test_intel_pt.sh | 41 +-
.../shell/test_intel_pt_events_python.sh | 69 +
.../tests/shell/test_mem_phys_addr_python.sh | 101 +
.../shell/test_net_dropmonitor_python.sh | 103 +
.../tests/shell/test_netdev_times_python.sh | 61 +
.../tests/shell/test_powerpc_hcalls_python.sh | 95 +
.../tests/shell/test_rw_by_file_python.sh | 70 +
.../perf/tests/shell/test_rw_by_pid_python.sh | 77 +
tools/perf/tests/shell/test_rwtop_python.sh | 76 +
.../shell/test_sched_migration_python.sh | 69 +
tools/perf/tests/shell/test_sctop_python.sh | 71 +
.../tests/shell/test_stackcollapse_python.sh | 77 +
.../perf/tests/shell/test_stat_cpi_python.sh | 106 +
.../test_syscall_counts_by_pid_python.sh | 81 +
.../tests/shell/test_syscall_counts_python.sh | 74 +
tools/perf/tests/shell/test_task_analyzer.sh | 97 +-
.../tests/shell/test_wakeup_latency_python.sh | 83 +
tools/perf/ui/browsers/scripts.c | 217 +-
tools/perf/util/Build | 6 +-
tools/perf/util/python.c | 872 ++-
tools/perf/util/scripting-engines/Build | 9 -
.../util/scripting-engines/trace-event-perl.c | 770 ---
.../scripting-engines/trace-event-python.c | 2333 --------
tools/perf/util/trace-event-parse.c | 65 -
tools/perf/util/trace-event-scripting.c | 407 --
tools/perf/util/trace-event.h | 72 +-
203 files changed, 19555 insertions(+), 21385 deletions(-)
delete mode 100644 tools/build/feature/test-libperl.c
delete mode 100644 tools/build/feature/test-libpython.c
create mode 100644 tools/build/feature/test-python-module.c
delete mode 100644 tools/perf/Documentation/perf-script-perl.txt
create mode 100755 tools/perf/python/SchedGui.py
create mode 100755 tools/perf/python/arm-cs-trace-disasm.py
create mode 100755 tools/perf/python/check-perf-trace.py
create mode 100755 tools/perf/python/compaction-times.py
create mode 100755 tools/perf/python/event_analyzing_sample.py
create mode 100755 tools/perf/python/export-to-postgresql.py
create mode 100755 tools/perf/python/export-to-sqlite.py
create mode 100755 tools/perf/python/exported-sql-viewer.py
create mode 100755 tools/perf/python/failed-syscalls-by-pid.py
create mode 100755 tools/perf/python/failed-syscalls.py
create mode 100755 tools/perf/python/flamegraph.py
create mode 100755 tools/perf/python/futex-contention.py
create mode 100755 tools/perf/python/gecko.py
create mode 100755 tools/perf/python/intel-pt-events.py
create mode 100755 tools/perf/python/libxed.py
create mode 100755 tools/perf/python/mem-phys-addr.py
create mode 100755 tools/perf/python/net_dropmonitor.py
create mode 100755 tools/perf/python/netdev-times.py
create mode 100755 tools/perf/python/parallel-perf.py
rename tools/perf/{scripts => }/python/powerpc-hcalls.py (54%)
mode change 100644 => 100755
create mode 100755 tools/perf/python/rw-by-file.py
create mode 100755 tools/perf/python/rw-by-pid.py
create mode 100755 tools/perf/python/rwtop.py
create mode 100755 tools/perf/python/sched-migration.py
create mode 100755 tools/perf/python/sctop.py
create mode 100755 tools/perf/python/stackcollapse.py
create mode 100755 tools/perf/python/stat-cpi.py
create mode 100755 tools/perf/python/syscall-counts-by-pid.py
create mode 100755 tools/perf/python/syscall-counts.py
create mode 100755 tools/perf/python/task-analyzer.py
create mode 100755 tools/perf/python/wakeup-latency.py
delete mode 100644 tools/perf/scripts/Build
delete mode 100644 tools/perf/scripts/perl/Perf-Trace-Util/Build
delete mode 100644 tools/perf/scripts/perl/Perf-Trace-Util/Context.c
delete mode 100644 tools/perf/scripts/perl/Perf-Trace-Util/Context.xs
delete mode 100644 tools/perf/scripts/perl/Perf-Trace-Util/Makefile.PL
delete mode 100644 tools/perf/scripts/perl/Perf-Trace-Util/README
delete mode 100644 tools/perf/scripts/perl/Perf-Trace-Util/lib/Perf/Trace/Context.pm
delete mode 100644 tools/perf/scripts/perl/Perf-Trace-Util/lib/Perf/Trace/Core.pm
delete mode 100644 tools/perf/scripts/perl/Perf-Trace-Util/lib/Perf/Trace/Util.pm
delete mode 100644 tools/perf/scripts/perl/Perf-Trace-Util/typemap
delete mode 100644 tools/perf/scripts/perl/bin/check-perf-trace-record
delete mode 100644 tools/perf/scripts/perl/bin/failed-syscalls-record
delete mode 100644 tools/perf/scripts/perl/bin/failed-syscalls-report
delete mode 100644 tools/perf/scripts/perl/bin/rw-by-file-record
delete mode 100644 tools/perf/scripts/perl/bin/rw-by-file-report
delete mode 100644 tools/perf/scripts/perl/bin/rw-by-pid-record
delete mode 100644 tools/perf/scripts/perl/bin/rw-by-pid-report
delete mode 100644 tools/perf/scripts/perl/bin/rwtop-record
delete mode 100644 tools/perf/scripts/perl/bin/rwtop-report
delete mode 100644 tools/perf/scripts/perl/bin/wakeup-latency-record
delete mode 100644 tools/perf/scripts/perl/bin/wakeup-latency-report
delete mode 100644 tools/perf/scripts/perl/check-perf-trace.pl
delete mode 100644 tools/perf/scripts/perl/failed-syscalls.pl
delete mode 100644 tools/perf/scripts/perl/rw-by-file.pl
delete mode 100644 tools/perf/scripts/perl/rw-by-pid.pl
delete mode 100644 tools/perf/scripts/perl/rwtop.pl
delete mode 100644 tools/perf/scripts/perl/wakeup-latency.pl
delete mode 100644 tools/perf/scripts/python/Perf-Trace-Util/Build
delete mode 100644 tools/perf/scripts/python/Perf-Trace-Util/Context.c
delete mode 100644 tools/perf/scripts/python/Perf-Trace-Util/lib/Perf/Trace/Core.py
delete mode 100755 tools/perf/scripts/python/Perf-Trace-Util/lib/Perf/Trace/EventClass.py
delete mode 100644 tools/perf/scripts/python/Perf-Trace-Util/lib/Perf/Trace/SchedGui.py
delete mode 100644 tools/perf/scripts/python/Perf-Trace-Util/lib/Perf/Trace/Util.py
delete mode 100755 tools/perf/scripts/python/arm-cs-trace-disasm.py
delete mode 100644 tools/perf/scripts/python/bin/compaction-times-record
delete mode 100644 tools/perf/scripts/python/bin/compaction-times-report
delete mode 100644 tools/perf/scripts/python/bin/event_analyzing_sample-record
delete mode 100644 tools/perf/scripts/python/bin/event_analyzing_sample-report
delete mode 100644 tools/perf/scripts/python/bin/export-to-postgresql-record
delete mode 100644 tools/perf/scripts/python/bin/export-to-postgresql-report
delete mode 100644 tools/perf/scripts/python/bin/export-to-sqlite-record
delete mode 100644 tools/perf/scripts/python/bin/export-to-sqlite-report
delete mode 100644 tools/perf/scripts/python/bin/failed-syscalls-by-pid-record
delete mode 100644 tools/perf/scripts/python/bin/failed-syscalls-by-pid-report
delete mode 100755 tools/perf/scripts/python/bin/flamegraph-record
delete mode 100755 tools/perf/scripts/python/bin/flamegraph-report
delete mode 100644 tools/perf/scripts/python/bin/futex-contention-record
delete mode 100644 tools/perf/scripts/python/bin/futex-contention-report
delete mode 100644 tools/perf/scripts/python/bin/gecko-record
delete mode 100755 tools/perf/scripts/python/bin/gecko-report
delete mode 100644 tools/perf/scripts/python/bin/intel-pt-events-record
delete mode 100644 tools/perf/scripts/python/bin/intel-pt-events-report
delete mode 100644 tools/perf/scripts/python/bin/mem-phys-addr-record
delete mode 100644 tools/perf/scripts/python/bin/mem-phys-addr-report
delete mode 100755 tools/perf/scripts/python/bin/net_dropmonitor-record
delete mode 100755 tools/perf/scripts/python/bin/net_dropmonitor-report
delete mode 100644 tools/perf/scripts/python/bin/netdev-times-record
delete mode 100644 tools/perf/scripts/python/bin/netdev-times-report
delete mode 100644 tools/perf/scripts/python/bin/powerpc-hcalls-record
delete mode 100644 tools/perf/scripts/python/bin/powerpc-hcalls-report
delete mode 100644 tools/perf/scripts/python/bin/sched-migration-record
delete mode 100644 tools/perf/scripts/python/bin/sched-migration-report
delete mode 100644 tools/perf/scripts/python/bin/sctop-record
delete mode 100644 tools/perf/scripts/python/bin/sctop-report
delete mode 100755 tools/perf/scripts/python/bin/stackcollapse-record
delete mode 100755 tools/perf/scripts/python/bin/stackcollapse-report
delete mode 100644 tools/perf/scripts/python/bin/syscall-counts-by-pid-record
delete mode 100644 tools/perf/scripts/python/bin/syscall-counts-by-pid-report
delete mode 100644 tools/perf/scripts/python/bin/syscall-counts-record
delete mode 100644 tools/perf/scripts/python/bin/syscall-counts-report
delete mode 100755 tools/perf/scripts/python/bin/task-analyzer-record
delete mode 100755 tools/perf/scripts/python/bin/task-analyzer-report
delete mode 100644 tools/perf/scripts/python/check-perf-trace.py
delete mode 100644 tools/perf/scripts/python/compaction-times.py
delete mode 100644 tools/perf/scripts/python/event_analyzing_sample.py
delete mode 100644 tools/perf/scripts/python/export-to-postgresql.py
delete mode 100644 tools/perf/scripts/python/export-to-sqlite.py
delete mode 100755 tools/perf/scripts/python/exported-sql-viewer.py
delete mode 100644 tools/perf/scripts/python/failed-syscalls-by-pid.py
delete mode 100755 tools/perf/scripts/python/flamegraph.py
delete mode 100644 tools/perf/scripts/python/futex-contention.py
delete mode 100644 tools/perf/scripts/python/gecko.py
delete mode 100644 tools/perf/scripts/python/intel-pt-events.py
delete mode 100644 tools/perf/scripts/python/libxed.py
delete mode 100644 tools/perf/scripts/python/mem-phys-addr.py
delete mode 100755 tools/perf/scripts/python/net_dropmonitor.py
delete mode 100644 tools/perf/scripts/python/netdev-times.py
delete mode 100755 tools/perf/scripts/python/parallel-perf.py
delete mode 100644 tools/perf/scripts/python/sched-migration.py
delete mode 100644 tools/perf/scripts/python/sctop.py
delete mode 100755 tools/perf/scripts/python/stackcollapse.py
delete mode 100644 tools/perf/scripts/python/stat-cpi.py
delete mode 100644 tools/perf/scripts/python/syscall-counts-by-pid.py
delete mode 100644 tools/perf/scripts/python/syscall-counts.py
delete mode 100755 tools/perf/scripts/python/task-analyzer.py
create mode 100644 tools/perf/tests/shell/lib/perf_brstack_max.py
delete mode 100755 tools/perf/tests/shell/script_perl.sh
delete mode 100755 tools/perf/tests/shell/script_python.sh
create mode 100755 tools/perf/tests/shell/test_check_perf_trace_python.sh
create mode 100755 tools/perf/tests/shell/test_compaction_times_python.sh
create mode 100755 tools/perf/tests/shell/test_event_analyzing_sample_python.sh
create mode 100755 tools/perf/tests/shell/test_export_to_postgresql_python.sh
create mode 100755 tools/perf/tests/shell/test_export_to_sqlite_python.sh
create mode 100755 tools/perf/tests/shell/test_failed_syscalls_by_pid_python.sh
create mode 100755 tools/perf/tests/shell/test_failed_syscalls_python.sh
create mode 100755 tools/perf/tests/shell/test_flamegraph_python.sh
create mode 100755 tools/perf/tests/shell/test_futex_contention_python.sh
create mode 100755 tools/perf/tests/shell/test_gecko_python.sh
create mode 100755 tools/perf/tests/shell/test_intel_pt_events_python.sh
create mode 100755 tools/perf/tests/shell/test_mem_phys_addr_python.sh
create mode 100755 tools/perf/tests/shell/test_net_dropmonitor_python.sh
create mode 100755 tools/perf/tests/shell/test_netdev_times_python.sh
create mode 100755 tools/perf/tests/shell/test_powerpc_hcalls_python.sh
create mode 100755 tools/perf/tests/shell/test_rw_by_file_python.sh
create mode 100755 tools/perf/tests/shell/test_rw_by_pid_python.sh
create mode 100755 tools/perf/tests/shell/test_rwtop_python.sh
create mode 100755 tools/perf/tests/shell/test_sched_migration_python.sh
create mode 100755 tools/perf/tests/shell/test_sctop_python.sh
create mode 100755 tools/perf/tests/shell/test_stackcollapse_python.sh
create mode 100755 tools/perf/tests/shell/test_stat_cpi_python.sh
create mode 100755 tools/perf/tests/shell/test_syscall_counts_by_pid_python.sh
create mode 100755 tools/perf/tests/shell/test_syscall_counts_python.sh
create mode 100755 tools/perf/tests/shell/test_wakeup_latency_python.sh
delete mode 100644 tools/perf/util/scripting-engines/Build
delete mode 100644 tools/perf/util/scripting-engines/trace-event-perl.c
delete mode 100644 tools/perf/util/scripting-engines/trace-event-python.c
delete mode 100644 tools/perf/util/trace-event-scripting.c
--
2.55.0.1082.g2b9226bbc0-goog
next reply other threads:[~2026-09-20 5:22 UTC|newest]
Thread overview: 100+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-09-20 5:20 Ian Rogers [this message]
2026-09-20 5:20 ` [PATCH v1 01/49] perf python: Update syscall format string to optional positional Ian Rogers
2026-09-20 5:20 ` [PATCH v1 02/49] perf python: Update callchain stubs and session thread lookup Ian Rogers
2026-09-20 5:20 ` [PATCH v1 03/49] perf python: Clean up pylint warnings in ilist.py Ian Rogers
2026-09-20 5:20 ` [PATCH v1 04/49] perf python: Clean up pylint warnings in treport.py Ian Rogers
2026-09-20 5:20 ` [PATCH v1 05/49] perf python: Clean up pylint warnings in tracepoint.py Ian Rogers
2026-09-20 5:20 ` [PATCH v1 06/49] perf python: Clean up pylint warnings in twatch.py Ian Rogers
2026-09-20 5:20 ` [PATCH v1 07/49] perf python: Improve perf script -l descriptions Ian Rogers
2026-09-20 5:21 ` [PATCH v1 08/49] perf python: Expose addr location, transaction, and context_switch Ian Rogers
2026-09-20 5:21 ` [PATCH v1 09/49] perf python: Add Intel PT call_return and itrace capability Ian Rogers
2026-09-20 5:21 ` [PATCH v1 10/49] perf python: Allow KeyboardInterrupt to propagate in LiveSession Ian Rogers
2026-09-20 5:21 ` [PATCH v1 11/49] perf pmu-events: Clean up mypy and pylint issues Ian Rogers
2026-09-20 5:21 ` [PATCH v1 12/49] perf test: Clean up mypy and pylint issues in shell test libraries Ian Rogers
2026-09-20 5:21 ` [PATCH v1 13/49] perf build: Make mypy build test opt-out (NO_MYPY=1) Ian Rogers
2026-09-20 5:21 ` [PATCH v1 14/49] perf build: Make pylint build test opt-out (NO_PYLINT=1) Ian Rogers
2026-09-20 5:21 ` [PATCH v1 15/49] perf Makefile: Install standalone Python scripts during transition Ian Rogers
2026-09-20 5:21 ` [PATCH v1 16/49] perf python: Port stat-cpi to perf module Ian Rogers
2026-09-20 5:21 ` [PATCH v1 17/49] perf python: Port mem-phys-addr " Ian Rogers
2026-09-20 5:21 ` [PATCH v1 18/49] perf python: Port stackcollapse " Ian Rogers
2026-09-20 5:21 ` [PATCH v1 19/49] perf python: Port flamegraph " Ian Rogers
2026-09-20 5:21 ` [PATCH v1 20/49] perf python: Port gecko " Ian Rogers
2026-09-20 5:21 ` [PATCH v1 21/49] perf python: Port event_analyzing_sample " Ian Rogers
2026-09-20 5:21 ` [PATCH v1 22/49] perf python: Port syscall-counts " Ian Rogers
2026-09-20 5:21 ` [PATCH v1 23/49] perf python: Port syscall-counts-by-pid " Ian Rogers
2026-09-20 5:21 ` [PATCH v1 24/49] perf python: Port failed-syscalls-by-pid " Ian Rogers
2026-09-20 5:21 ` [PATCH v1 25/49] perf python: Port failed-syscalls from Perl " Ian Rogers
2026-09-20 5:21 ` [PATCH v1 26/49] perf python: Port sctop " Ian Rogers
2026-09-20 5:21 ` [PATCH v1 27/49] perf python: Port rw-by-file from Perl " Ian Rogers
2026-09-20 5:21 ` [PATCH v1 28/49] perf python: Port rw-by-pid " Ian Rogers
2026-09-20 5:21 ` [PATCH v1 29/49] perf python: Port rwtop " Ian Rogers
2026-09-20 5:21 ` [PATCH v1 30/49] perf python: Port futex-contention " Ian Rogers
2026-09-20 5:21 ` [PATCH v1 31/49] perf python: Port task-analyzer " Ian Rogers
2026-09-20 5:21 ` [PATCH v1 32/49] perf python: Port sched-migration and SchedGui " Ian Rogers
2026-09-20 5:21 ` [PATCH v1 33/49] perf python: Port wakeup-latency from Perl " Ian Rogers
2026-09-20 5:21 ` [PATCH v1 34/49] perf python: Port compaction-times " Ian Rogers
2026-09-20 5:21 ` [PATCH v1 35/49] perf python: Port net_dropmonitor " Ian Rogers
2026-09-20 5:21 ` [PATCH v1 36/49] perf python: Port netdev-times " Ian Rogers
2026-09-20 5:21 ` [PATCH v1 37/49] perf python: Port check-perf-trace " Ian Rogers
2026-09-20 5:21 ` [PATCH v1 38/49] perf python: Port arm-cs-trace-disasm " Ian Rogers
2026-09-20 5:21 ` [PATCH v1 39/49] perf python: Port powerpc-hcalls " Ian Rogers
2026-09-20 5:21 ` [PATCH v1 40/49] perf python: Port intel-pt-events and libxed " Ian Rogers
2026-09-20 5:21 ` [PATCH v1 41/49] perf test: Migrate Intel PT virtual LBR test to Python API Ian Rogers
2026-09-20 5:21 ` [PATCH v1 42/49] perf python: Port export-to-sqlite to perf module Ian Rogers
2026-09-20 5:21 ` [PATCH v1 43/49] perf python: Port export-to-postgresql " Ian Rogers
2026-09-20 5:21 ` [PATCH v1 44/49] perf python: Move and clean up exported-sql-viewer.py Ian Rogers
2026-09-20 5:21 ` [PATCH v1 45/49] perf python: Move and clean up parallel-perf.py Ian Rogers
2026-09-20 5:21 ` [PATCH v1 46/49] perf: Remove libpython support and legacy Python scripts Ian Rogers
2026-09-20 5:21 ` [PATCH v1 47/49] perf Makefile: Update Python script installation path Ian Rogers
2026-09-20 5:21 ` [PATCH v1 48/49] perf script: Support standalone scripts and remove embedded scripting Ian Rogers
2026-09-20 5:21 ` [PATCH v1 49/49] perf Documentation: Update for standalone Python scripts Ian Rogers
2026-09-21 5:06 ` [PATCH v2 00/49] perf: Complete transition to " Ian Rogers
2026-09-21 5:06 ` [PATCH v2 01/49] perf python: Update syscall format string to optional positional Ian Rogers
2026-09-21 5:06 ` [PATCH v2 02/49] perf python: Update callchain stubs and session thread lookup Ian Rogers
2026-09-21 5:06 ` [PATCH v2 03/49] perf python: Clean up pylint warnings in ilist.py Ian Rogers
2026-09-21 5:06 ` [PATCH v2 04/49] perf python: Clean up pylint warnings in treport.py Ian Rogers
2026-09-21 5:06 ` [PATCH v2 05/49] perf python: Clean up pylint warnings in tracepoint.py Ian Rogers
2026-09-21 5:06 ` [PATCH v2 06/49] perf python: Clean up pylint warnings in twatch.py Ian Rogers
2026-09-21 5:06 ` [PATCH v2 07/49] perf python: Improve perf script -l descriptions Ian Rogers
2026-09-21 5:06 ` [PATCH v2 08/49] perf python: Expose addr location, transaction, and context_switch Ian Rogers
2026-09-21 5:06 ` [PATCH v2 09/49] perf python: Add Intel PT call_return and itrace capability Ian Rogers
2026-09-21 5:06 ` [PATCH v2 10/49] perf python: Allow KeyboardInterrupt to propagate in LiveSession Ian Rogers
2026-09-21 5:06 ` [PATCH v2 11/49] perf pmu-events: Clean up mypy and pylint issues Ian Rogers
2026-09-21 5:06 ` [PATCH v2 12/49] perf test: Clean up mypy and pylint issues in shell test libraries Ian Rogers
2026-09-21 5:06 ` [PATCH v2 13/49] perf build: Make mypy build test opt-out (NO_MYPY=1) Ian Rogers
2026-09-21 5:06 ` [PATCH v2 14/49] perf build: Make pylint build test opt-out (NO_PYLINT=1) Ian Rogers
2026-09-21 5:06 ` [PATCH v2 15/49] perf Makefile: Install standalone Python scripts during transition Ian Rogers
2026-09-21 5:06 ` [PATCH v2 16/49] perf python: Port stat-cpi to perf module Ian Rogers
2026-09-21 5:06 ` [PATCH v2 17/49] perf python: Port mem-phys-addr " Ian Rogers
2026-09-21 5:06 ` [PATCH v2 18/49] perf python: Port stackcollapse " Ian Rogers
2026-09-21 5:06 ` [PATCH v2 19/49] perf python: Port flamegraph " Ian Rogers
2026-09-21 5:06 ` [PATCH v2 20/49] perf python: Port gecko " Ian Rogers
2026-09-21 5:06 ` [PATCH v2 21/49] perf python: Port event_analyzing_sample " Ian Rogers
2026-09-21 5:06 ` [PATCH v2 22/49] perf python: Port syscall-counts " Ian Rogers
2026-09-21 5:06 ` [PATCH v2 23/49] perf python: Port syscall-counts-by-pid " Ian Rogers
2026-09-21 5:06 ` [PATCH v2 24/49] perf python: Port failed-syscalls-by-pid " Ian Rogers
2026-09-21 5:06 ` [PATCH v2 25/49] perf python: Port failed-syscalls from Perl " Ian Rogers
2026-09-21 5:06 ` [PATCH v2 26/49] perf python: Port sctop " Ian Rogers
2026-09-21 5:06 ` [PATCH v2 27/49] perf python: Port rw-by-file from Perl " Ian Rogers
2026-09-21 5:06 ` [PATCH v2 28/49] perf python: Port rw-by-pid " Ian Rogers
2026-09-21 5:06 ` [PATCH v2 29/49] perf python: Port rwtop " Ian Rogers
2026-09-21 5:06 ` [PATCH v2 30/49] perf python: Port futex-contention " Ian Rogers
2026-09-21 5:06 ` [PATCH v2 31/49] perf python: Port task-analyzer " Ian Rogers
2026-09-21 5:06 ` [PATCH v2 32/49] perf python: Port sched-migration and SchedGui " Ian Rogers
2026-09-21 5:06 ` [PATCH v2 33/49] perf python: Port wakeup-latency from Perl " Ian Rogers
2026-09-21 5:06 ` [PATCH v2 34/49] perf python: Port compaction-times " Ian Rogers
2026-09-21 5:06 ` [PATCH v2 35/49] perf python: Port net_dropmonitor " Ian Rogers
2026-09-21 5:06 ` [PATCH v2 36/49] perf python: Port netdev-times " Ian Rogers
2026-09-21 5:06 ` [PATCH v2 37/49] perf python: Port check-perf-trace " Ian Rogers
2026-09-21 5:06 ` [PATCH v2 38/49] perf python: Port arm-cs-trace-disasm " Ian Rogers
2026-09-21 5:06 ` [PATCH v2 39/49] perf python: Port powerpc-hcalls " Ian Rogers
2026-09-21 5:06 ` [PATCH v2 40/49] perf python: Port intel-pt-events and libxed " Ian Rogers
2026-09-21 5:06 ` [PATCH v2 41/49] perf test: Migrate Intel PT virtual LBR test to Python API Ian Rogers
2026-09-21 5:07 ` [PATCH v2 42/49] perf python: Port export-to-sqlite to perf module Ian Rogers
2026-09-21 5:07 ` [PATCH v2 43/49] perf python: Port export-to-postgresql " Ian Rogers
2026-09-21 5:07 ` [PATCH v2 44/49] perf python: Move and clean up exported-sql-viewer.py Ian Rogers
2026-09-21 5:07 ` [PATCH v2 45/49] perf python: Move and clean up parallel-perf.py Ian Rogers
2026-09-21 5:07 ` [PATCH v2 46/49] perf: Remove libpython support and legacy Python scripts Ian Rogers
2026-09-21 5:07 ` [PATCH v2 47/49] perf Makefile: Update Python script installation path Ian Rogers
2026-09-21 5:07 ` [PATCH v2 48/49] perf script: Support standalone scripts and remove embedded scripting Ian Rogers
2026-09-21 5:07 ` [PATCH v2 49/49] perf Documentation: Update for standalone Python scripts Ian Rogers
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=cover.1789880842.git.irogers@google.com \
--to=irogers@google.com \
--cc=acme@kernel.org \
--cc=adrian.hunter@intel.com \
--cc=alice.mei.rogers@gmail.com \
--cc=dapeng1.mi@linux.intel.com \
--cc=james.clark@linaro.org \
--cc=leo.yan@linux.dev \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-perf-users@vger.kernel.org \
--cc=mingo@redhat.com \
--cc=namhyung@kernel.org \
--cc=peterz@infradead.org \
--cc=tmricht@linux.ibm.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®