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

From: KY Srinivasan
Date: Thu Jul 05 2018 - 17:12:05 EST




> -----Original Message-----
> From: Ingo Molnar <mingo.kernel.org@xxxxxxxxx> On Behalf Of Ingo Molnar
> Sent: Thursday, July 5, 2018 8:38 AM
> To: KY Srinivasan <kys@xxxxxxxxxxxxx>
> Cc: x86@xxxxxxxxxx; gregkh@xxxxxxxxxxxxxxxxxxx; linux-
> kernel@xxxxxxxxxxxxxxx; devel@xxxxxxxxxxxxxxxxxxxxxx; olaf@xxxxxxxxx;
> apw@xxxxxxxxxxxxx; jasowang@xxxxxxxxxx; tglx@xxxxxxxxxxxxx;
> hpa@xxxxxxxxx; Stephen Hemminger <sthemmin@xxxxxxxxxxxxx>; Michael
> Kelley (EOSG) <Michael.H.Kelley@xxxxxxxxxxxxx>; vkuznets@xxxxxxxxxx
> Subject: Re: [PATCH 1/1] X86/Hyper-V:: Fix the circular dependency in IPI
> enlightenment.
>
>
> * KY Srinivasan <kys@xxxxxxxxxxxxx> wrote:
>
> >
> >
> > > -----Original Message-----
> > > From: Ingo Molnar <mingo.kernel.org@xxxxxxxxx> On Behalf Of Ingo
> Molnar
> > > Sent: Wednesday, July 4, 2018 9:11 AM
> > > To: KY Srinivasan <kys@xxxxxxxxxxxxx>
> > > Cc: x86@xxxxxxxxxx; gregkh@xxxxxxxxxxxxxxxxxxx; linux-
> > > kernel@xxxxxxxxxxxxxxx; devel@xxxxxxxxxxxxxxxxxxxxxx; olaf@xxxxxxxxx;
> > > apw@xxxxxxxxxxxxx; jasowang@xxxxxxxxxx; tglx@xxxxxxxxxxxxx;
> > > hpa@xxxxxxxxx; Stephen Hemminger <sthemmin@xxxxxxxxxxxxx>;
> Michael
> > > Kelley (EOSG) <Michael.H.Kelley@xxxxxxxxxxxxx>;
> vkuznets@xxxxxxxxxx
> > > Subject: Re: [PATCH 1/1] X86/Hyper-V:: Fix the circular dependency in IPI
> > > enlightenment.
> > >
> > >
> > > * kys@xxxxxxxxxxxxxxxxx <kys@xxxxxxxxxxxxxxxxx> wrote:
> > >
> > > > From: "K. Y. Srinivasan" <kys@xxxxxxxxxxxxx>
> > > >
> > > > 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@xxxxxxxxxxxxx>
> > > > Tested-by: Michael Kelley <mikelley@xxxxxxxxxxxxx>
> > > > ---
> > > > 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.

Ingo,

I am confused. The label ipi_mask_done was introduced in this patch
(the patch under question fixes a circular dependency in this patch):

commit 68bb7bfb7985df2bd15c2dc975cb68b7a901488a
Author: K. Y. Srinivasan <kys@xxxxxxxxxxxxx>
Date: Wed May 16 14:53:31 2018 -0700

X86/Hyper-V: Enable IPI enlightenments

Hyper-V supports hypercalls to implement IPI; use them.

Signed-off-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx>
Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
Reviewed-by: Michael Kelley <mikelley@xxxxxxxxxxxxx>

This patch was committed by Thomas some weeks ago and is in linux-next.
This patch is also in 4.18-rc3.

Regards,

K. Y



>
> Thanks,
>
> Ingo