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

From: Bayduraev, Alexey V
Date: Thu Jul 01 2021 - 14:14:31 EST


Hi,

On 01.07.2021 17:26, Arnaldo Carvalho de Melo wrote:
> 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.

This is a good idea, especially since this 10/22 patch is the most complex
patch in the patchset. I also think we can keep this simple -threads=NCPUS
form along with the -threads=masks option.

Regards,
Alexey

>
>> 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
>