[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] xen-hypervisor-4.3-amd64 4.3.0-3+b1 -> Intel M/B, I/O virt. enabled, start vm -> Kernel panic
On Mon, Jun 02, 2014 at 10:34:51AM +0100, David Vrabel wrote: > On 01/06/14 17:18, Jo Mills wrote: > > Hi Konrad et al, > > > > I have had no reply from the e1000-devel list about my "e1000 Tx Hang" > > problem, but I may have stumbled on something relevant. > > > > Today I created a new VM (wheezy) running on a Wheezy dom0 - my node > > blue in the previous e-mail trail. I decided to use the e1000e device > > at 0000:01:00.0 via pciback as this device is currently free (I'm > > building a replacement for an out of date DMZ VM). > > Can you check you have 4704fe4f03a5ab27e3c36184af85d5000e0f8a48 > (xen/events: mask events when changing their VCPU binding) in your domU > kernel? > > David > Hi David, Many thanks for the quick reply. To the best of my ability I have checked and I believe the above is in the domU kernel. root@vm-server-22:~# cat /proc/version Linux version 3.2.0-4-amd64 (debian-kernel@xxxxxxxxxxxxxxxx) \ (gcc version 4.6.3 (Debian 4.6.3-14) ) #1 SMP Debian 3.2.57-3+deb7u1 root@white:~# dpkg -l linux-source-3.2 ii linux-source-3.2 3.2.57-3+deb7u1 all and then from the above sources, if I look in linux-source-3.2/drivers/xen/events.c I can see: . . . /* Rebind an evtchn so that it gets delivered to a specific cpu */ static int rebind_irq_to_cpu(unsigned irq, unsigned tcpu) { struct shared_info *s = HYPERVISOR_shared_info; struct evtchn_bind_vcpu bind_vcpu; int evtchn = evtchn_from_irq(irq); int masked; if (!VALID_EVTCHN(evtchn)) return -1; /* * Events delivered via platform PCI interrupts are always * routed to vcpu 0 and hence cannot be rebound. */ if (xen_hvm_domain() && !xen_have_vector_callback) return -1; /* Send future instances of this interrupt to other vcpu. */ bind_vcpu.port = evtchn; bind_vcpu.vcpu = tcpu; /* * Mask the event while changing the VCPU binding to prevent * it being delivered on an unexpected VCPU. */ masked = sync_test_and_set_bit(evtchn, s->evtchn_mask); /* * If this fails, it usually just indicates that we're dealing with a * virq or IPI channel, which don't actually need to be rebound. Ignore * it, but don't do the xenlinux-level rebind in that case. */ if (HYPERVISOR_event_channel_op(EVTCHNOP_bind_vcpu, &bind_vcpu) >= 0) bind_evtchn_to_cpu(evtchn, tcpu); if (!masked) unmask_evtchn(evtchn); return 0; } Best regards, Jo. _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |