Re: [PATCH v2 00/16] perf python: Fix python extension bugs from v19 review

From: Namhyung Kim

Date: Mon Jul 06 2026 - 19:50:10 EST


On Sat, Jul 04, 2026 at 04:03:18PM -0700, Ian Rogers wrote:
> On Sat, Jul 4, 2026 at 9:54 AM Namhyung Kim <namhyung@xxxxxxxxxx> wrote:
> >
> > Hi Ian,
> >
> > On Tue, Jun 23, 2026 at 10:15:17PM -0700, Ian Rogers wrote:
> > > Phase 1 of splitting the v19 review patches into smaller fixes.
> > > These patches address issues identified in the python extension during
> > > the review of the v19 script porting series, as well as fixing several
> > > pre-existing bugs and leaks.
> > >
> > > v2:
> > > - Addressed sashiko review feedback:
> > > - Fixed 64-bit casting for counts_values by using T_ULONGLONG and PyLong_FromUnsignedLongLong.
> > > - Replaced strict Py_TYPE checks with PyObject_TypeCheck for thread/cpu maps.
> > > - Fixed a missing CHECK_INITIALIZED for pyrf_thread__get_cpu, pyrf_pmu__name, pyrf_pmu__events.
> > > - Included <string.h> where memset was used.
> > > - Fixed line splitting formatting on PyObject_New in pyrf_evsel__read.
> > > - Added fixes for memory leaks and issues discovered during review:
> > > - Fix memory leak of key and value in pyrf__metrics_cb
> > > - Fix count_values memory leak in pyrf_evsel__read
> > > - Fix sb_evlist leaks in both top and record paths.
> > > - Fix potential divide by zero in perf_event__synthesize_threads
> > >
> > > v1:
> > > - Decomposed the single large "Fix python extension bugs" patch into 13 individual fixes.
> > > - Added Fixes: tags for issues that date back to earlier commits.
> > > - Addressed checkpatch warnings (line lengths, Signed-off-by, etc).
> > >
> > >
> > > Ian Rogers (16):
> > > perf script: Fix metric_evlist leak in script_find_metrics
> > > perf stat: Fix evsel_list leak in cmd_stat
> > > perf tools: Fix sb_evlist leaks in top and record
> > > perf python: Fix memory leak in pyrf_evlist__get_pollfd
> > > perf synthetic-events: Fix uninitialized pthread_join
> > > perf data: Fix directory file descriptor leak in perf_data__switch
> > > perf test: Fix skiplist leak in cmd_test
> > > perf python: Check counts_values size in set_values
> > > perf python: Validate CPU and thread maps in pyrf_evsel__open
> > > perf python: Validate attribute setters in pyrf_evsel
> > > perf python: Zero initialize perf_data in pyrf_data__init
> > > perf python: Add thread and PMU uninitialized checks
> > > perf python: Fix MetricGroup return type in perf.pyi
> > > perf python: Fix count_values memory leak in pyrf_evsel__read
> > > perf python: Fix memory leak in pyrf__metrics_cb
> > > perf synthetic-events: Fix divide by zero in
> > > perf_event__synthesize_threads
> >
> > Will you send v3? You don't need to fix all pre-existing issues but we
> > should not introduce new bugs or regressions. I think some of Sashiko
> > comments found them like data switch and pmu init checks.
>
> Thanks Namhyung, I have a v3 coming. I'm working with Sashiko locally
> and trying to address as many issues as possible, including minor
> pre-existing ones—it's easier than remembering to clean them up later.

Sounds good. Looking forward to v3.

Thanks,
Namhyung