From: Namhyung Kim <namhyung@kernel.org>
To: Ian Rogers <irogers@google.com>
Cc: Arnaldo Carvalho de Melo <acme@kernel.org>,
adrian.hunter@intel.com, ak@linux.intel.com,
alexander.shishkin@linux.intel.com, andres@anarazel.de,
dapeng1.mi@linux.intel.com, james.clark@linaro.org,
jolsa@kernel.org, linux-kernel@vger.kernel.org,
linux-perf-users@vger.kernel.org, linux@treblig.org,
mingo@redhat.com, peterz@infradead.org, thomas.falcon@intel.com,
tmricht@linux.ibm.com, yang.lee@linux.alibaba.com
Subject: Re: [PATCH v8 6/6] perf stat: Add no-affinity flag
Date: Mon, 9 Feb 2026 17:18:05 -0800 [thread overview]
Message-ID: <aYqHTfCoW1bGmJF4@google.com> (raw)
In-Reply-To: <CAP-5=fXOasXgKRSvrA1B+Yx42egfZfLO4h1OKrB4tLCCz_o8Cg@mail.gmail.com>
On Sat, Feb 07, 2026 at 07:54:05AM -0800, Ian Rogers wrote:
> On Sat, Feb 7, 2026 at 4:51 AM Arnaldo Carvalho de Melo <acme@kernel.org> wrote:
> >
> > On Fri, Feb 06, 2026 at 02:25:09PM -0800, Ian Rogers wrote:
> > > Add flag that disables affinity behavior. Using sched_setaffinity to
> > > place a perf thread on a CPU can avoid certain interprocessor
> > > interrupts but may introduce a delay due to the scheduling,
> > > particularly on loaded machines. Add a command line option to disable
> > > the behavior. This behavior is less present in other tools like `perf
> > > record`, as it uses a ring buffer and doesn't make repeated system
> > > calls.
> >
> > This is confusing:
> >
> > ⬢ [acme@toolbx perf-tools-next]$ perf stat -h affinity
> >
> > Usage: perf stat [<options>] [<command>]
> >
> > --affinity don't allow affinity optimizations aimed at reducing IPIs
> >
> > ⬢ [acme@toolbx perf-tools-next]$
> >
> > The way it is presented in the -h output it looks as if one has to use:
> >
> > perf stat --affinity
> >
> > To disable affinity setting, when used that way it looks as if the user
> > is asking for affinity to be used.
> >
> > We have things like:
> >
> > ⬢ [acme@toolbx perf-tools-next]$ grep -A2 OPT_.*no- tools/perf/builtin-record.c
> > OPT_BOOLEAN(0, "no-buffering", &record.opts.no_buffering,
> > "collect data without buffering"),
> > OPT_BOOLEAN('R', "raw-samples", &record.opts.raw_samples,
> > --
> > OPT_BOOLEAN_SET('i', "no-inherit", &record.opts.no_inherit,
> > &record.opts.no_inherit_set,
> > "child tasks do not inherit counters"),
> > --
> > OPT_BOOLEAN(0, "no-bpf-event", &record.opts.no_bpf_event, "do not record bpf events"),
> > OPT_BOOLEAN(0, "strict-freq", &record.opts.strict_freq,
> > "Fail if the specified frequency can't be used"),
> > --
> > OPT_BOOLEAN('n', "no-samples", &record.opts.no_samples,
> > "don't sample"),
> > OPT_BOOLEAN_SET('N', "no-buildid-cache", &record.no_buildid_cache,
> > &record.no_buildid_cache_set,
> > "do not update the buildid cache"),
> > OPT_BOOLEAN_SET('B', "no-buildid", &record.no_buildid,
> > &record.no_buildid_set,
> > "do not collect buildids in perf.data"),
> > ⬢ [acme@toolbx perf-tools-next]$
> >
> > Probably this needs to be that way?
>
> So it was that way in the v4 patch set but Namhyung asked for it to be
> the other way around:
> https://lore.kernel.org/lkml/aRvcuMfbDRSBU87k@google.com/
> The comment on the option didn't get changed and that's a mistake.
> Let me know what's preferred and I can send a patch.
Right, I still prefer positive option names so that "--no-" prefix can
be added.
Thanks,
Namhyung
next prev parent reply other threads:[~2026-02-10 1:18 UTC|newest]
Thread overview: 29+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-02-03 22:51 [PATCH v7 0/6] perf stat affinity changes Ian Rogers
2026-02-03 22:51 ` [PATCH v7 1/6] Revert "perf tool_pmu: More accurately set the cpus for tool events" Ian Rogers
2026-02-03 22:51 ` [PATCH v7 2/6] perf stat-shadow: In prepare_metric fix guard on reading NULL perf_stat_evsel Ian Rogers
2026-02-03 22:51 ` [PATCH v7 3/6] perf evlist: Special map propagation for tool events that read on 1 CPU Ian Rogers
2026-02-03 22:51 ` [PATCH v7 4/6] perf evlist: Missing TPEBS close in evlist__close Ian Rogers
2026-02-03 22:51 ` [PATCH v7 5/6] perf evlist: Reduce affinity use and move into iterator, fix no affinity Ian Rogers
2026-02-03 22:51 ` [PATCH v7 6/6] perf stat: Add no-affinity flag Ian Rogers
2026-02-06 21:35 ` [PATCH v7 0/6] perf stat affinity changes Arnaldo Carvalho de Melo
2026-02-06 22:01 ` Ian Rogers
2026-02-06 22:13 ` Arnaldo Carvalho de Melo
2026-02-06 22:25 ` [PATCH v8 " Ian Rogers
2026-02-06 22:25 ` [PATCH v8 1/6] Revert "perf tool_pmu: More accurately set the cpus for tool events" Ian Rogers
2026-02-09 23:10 ` Ian Rogers
2026-02-06 22:25 ` [PATCH v8 2/6] perf stat-shadow: In prepare_metric fix guard on reading NULL perf_stat_evsel Ian Rogers
2026-02-06 22:25 ` [PATCH v8 3/6] perf evlist: Special map propagation for tool events that read on 1 CPU Ian Rogers
2026-02-06 22:25 ` [PATCH v8 4/6] perf evlist: Missing TPEBS close in evlist__close Ian Rogers
2026-02-06 22:25 ` [PATCH v8 5/6] perf evlist: Reduce affinity use and move into iterator, fix no affinity Ian Rogers
2026-02-06 22:25 ` [PATCH v8 6/6] perf stat: Add no-affinity flag Ian Rogers
2026-02-07 12:51 ` Arnaldo Carvalho de Melo
2026-02-07 15:54 ` Ian Rogers
2026-02-10 1:18 ` Namhyung Kim [this message]
2026-02-10 6:03 ` [PATCH v9 0/6] perf stat affinity changes Ian Rogers
2026-02-10 6:03 ` Ian Rogers
2026-02-10 6:03 ` [PATCH v9 1/6] Revert "perf tool_pmu: More accurately set the cpus for tool events" Ian Rogers
2026-02-10 6:03 ` [PATCH v9 2/6] perf stat-shadow: In prepare_metric fix guard on reading NULL perf_stat_evsel Ian Rogers
2026-02-10 6:03 ` [PATCH v9 3/6] perf evlist: Special map propagation for tool events that read on 1 CPU Ian Rogers
2026-02-10 6:03 ` [PATCH v9 4/6] perf evlist: Missing TPEBS close in evlist__close Ian Rogers
2026-02-10 6:03 ` [PATCH v9 5/6] perf evlist: Reduce affinity use and move into iterator, fix no affinity Ian Rogers
2026-02-10 6:03 ` [PATCH v9 6/6] perf stat: Add no-affinity flag 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=aYqHTfCoW1bGmJF4@google.com \
--to=namhyung@kernel.org \
--cc=acme@kernel.org \
--cc=adrian.hunter@intel.com \
--cc=ak@linux.intel.com \
--cc=alexander.shishkin@linux.intel.com \
--cc=andres@anarazel.de \
--cc=dapeng1.mi@linux.intel.com \
--cc=irogers@google.com \
--cc=james.clark@linaro.org \
--cc=jolsa@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-perf-users@vger.kernel.org \
--cc=linux@treblig.org \
--cc=mingo@redhat.com \
--cc=peterz@infradead.org \
--cc=thomas.falcon@intel.com \
--cc=tmricht@linux.ibm.com \
--cc=yang.lee@linux.alibaba.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