2019-07-26 11:58:12

by Anders Roxell

[permalink] [raw]
Subject: [PATCH] arm_pmu: Mark expected switch fall-through

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 <[email protected]>
---

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.

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



2019-07-26 12:31:43

by Mark Rutland

[permalink] [raw]
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 <[email protected]>
> ---
>
> 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
>

2019-07-26 13:11:14

by Will Deacon

[permalink] [raw]
Subject: Re: [PATCH] arm_pmu: Mark expected switch fall-through

On Fri, Jul 26, 2019 at 01:29:56PM +0100, Mark Rutland wrote:
> 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 <[email protected]>
> > ---
> >
> > 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")

Does seem about right, but I'd like Lorenzo's ack on this.

Will

2019-07-26 15:19:23

by Lorenzo Pieralisi

[permalink] [raw]
Subject: Re: [PATCH] arm_pmu: Mark expected switch fall-through

On Fri, Jul 26, 2019 at 01:29:56PM +0100, Mark Rutland wrote:
> 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 <[email protected]>
> > ---
> >
> > 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")

Yes that's correct, apologies. Probably we did not hit it because CPU PM
notifier entry failures are a pretty rare event; regardless:

Acked-by: Lorenzo Pieralisi <[email protected]>

I can send the updated fix, just let me know.

Thanks,
Lorenzo

> 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
> >

2019-07-30 12:13:00

by Mark Rutland

[permalink] [raw]
Subject: Re: [PATCH] arm_pmu: Mark expected switch fall-through

On Fri, Jul 26, 2019 at 04:18:25PM +0100, Lorenzo Pieralisi wrote:
> On Fri, Jul 26, 2019 at 01:29:56PM +0100, Mark Rutland wrote:
> > 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 <[email protected]>
> > > ---
> > >
> > > 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")
>
> Yes that's correct, apologies. Probably we did not hit it because CPU PM
> notifier entry failures are a pretty rare event; regardless:
>
> Acked-by: Lorenzo Pieralisi <[email protected]>
>
> I can send the updated fix, just let me know.

I'm not sure what Will wants, but assuming you do so:

Acked-by: Mark Rutland <[email protected]>

Thanks,
Mark.

2019-07-30 12:14:03

by Will Deacon

[permalink] [raw]
Subject: Re: [PATCH] arm_pmu: Mark expected switch fall-through

On Tue, Jul 30, 2019 at 12:24:15PM +0100, Mark Rutland wrote:
> On Fri, Jul 26, 2019 at 04:18:25PM +0100, Lorenzo Pieralisi wrote:
> > On Fri, Jul 26, 2019 at 01:29:56PM +0100, Mark Rutland wrote:
> > > 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 <[email protected]>
> > > > ---
> > > >
> > > > 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")
> >
> > Yes that's correct, apologies. Probably we did not hit it because CPU PM
> > notifier entry failures are a pretty rare event; regardless:
> >
> > Acked-by: Lorenzo Pieralisi <[email protected]>
> >
> > I can send the updated fix, just let me know.
>
> I'm not sure what Will wants, but assuming you do so:
>
> Acked-by: Mark Rutland <[email protected]>

I gave up waiting, so it's already queued here:

https://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux.git/commit/?h=for-next/fixes&id=0d7fd70f26039bd4b33444ca47f0e69ce3ae0354

Will

2019-07-30 12:31:41

by Anders Roxell

[permalink] [raw]
Subject: Re: [PATCH] arm_pmu: Mark expected switch fall-through

On Tue, 30 Jul 2019 at 13:28, Will Deacon <[email protected]> wrote:
>
> On Tue, Jul 30, 2019 at 12:24:15PM +0100, Mark Rutland wrote:
> > On Fri, Jul 26, 2019 at 04:18:25PM +0100, Lorenzo Pieralisi wrote:
> > > On Fri, Jul 26, 2019 at 01:29:56PM +0100, Mark Rutland wrote:
> > > > 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 <[email protected]>
> > > > > ---
> > > > >
> > > > > 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")
> > >
> > > Yes that's correct, apologies. Probably we did not hit it because CPU PM
> > > notifier entry failures are a pretty rare event; regardless:
> > >
> > > Acked-by: Lorenzo Pieralisi <[email protected]>
> > >
> > > I can send the updated fix, just let me know.
> >
> > I'm not sure what Will wants, but assuming you do so:
> >
> > Acked-by: Mark Rutland <[email protected]>
>
> I gave up waiting

I'm sorry for letting you wait.

>, so it's already queued here:
>
> https://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux.git/commit/?h=for-next/fixes&id=0d7fd70f26039bd4b33444ca47f0e69ce3ae0354

Thanks for fixing it.

Cheers,
Anders

2019-07-30 12:45:21

by Will Deacon

[permalink] [raw]
Subject: Re: [PATCH] arm_pmu: Mark expected switch fall-through

On Tue, Jul 30, 2019 at 02:30:27PM +0200, Anders Roxell wrote:
> On Tue, 30 Jul 2019 at 13:28, Will Deacon <[email protected]> wrote:
> >
> > On Tue, Jul 30, 2019 at 12:24:15PM +0100, Mark Rutland wrote:
> > > On Fri, Jul 26, 2019 at 04:18:25PM +0100, Lorenzo Pieralisi wrote:
> > > > On Fri, Jul 26, 2019 at 01:29:56PM +0100, Mark Rutland wrote:
> > > > > 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 <[email protected]>
> > > > > > ---
> > > > > >
> > > > > > 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")
> > > >
> > > > Yes that's correct, apologies. Probably we did not hit it because CPU PM
> > > > notifier entry failures are a pretty rare event; regardless:
> > > >
> > > > Acked-by: Lorenzo Pieralisi <[email protected]>
> > > >
> > > > I can send the updated fix, just let me know.
> > >
> > > I'm not sure what Will wants, but assuming you do so:
> > >
> > > Acked-by: Mark Rutland <[email protected]>
> >
> > I gave up waiting
>
> I'm sorry for letting you wait.

No, not at all. It's just that everybody was piling in with patches for
these issues and I suspected you were busy dealing with responses. Rather
than wait, I figured the best bet was just to get this fixed.

Are you going to respin the SMMUv3 change per Robin's feedback?

Will

2019-07-30 15:51:42

by Mark Rutland

[permalink] [raw]
Subject: Re: [PATCH] arm_pmu: Mark expected switch fall-through

On Tue, Jul 30, 2019 at 12:27:59PM +0100, Will Deacon wrote:
> On Tue, Jul 30, 2019 at 12:24:15PM +0100, Mark Rutland wrote:
> > On Fri, Jul 26, 2019 at 04:18:25PM +0100, Lorenzo Pieralisi wrote:
> > > On Fri, Jul 26, 2019 at 01:29:56PM +0100, Mark Rutland wrote:
> > > > 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 <[email protected]>
> > > > > ---
> > > > >
> > > > > 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")
> > >
> > > Yes that's correct, apologies. Probably we did not hit it because CPU PM
> > > notifier entry failures are a pretty rare event; regardless:
> > >
> > > Acked-by: Lorenzo Pieralisi <[email protected]>
> > >
> > > I can send the updated fix, just let me know.
> >
> > I'm not sure what Will wants, but assuming you do so:
> >
> > Acked-by: Mark Rutland <[email protected]>
>
> I gave up waiting, so it's already queued here:
>
> https://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux.git/commit/?h=for-next/fixes&id=0d7fd70f26039bd4b33444ca47f0e69ce3ae0354

Great; I'll mark this thread as done, then. :)

Mark.

2019-07-30 16:39:59

by Anders Roxell

[permalink] [raw]
Subject: Re: [PATCH] arm_pmu: Mark expected switch fall-through

On Tue, 30 Jul 2019 at 14:43, Will Deacon <[email protected]> wrote:
>
> On Tue, Jul 30, 2019 at 02:30:27PM +0200, Anders Roxell wrote:
> > On Tue, 30 Jul 2019 at 13:28, Will Deacon <[email protected]> wrote:
> > >
> > > On Tue, Jul 30, 2019 at 12:24:15PM +0100, Mark Rutland wrote:
> > > > On Fri, Jul 26, 2019 at 04:18:25PM +0100, Lorenzo Pieralisi wrote:
> > > > > On Fri, Jul 26, 2019 at 01:29:56PM +0100, Mark Rutland wrote:
> > > > > > 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 <[email protected]>
> > > > > > > ---
> > > > > > >
> > > > > > > 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")
> > > > >
> > > > > Yes that's correct, apologies. Probably we did not hit it because CPU PM
> > > > > notifier entry failures are a pretty rare event; regardless:
> > > > >
> > > > > Acked-by: Lorenzo Pieralisi <[email protected]>
> > > > >
> > > > > I can send the updated fix, just let me know.
> > > >
> > > > I'm not sure what Will wants, but assuming you do so:
> > > >
> > > > Acked-by: Mark Rutland <[email protected]>
> > >
> > > I gave up waiting
> >
> > I'm sorry for letting you wait.
>
> No, not at all. It's just that everybody was piling in with patches for
> these issues and I suspected you were busy dealing with responses. Rather
> than wait, I figured the best bet was just to get this fixed.

Thanks.

>
> Are you going to respin the SMMUv3 change per Robin's feedback?

Yes, just sent it.

Cheers,
Anders