hv-24x7 pmu driver is intended to get system-wide resourse metrics and may not be used during the dump kernel, avoid loading it
Signed-off-by: Madhavan Srinivasan <ma...@linux.ibm.com> --- arch/powerpc/perf/hv-24x7.c | 3 +++ arch/powerpc/perf/hv-common.h | 2 ++ 2 files changed, 5 insertions(+) diff --git a/arch/powerpc/perf/hv-24x7.c b/arch/powerpc/perf/hv-24x7.c index d400fa391c27..3a626cd8cf54 100644 --- a/arch/powerpc/perf/hv-24x7.c +++ b/arch/powerpc/perf/hv-24x7.c @@ -1698,6 +1698,9 @@ static int hv_24x7_init(void) unsigned int pvr = mfspr(SPRN_PVR); struct hv_perf_caps caps; + if (is_kdump_kernel() || is_fadump_active()) + return 0; + if (!firmware_has_feature(FW_FEATURE_LPAR)) { pr_debug("not a virtualized system, not enabling\n"); return -ENODEV; diff --git a/arch/powerpc/perf/hv-common.h b/arch/powerpc/perf/hv-common.h index 2cce17bc321c..a4c062d2264e 100644 --- a/arch/powerpc/perf/hv-common.h +++ b/arch/powerpc/perf/hv-common.h @@ -4,6 +4,8 @@ #include <linux/perf_event.h> #include <linux/types.h> +#include <asm/fadump.h> +#include <asm/kexec.h> struct hv_perf_caps { u16 version; -- 2.47.0