[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20250625171841.GP794930@e132581.arm.com>
Date: Wed, 25 Jun 2025 18:18:41 +0100
From: Leo Yan <leo.yan@....com>
To: James Clark <james.clark@...aro.org>
Cc: Peter Zijlstra <peterz@...radead.org>, Ingo Molnar <mingo@...hat.com>,
Arnaldo Carvalho de Melo <acme@...nel.org>,
Namhyung Kim <namhyung@...nel.org>,
Mark Rutland <mark.rutland@....com>,
Alexander Shishkin <alexander.shishkin@...ux.intel.com>,
Jiri Olsa <jolsa@...nel.org>, Ian Rogers <irogers@...gle.com>,
Adrian Hunter <adrian.hunter@...el.com>,
"Liang, Kan" <kan.liang@...ux.intel.com>,
Marco Elver <elver@...gle.com>,
Sebastian Andrzej Siewior <bigeasy@...utronix.de>,
linux-perf-users@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH] perf/aux: Properly launch pending disable flow
On Tue, Jun 24, 2025 at 02:32:17PM +0100, Leo Yan wrote:
> On Tue, Jun 24, 2025 at 02:11:38PM +0100, James Clark wrote:
>
> [...]
>
> > > @@ -441,7 +441,7 @@ void *perf_aux_output_begin(struct perf_output_handle *handle,
> > > * store that will be enabled on successful return
> > > */
> > > if (!handle->size) { /* A, matches D */
> > > - event->pending_disable = smp_processor_id();
> > > + perf_event_disable_inatomic(handle->event);
> > > perf_output_wakeup(handle);
> > > WRITE_ONCE(rb->aux_nest, 0);
> > > goto err_put;
> > > @@ -526,7 +526,7 @@ void perf_aux_output_end(struct perf_output_handle *handle, unsigned long size)
> > > if (wakeup) {
> > > if (handle->aux_flags & PERF_AUX_FLAG_TRUNCATED)
> > > - handle->event->pending_disable = smp_processor_id();
> > > + perf_event_disable_inatomic(handle->event);
> > > perf_output_wakeup(handle);
> > > }
> >
> > The types are now a bit misleading and pending_wakeup and pending_disable
> > could be bool types. The other pending_*s do use their types properly
> > though.
Changing the type from unsigned int to bool is a refactoring and not
part of the actual fix. Therefore, I left it out in patch v2.
Thanks,
Leo
Powered by blists - more mailing lists