Re: [PATCHSET v3 0/3] perf tools: Minor improvements in event synthesis

Jiri Olsa
2021-02-02T12:42:28Z

On Tue, Feb 02, 2021 at 06:01:15PM +0900, Namhyung Kim wrote:
> Hello,
>
> This is to optimize the event synthesis during perf record.
>
> Changes in v3:
> * remove unnecessary pid check
> * update change log in patch #2

Acked-by: Jiri Olsa <jolsa@redhat.com>

thanks,
jirka

>
> The first patch is to reduce memory usage when many threads are used.
> The second is to avoid unncessary syscalls for kernel threads. And
> the last one is to reduce the number of threads to iterate when new
> threads are being created at the same time.
>
> Unfortunately there's no dramatic improvement here but I can see ~5%
> gain in the 'perf bench internals synthesize' on a big machine.
> (The numbers are not stable though)
>
>
> Before:
> # perf bench internals synthesize --mt -M1 -I 100
> # Running 'internals/synthesize' benchmark:
> Computing performance of multi threaded perf event synthesis by
> synthesizing events on CPU 0:
> Number of synthesis threads: 1
> Average synthesis took: 68831.480 usec (+- 101.450 usec)
> Average num. events: 9982.000 (+- 0.000)
> Average time per event 6.896 usec
>
>
> After:
> # perf bench internals synthesize --mt -M1 -I 100
> # Running 'internals/synthesize' benchmark:
> Computing performance of multi threaded perf event synthesis by
> synthesizing events on CPU 0:
> Number of synthesis threads: 1
> Average synthesis took: 65036.370 usec (+- 158.121 usec)
> Average num. events: 9982.000 (+- 0.000)
> Average time per event 6.515 usec
>
>
> Thanks,
> Namhyung
>
>
> Namhyung Kim (3):
> perf tools: Use /proc/<PID>/task/<TID>/status for synthesis
> perf tools: Skip MMAP record synthesis for kernel threads
> perf tools: Use scandir() to iterate threads
>
> tools/perf/util/synthetic-events.c | 83 +++++++++++++++++++-----------
> 1 file changed, 53 insertions(+), 30 deletions(-)
>
> --
> 2.30.0.365.g02bc693789-goog
>