On Wed, Aug 13, 2025 at 06:01:04PM +0100, Robin Murphy wrote: > It may have been different long ago, but today it seems wrong for these > drivers to skip counting disabled sibling events in group validation, > given that perf_event_enable() could make them schedulable again, and > thus increase the effective size of the group later. Conversely, if a > sibling event is truly dead then it stands to reason that the whole > group is dead, so it's not worth going to any special effort to try to > squeeze in a new event that's never going to run anyway. Thus, we can > simply remove all these checks.
So currently you can do sort of a manual event rotation inside an over-sized group and have it work. I'm not sure if anybody actually does this, but its possible. Eg. on a PMU that supports only 4 counters, create a group of 5 and periodically cycle which of the 5 events is off. So I'm not against changing this, but changing stuff like this always makes me a little fearful -- it wouldn't be the first time that when it finally trickles down to some 'enterprise' user in 5 years someone comes and finally says, oh hey, you broke my shit :-(