[RFC PATCH 0/3] Introduce a C extension module to allow libperf usage from python
From: Gautam Menghani
Date: Thu Mar 13 2025 - 03:52:05 EST
In this RFC series, we are introducing a C extension module to allow
python programs to call the libperf API functions. Currently libperf can
be used by C programs, but expanding the support to python is beneficial
for python users.
The structure of the patch series is as follows:
1. Patch 1 : Create wrappers for the perf structs which are used by
examples/counting.c
2. Patch 2: Create the C extension module that maps and exposes the
libperf functions to python programs
2. Patch 3: A python variant of counting.c - counting.py to demonstrate
the usage of libperf from python
We have not added support for entire libperf, as we want to get
community feedback on the approach taken in this series.
Gautam Menghani (3):
libperf: Introduce wrappers for perf structs to be exposed to python
libperf: Introduce a C extension module for python
libperf: Add counting.py example to demonstrate libperf usage from
python
tools/lib/perf/Build | 1 +
.../perf/Documentation/examples/counting.py | 74 +++
tools/lib/perf/Makefile | 12 +-
tools/lib/perf/include/perf/py_perf.h | 431 ++++++++++++++++++
tools/lib/perf/libperf.map | 1 +
tools/lib/perf/py_perf.c | 262 +++++++++++
6 files changed, 779 insertions(+), 2 deletions(-)
create mode 100755 tools/lib/perf/Documentation/examples/counting.py
create mode 100644 tools/lib/perf/include/perf/py_perf.h
create mode 100644 tools/lib/perf/py_perf.c
--
2.47.0