Subject: Re: linux-next: Tree for Jun 28 (arch/powerpc/platforms/pseries/mobility.c)

From: Petr Mladek <[email-masked]>
Date: Fri, 30 Jun 2023 16:33:39 +0200

On Thu 2023-06-29 12:51:54, Doug Anderson wrote:
> Hi,
> 
> On Thu, Jun 29, 2023 at 1:40 AM Petr Mladek <[email-masked]> wrote:
> >
> > On Wed 2023-06-28 22:07:17, Randy Dunlap wrote:
> > >
> > >
> > > On 6/27/23 21:27, Stephen Rothwell wrote:
> > > > Hi all,
> > > >
> > > > Please do *not* add any v5.6 related stuff to your linux-next included
> > > > branches until after v5.5-rc1 has been released.
> > > >
> > > > Changes since 20230627:
> > > >
> > >
> > > on powerpc64, when
> > > # CONFIG_HARDLOCKUP_DETECTOR is not set:
> > >
> > > ../arch/powerpc/platforms/pseries/mobility.c: In function 'pseries_migrate_partition':
> > > ../arch/powerpc/platforms/pseries/mobility.c:753:17: error: implicit declaration of function 'watchdog_hardlockup_set_timeout_pct'; did you mean 'watchdog_hardlockup_stop'? [-Werror=implicit-function-declaration]
> > >   753 |                 watchdog_hardlockup_set_timeout_pct(factor);
> > >       |                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> > >       |                 watchdog_hardlockup_stop
> > > cc1: all warnings being treated as errors
> > >
> > >
> > > Full randconfig file is attached.
> > >
> > >
> > > If I blatantly modify include/linux/nmi.h with these comments, it builds OK:
> > >
> > > //#if defined(CONFIG_HARDLOCKUP_DETECTOR_ARCH) || defined(CONFIG_HARDLOCKUP_DETECTOR_SPARC64)
> > > #include <asm/nmi.h>
> > > //#endif
> >
> > This is well describes the probem.
> >
> > The decision whether to include asm/nmi.h should not depend only on
> > CONFIG_HARDLOCKUP_DETECTOR_* when it is needed also for other stuff.
> >
> > I see two reasonable solutions:
> >
> > 1. We either create an empty "include/asm-generic/nmi.h" and
> >    always include asm/nmi.h in linux/nmi.h.
> >
> >    It looks is a bit weird but it might be the easiest solution
> >    unless it creates another problems elsewhere.
> >
> >
> > 2. Explicitely include asm/nmi.h where needed, in
> >    arch/powerpc/platforms/pseries/mobility.c and maybe somewhere as
> >    well.
> >
> >    It is already done in many cases:
> >
> >
> > I would personally prefer the 2nd variant.
> 
> Yes, this seems right to me. I'm always inclined to get build failures
> fixed ASAP, so I've posted a patch for it:
> 
> https://lore.kernel.org/r/20230629124500.1.I55e2f4e7903d686c4484cb23c033c6a9e1a9d4c4@changeid

Thanks a lot for the patch.

> > I am going to check other locations where it might be needed.
> 
> If you find anything else, we can either do a v2 or another patch.

I have found one more suspicious usage in arch/powerpc/kernel/exceptions-64s.S.
It calls soft_nmi_interrupt() which is defined in
powerpc/include/asm/nmi.h as well.

But it seems that it compiles even when asm/nmi.h is not included.
In fact, it has never been included. I have double checked this
with cross compilation.

So, this hopefully was the last build problem /o\

Best Regards,
Petr