Re: [PATCH] perf record: Add a dummy event for a hybrid system

From: Arnaldo Carvalho de Melo
Date: Fri Jul 09 2021 - 08:51:37 EST


Em Thu, Jul 08, 2021 at 10:32:13PM -0700, Namhyung Kim escreveu:
> On Thu, Jul 8, 2021 at 9:05 AM <kan.liang@xxxxxxxxx> wrote:
> >
> > From: Kan Liang <kan.liang@xxxxxxxxxxxxxxx>
> >
> > Some symbols may not be resolved if a user only monitor one type of PMU.
> >
> > $ sudo perf record -e cpu_atom/branch-instructions/ ./big_small_workload
> > $ sudo perf report –stdio
> > # Overhead Command Shared Object Symbol
> > # ........ ......... .................
> > # ......................................
> > #
> > 28.02% perf-exec [unknown] [.] 0x0000000000401cf6
> > 11.32% perf-exec [unknown] [.] 0x0000000000401d04
> > 10.90% perf-exec [unknown] [.] 0x0000000000401d11
> > 10.61% perf-exec [unknown] [.] 0x0000000000401cfc
> >
> > To parse symbols, the side-band events, e.g., COMM, which are generated
> > by the kernel are required. To decide whether to generate the side-band
> > event, the kernel relies on the event_filter_match() to filter the
> > unrelated events. On a hybrid system, the event_filter_match() further
> > checks the CPU mask of the current enabled PMU. If an event is collected
> > on the CPU which doesn't have an enabled PMU, it's treated as an
> > unrelated event.
> >
> > The "big_small_workload" is created in a big core, but runs on a small
> > core. The side-band events are filtered, because the user only monitors
> > the PMU of the small core. The big core PMU is not enabled.
> >
> > For a hybrid system, a dummy event is required to generate the complete
> > side-band events.
> >
> > Signed-off-by: Kan Liang <kan.liang@xxxxxxxxxxxxxxx>
>
> Acked-by: Namhyung Kim <namhyung@xxxxxxxxxx>

Thanks, applied.

- Arnaldo