Messages in this thread | | | Date | Fri, 26 Jul 2019 13:29:56 +0100 | From | Mark Rutland <> | Subject | Re: [PATCH] arm_pmu: Mark expected switch fall-through |
| |
On Fri, Jul 26, 2019 at 01:27:37PM +0200, Anders Roxell wrote: > When fall-through warnings was enabled by default the following warning > was starting to show up: > > ../drivers/perf/arm_pmu.c: In function ‘cpu_pm_pmu_notify’: > ../drivers/perf/arm_pmu.c:726:3: warning: this statement may fall > through [-Wimplicit-fallthrough=] > cpu_pm_pmu_setup(armpmu, cmd); > ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > ../drivers/perf/arm_pmu.c:727:2: note: here > case CPU_PM_ENTER_FAILED: > ^~~~ > > Rework so that the compiler doesn't warn about fall-through. > > Fixes: d93512ef0f0e ("Makefile: Globally enable fall-through warning") > Signed-off-by: Anders Roxell <anders.roxell@linaro.org> > --- > > I'm not convinced that this is the correct patch to fix this issue. > However, I can't see why we do 'armpmu->start(armpmu);' only in 'case > CPU_PM_ENTER_FAILED' and why we not call function cpu_pm_pmu_setup() > there also, since in cpu_pm_pmu_setup() has a case prepared for > CPU_PM_ENTER_FAILED.
I agree, think that should be:
case CPU_PM_EXIT: case CPU_PM_ENTER_FAILED: cpu_pm_pmu_setup(armpmu, cmd); armpmu->start(armpmu); break;
... so that we re-start the events before we start the PMU.
That would be a fix for commit:
da4e4f18afe0f372 ("drivers/perf: arm_pmu: implement CPU_PM notifier")
Thanks, Mark.
> > drivers/perf/arm_pmu.c | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/drivers/perf/arm_pmu.c b/drivers/perf/arm_pmu.c > index 2d06b8095a19..465a15705bab 100644 > --- a/drivers/perf/arm_pmu.c > +++ b/drivers/perf/arm_pmu.c > @@ -724,6 +724,7 @@ static int cpu_pm_pmu_notify(struct notifier_block *b, unsigned long cmd, > break; > case CPU_PM_EXIT: > cpu_pm_pmu_setup(armpmu, cmd); > + /* Fall through */ > case CPU_PM_ENTER_FAILED: > armpmu->start(armpmu); > break; > -- > 2.20.1 >
| |