Re: Qemu e1000 broken in -rc1 and -rc2 : bisected

From: Chen, Tiejun
Date: Sun Mar 08 2015 - 23:15:01 EST


On 2015/3/7 3:27, Ken Moffat wrote:
On Fri, Mar 06, 2015 at 12:02:40AM +0000, Ken Moffat wrote:
I have a very recent qemu i686 image, using a 3.19.0 kernel and
dhclient, which works fine if the host is running a 3.19.0 kernel,
but breaks when the host runs 4.0.0-rc1 or -rc2.

On those, dhclient does not get an address, so I have no network.
There is a message
e1000 0000:00:03.0 eth0: Reset adaptor

Before I start trying to bisect this, has anybody already seen, or
fixed, it ?

Bisected.
b4eef9b36db461ca44832226fbca614db58c0c33 is the first bad commit
commit b4eef9b36db461ca44832226fbca614db58c0c33
Author: Tiejun Chen <tiejun.chen@xxxxxxxxx>
Date: Mon Dec 22 10:32:57 2014 +0100

kvm: x86: vmx: NULL out hwapic_isr_update() in case of
!enable_apicv

In most cases calling hwapic_isr_update(), we always check if
kvm_apic_vid_enabled() == 1, but actually,
kvm_apic_vid_enabled()
-> kvm_x86_ops->vm_has_apicv()
-> vmx_vm_has_apicv() or '0' in svm case
-> return enable_apicv && irqchip_in_kernel(kvm)

So its a little cost to recall vmx_vm_has_apicv() inside
hwapic_isr_update(), here just NULL out hwapic_isr_update() in
case of !enable_apicv inside hardware_setup() then make all
related stuffs follow this. Note we don't check this under that
condition of irqchip_in_kernel() since we should make sure
definitely any caller don't work without in-kernel irqchip.

Signed-off-by: Tiejun Chen <tiejun.chen@xxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>

I have reverted this from -rc2 (big offsets, 209 and 357 lines) and
everything is working again.


Did you try Linux 4.0-rc3? That includes one relevant fix,

KVM: SVM: fix interrupt injection (apic->isr_count always 0)

Thanks
Tiejun
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/