Re: [PATCH] KVM: Fix kvm_irqfd_init initialization

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

 



On Tue, May 07, 2013 at 06:24:48PM +0300, Michael S. Tsirkin wrote:
> On Tue, May 07, 2013 at 06:16:09PM +0300, Gleb Natapov wrote:
> > On Tue, May 07, 2013 at 06:11:33PM +0300, Michael S. Tsirkin wrote:
> > > On Tue, May 07, 2013 at 11:05:12PM +0800, Asias He wrote:
> > > > On Tue, May 07, 2013 at 05:59:38PM +0300, Michael S. Tsirkin wrote:
> > > > > On Tue, May 07, 2013 at 10:54:16PM +0800, Asias He wrote:
> > > > > > In commit a0f155e96 'KVM: Initialize irqfd from kvm_init()', when
> > > > > > kvm_init() is called the second time (e.g kvm-amd.ko and kvm-intel.ko),
> > > > > > kvm_arch_init() will fail with -EEXIST,
> > > > > 
> > > > > Wow. Is this intentional?
> > > > 
> > > > I think it is. You can not be amd and intel at the same time ;-)
> > > > 
> > > > kvm_arch_init
> > > > 
> > > >     if (kvm_x86_ops) {
> > > >             printk(KERN_ERR "kvm: already loaded the other module\n");
> > > >             r = -EEXIST;
> > > >             goto out;
> > > >     }       
> > > > 
> > > 
> > > Interesting. So we check it with
> > > 	if (kvm_x86_ops)
> > >  and later we do
> > >         kvm_x86_ops = ops;
> > > 
> > > 
> > > This looks racy - or is something serializing
> > > module loading?
> > > 
> > I think module loading is serialized.
> >
> 
> Hmm then I don't understand ... both kvm-intel
> and kvm-amd *can't* be loaded at the same time:
> module loading fails for one of them.
> 
Why would it fail?

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