Re: [PATCH v8 10/22] perf record: Introduce --threads=<spec> command line option

From: Arnaldo Carvalho de Melo
Date: Thu Jul 01 2021 - 10:26:45 EST


Em Thu, Jul 01, 2021 at 02:50:40PM +0300, Bayduraev, Alexey V escreveu:
> On 30.06.2021 21:54, Bayduraev, Alexey V wrote:
> > On 30.06.2021 20:28, Arnaldo Carvalho de Melo wrote:
> >> I thought you would start with plain:

> >> -j N

> >> And start one thread per CPU in 'perf record' existing CPU affinity
> >> mask, then go on introducing more sophisticated modes.

> > As I remember the first prototype [1] and
> > [2] https://lore.kernel.org/lkml/20180913125450.21342-1-jolsa@xxxxxxxxxx/

> > introduces:

> > --thread=mode|number_of_threads

> > where mode defines cpu masks (cpu/numa/socket/etc)

> > Then somewhere while discussing this patchset it was decided, for unification,
> > that --thread should only define CPU/affinity masks or their aliases.
> > I think Alexei or Jiri could clarify this more.

> >> Have you done this way because its how VTune has evolved over the years
> >> and now expects from 'perf record'?

> > VTune uses only --thread=cpu or no threading.

> However we would like to have such sophisticated cpu/affinity masks to
> tune perf-record for different workloads.

I don't have, a priori, anything against the modes you propose, as you
have a justification for them, its just how we should introduce that.

I.e. first doing the simple case of '-j NCPUS' and then doing what you
need, so that we get more granular patches.

Not adding too much complexity per patch pays off when/if we find bugs
and need to bisect.

> For example, some HPC workloads prefer "numa" mask or most of telecom
> workloads disallow to use cpus where their non-preemtable
> communication threads work.

- Arnaldo