Hi all,
Here's my take on finally trying to clean up the longstanding PMUs vs.
CPU hotplug can of worms. Patch #1 is the thing to look at; patch #2
is included as an example of how it simplifies my "favourite" driver
(in fact arm-cmn actually gets one of the least-negative diffstats on
offer, but it's the one I can test on a box under my desk). I'll save
the remaining bulk-conversion noise for a follow-up if and when.
For simplicity I've framed this around the system PMU use-case, since
consolidating their whole cpumask/migration business is the big win
here, and isn't all that easy to do in separate stages. However, the
design does also allow for any driver to now benefit from implementing
the init_cpu/exit_cpu ops in place of managing their own cpuhp state;
only the automatic filtering and context migration is tied to the new
cpumask-specific scope.
Thanks,
Robin.
Robin Murphy (2):
perf: Generic hotplug/cpumask for system PMUs
perf/arm-cmn: Switch to generic cpumask
drivers/perf/arm-cmn.c | 96 +++++++++-----------------------------
include/linux/perf_event.h | 19 ++++++++
kernel/events/core.c | 76 ++++++++++++++++++++++++++----
3 files changed, 108 insertions(+), 83 deletions(-)
--
2.54.0.dirty