On Wed, Nov 13, 2019 at 04:30:42PM -0800, Ian Rogers wrote:
From: Kan Liang <kan.liang@xxxxxxxxxxxxxxx>
When counting system-wide events and cgroup events simultaneously, the
system-wide events are always scheduled out then back in during cgroup
switches, bringing extra overhead and possibly missing events. Switching
out system wide flexible events may be necessary if the scheduled in
task's cgroups have pinned events that need to be scheduled in at a higher
priority than the system wide flexible events.
I'm thinking this patch is actively broken. groups->index 'group' wide
and therefore across cpu/cgroup boundaries.
There is no !cgroup to cgroup hierarchy as this patch seems to assume,
specifically look at how the merge sort in visit_groups_merge() allows
cgroup events to be picked before !cgroup events.