]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
arm64, riscv, perf: Remove RCU_NONIDLE() usage
authorPeter Zijlstra <peterz@infradead.org>
Thu, 12 Jan 2023 19:44:00 +0000 (20:44 +0100)
committerIngo Molnar <mingo@kernel.org>
Fri, 13 Jan 2023 10:48:17 +0000 (11:48 +0100)
The PM notifiers should no longer be ran with RCU disabled (per the
previous patches), as such this hack is no longer required either.

Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Tested-by: Tony Lindgren <tony@atomide.com>
Tested-by: Ulf Hansson <ulf.hansson@linaro.org>
Acked-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Acked-by: Frederic Weisbecker <frederic@kernel.org>
Link: https://lore.kernel.org/r/20230112195542.151174682@infradead.org
drivers/perf/arm_pmu.c
drivers/perf/riscv_pmu_sbi.c

index 9b593f985805eb782ee6e9ec612ff10b2003a8bf..c34d5fe0fc3c6f668dc531d710d74ebd5e51e60e 100644 (file)
@@ -758,17 +758,8 @@ static void cpu_pm_pmu_setup(struct arm_pmu *armpmu, unsigned long cmd)
                case CPU_PM_ENTER_FAILED:
                         /*
                          * Restore and enable the counter.
-                         * armpmu_start() indirectly calls
-                         *
-                         * perf_event_update_userpage()
-                         *
-                         * that requires RCU read locking to be functional,
-                         * wrap the call within RCU_NONIDLE to make the
-                         * RCU subsystem aware this cpu is not idle from
-                         * an RCU perspective for the armpmu_start() call
-                         * duration.
                          */
-                       RCU_NONIDLE(armpmu_start(event, PERF_EF_RELOAD));
+                       armpmu_start(event, PERF_EF_RELOAD);
                        break;
                default:
                        break;
index f6507efe2a5846d8180b1baf1047424fd65303bb..7b2288d4b1ecabcb13e279818e736df5eb379cfe 100644 (file)
@@ -771,14 +771,8 @@ static int riscv_pm_pmu_notify(struct notifier_block *b, unsigned long cmd,
                case CPU_PM_ENTER_FAILED:
                        /*
                         * Restore and enable the counter.
-                        *
-                        * Requires RCU read locking to be functional,
-                        * wrap the call within RCU_NONIDLE to make the
-                        * RCU subsystem aware this cpu is not idle from
-                        * an RCU perspective for the riscv_pmu_start() call
-                        * duration.
                         */
-                       RCU_NONIDLE(riscv_pmu_start(event, PERF_EF_RELOAD));
+                       riscv_pmu_start(event, PERF_EF_RELOAD);
                        break;
                default:
                        break;