Re: [PATCH 1/1] X86/Hyper-V:: Fix the circular dependency in IPI enlightenment.

Ingo Molnar
2018-07-05T15:38:31Z

* KY Srinivasan <kys@microsoft.com> wrote:

>
>
> > -----Original Message-----
> > From: Ingo Molnar <mingo.kernel.org@gmail.com> On Behalf Of Ingo Molnar
> > Sent: Wednesday, July 4, 2018 9:11 AM
> > To: KY Srinivasan <kys@microsoft.com>
> > Cc: x86@kernel.org; gregkh@linuxfoundation.org; linux-
> > kernel@vger.kernel.org; devel@linuxdriverproject.org; olaf@aepfle.de;
> > apw@canonical.com; jasowang@redhat.com; tglx@linutronix.de;
> > hpa@zytor.com; Stephen Hemminger <sthemmin@microsoft.com>; Michael
> > Kelley (EOSG) <Michael.H.Kelley@microsoft.com>; vkuznets@redhat.com
> > Subject: Re: [PATCH 1/1] X86/Hyper-V:: Fix the circular dependency in IPI
> > enlightenment.
> >
> >
> > * kys@linuxonhyperv.com <kys@linuxonhyperv.com> wrote:
> >
> > > From: "K. Y. Srinivasan" <kys@microsoft.com>
> > >
> > > The IPI hypercalls depend on being able to map the Linux notion of CPU ID
> > > to the hypervisor's notion of the CPU ID. The array hv_vp_index[] provides
> > > this mapping. Code for populating this array depends on the IPI
> > functionality.
> > > Break this circular dependency.
> > >
> > > Fixes: 68bb7bfb7985 ("X86/Hyper-V: Enable IPI enlightenments")
> > >
> > > Signed-off-by: K. Y. Srinivasan <kys@microsoft.com>
> > > Tested-by: Michael Kelley <mikelley@microsoft.com>
> > > ---
> > > arch/x86/hyperv/hv_apic.c | 5 +++++
> > > arch/x86/hyperv/hv_init.c | 5 ++++-
> > > arch/x86/include/asm/mshyperv.h | 2 ++
> > > 3 files changed, 11 insertions(+), 1 deletion(-)
> >
> > Ugh, this patch wasn't even build tested, on 64-bit allyes/allmodconfig:
> >
> > arch/x86/hyperv/hv_apic.c: In function ‘__send_ipi_mask’:
> > arch/x86/hyperv/hv_apic.c:171:4: error: label ‘ipi_mask_done’ used but not
> > defined
> > scripts/Makefile.build:317: recipe for target 'arch/x86/hyperv/hv_apic.o'
> > failed
> > make[2]: *** [arch/x86/hyperv/hv_apic.o] Error 1
>
> Sorry Ingo. I had a clean build on the linux-next tree (tag: next-20180702) that
> I used to base this patch. What was the tree you applied the patch to?

If you look at the error message, it won't build against *any* tree, because
there's no 'ipi_mask_done' label either in the kernel source, or introduced
by the patch.

So whatever tree you used it on, if you build arch/x86/hyperv/hv_apic.o it should
be broken.

Thanks,

Ingo