mirror-linux/kernel/events
Jan H. Schönherr eebe6446cc perf/core: Speed up kexec shutdown by avoiding unnecessary cross CPU calls
There are typically a lot of PMUs registered, but in many cases only few
of them have an event registered (like the "cpu" PMU in the presence of
the watchdog). As the mutex is already held, it's safe to just check for
existing events before doing the cross CPU call.

This change saves tens of milliseconds from kexec time (perceived as
steal time during a hypervisor host update), with <2ms remaining for
this step in the shutdown. There might be additional potential for
parallelization or we could just disable performance monitoring during
the actual shutdown and be less graceful about it.

Signed-off-by: Jan H. Schönherr <jschoenh@amazon.de>
Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
2026-01-13 21:39:01 +01:00
..
Makefile perf/hw_breakpoint: Add KUnit test for constraints accounting 2022-08-30 10:56:20 +02:00
callchain.c perf: Support deferred user unwind 2025-10-29 10:29:58 +01:00
core.c perf/core: Speed up kexec shutdown by avoiding unnecessary cross CPU calls 2026-01-13 21:39:01 +01:00
hw_breakpoint.c perf/hw_breakpoint: Return EOPNOTSUPP for unsupported breakpoint type 2025-03-04 09:42:13 +01:00
hw_breakpoint_test.c perf/hw_breakpoint: remove MODULE_LICENSE in non-modules 2023-04-13 13:13:52 -07:00
internal.h perf: Convert mmap() refcounts to refcount_t 2025-08-15 13:13:02 +02:00
ring_buffer.c perf: Convert mmap() refcounts to refcount_t 2025-08-15 13:13:02 +02:00
uprobes.c uprobes: use kmap_local_page() for temporary page mappings 2026-01-06 16:34:28 +01:00