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