Re: [RFC] perf evlist: Warn if event group has mixed sw/hw events

From: Andi Kleen
Date: Mon Oct 26 2020 - 11:21:13 EST


On Mon, Oct 26, 2020 at 11:19:37PM +0900, Namhyung Kim wrote:
> This patch just added a warning before running it. I'd really want to
> fix the kernel if possible but don't have a good idea. Thoughts?

The easiest fix would be some multi threading in perf stat opening, then then
extra latencies could be mostly hidden. One thread per group would probably
be overkill, but just a few threads would lower the penalty significantly.

I think that would be better than this patch and it's likely not that much
more complicated, as this is already a lot of code.

> +{
> + const char *known_sw_pmu[] = {
> + "software", "tracepoint", "breakpoint", "kprobe", "uprobe", "msr"

That's a non scalable approach. New pmus get added regularly. It would be better to
indicate this in a generic way from the kernel.

> + pr_warning("WARNING: Event group has mixed hw/sw events.\n"
> + "This will slow down the perf_event_open syscall.\n"
> + "Consider putting a hw event as a leader.\n\n");

You really need to tell the user which group, otherwise it is hard to find
in a large command line.


-Andi