Re: [kvm-kmod PATCH] Provide pci_enable_msix_exact() for kernels < 3.15

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, May 07, 2014 at 08:29:19AM +0200, Jan Kiszka wrote:
> On 2014-05-06 20:35, gsomlo@xxxxxxxxx wrote:
> > Signed-off-by: Gabriel Somlo <somlo@xxxxxxx>
> > ---
> > 
> > Jan,
> > 
> > After today's pull from kvm, I also need this to build against my
> > Fedora 20 kernel (3.13.10-200.fc20.x86_64).
> 
> Which version did you pull? Neither next nor queue contain this change yet.

I have 89ca3b881987f5a4be4c5dbaa7f0df12bbdde2fd (Linux 3.15-rc4) as
the top commit.

> Right now I'm seeing different build problems:
> 
> http://buildbot.kiszka.org/kvm-kmod/builders/4-latest-kvm/builds/1788/steps/3.11-x86-64/logs/stdio
> 
> Didn't look into details yet.

That's kernel 3.11, afaict, so entirely different problem :)

> >  x86/external-module-compat.h | 5 +++++
> >  1 file changed, 5 insertions(+)
> > 
> > diff --git a/x86/external-module-compat.h b/x86/external-module-compat.h
> > index dde9463..e62486b 100644
> > --- a/x86/external-module-compat.h
> > +++ b/x86/external-module-compat.h
> > @@ -1480,6 +1480,11 @@ static inline int __register_hotcpu_notifier(struct notifier_block *nb)
> >  {
> >  	return 0;
> >  }
> > +static inline int pci_enable_msix_exact(struct pci_dev *dev,
> > +		      struct msix_entry *entries, int nvec)
> > +{
> > +	return -ENOSYS;
> > +}
> 
> First, this is not x86-specific, thus should go to
> external-module-compat-comm.h. Second, pci_enable_msix_exact was
> introduced with 3.14. And then I think we can (and should) provide the
> original content of this wrapper once it is needed, not a stub.

The patch I sent fixed building for 3.13.10-200.fc20.x86_64; as soon
as I upgraded to 3.14.2-200.fc20.x86_64 (about half hour later), I
could build for it just fine, no errors.

So I don't really *need* this fix anymore, but given what you said and
that it works fine on 3.14 without a patch (at least for me), the
patch *should* then probably be:

diff --git a/external-module-compat-comm.h b/external-module-compat-comm.h
index 086127d..94b18cc 100644
--- a/external-module-compat-comm.h
+++ b/external-module-compat-comm.h
@@ -1401,3 +1401,11 @@ static inline void guest_exit(void)
 #if LINUX_VERSION_CODE < KERNEL_VERSION(3,13,0)
 static inline void smp_mb__after_srcu_read_unlock(void) {}
 #endif
+
+#if LINUX_VERSION_CODE < KERNEL_VERSION(3,14,0)
+static inline int pci_enable_msix_exact(struct pci_dev *dev,
+                     struct msix_entry *entries, int nvec)
+{
+       return -ENOSYS;
+}
+#endif
--

except I can't test it anymore without rebooting to 3.13, which I can't
do right away :)

Regards,
--G

--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux