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