Re: guest get stuck on stable 4.1.32

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

 



On Mon, Oct 24, 2016 at 08:03:33PM +0800, Shannon Zhao wrote:
> Hi,
> 
> I have a testcase which fails on host linux kernel 4.1.32. The testcase
> is that resetting the guest outside while rebooting inside at the same time.
> 
> By the way, the guest kernel is linux 4.4 with debian filesystem.
> 
> Here is the qemu command line:
> 
> qemu-kvm \
>     -smp 4 \
>     -enable-kvm \
>     -m 1024 -M virt,gic-version=2 \
>     -monitor telnet::5444,server,nowait \
>     -cpu host -nographic \
>     -device virtio-net-device,netdev=net0,mac="52:54:00:12:34:55" \
>     -netdev type=tap,id=net0,script=./qemu-ifup,downscript=no \
>     -drive file=debian.raw,if=none,id=drive-virtio-disk0,format=raw \
>     -device virtio-blk-device,drive=drive-virtio-disk0,id=virtio-disk0 \
>     -kernel Image-4.4 \
>     -append "console=ttyAMA0 root=/dev/vda1 earlycon=pl011,0x9000000 rw
> dhcp"
> 
> And the test command is:
> 
> # ssh guest_ip reboot;echo system_reset|nc host_ip 5444
> 
> After executing above command several times, the guest gets stuck. The
> guest log as follow:
> 
> ...
> Architected cp15 timer(s) running at 66.00MHz (virt).
> clocksource: arch_sys_counter: mask: 0xffffffffffffff max_cycles:
> 0xf38bc32cd, max_idle_ns: 440795204298 ns
> sched_clock: 56 bits at 66MHz, resolution 15ns, wraps every 2199023255548ns
> Console: colour dummy device 80x25
> Calibrating delay loop (skipped), value calculated using timer
> frequency.. 132.00 BogoMIPS (lpj=264000)
> pid_max: default: 32768 minimum: 301
> Security Framework initialized
> Mount-cache hash table entries: 2048 (order: 2, 16384 bytes)
> Mountpoint-cache hash table entries: 2048 (order: 2, 16384 bytes)
> Initializing cgroup subsys memory
> Initializing cgroup subsys hugetlb
> EFI services will not be available.
> ASID allocator initialised with 65536 entries
> 
> I found the guest is stuck at
> while ((now = jiffies) == j) in the function do_xor_speed(). Looks like
> there is no timer interrupt injected to guest any more.
> 
> And the kernel 4.6 has fixed this bug, but I'm not sure if there is some
> way to fix this in stable 4.1.
> 

Hmmm, v4.1 still used edge-triggered semantics for the timer, which was
causing reset issues with UEFI, so I wonder if that's related?

You could attempt at backporting the rework of the timers:
https://lists.cs.columbia.edu/pipermail/kvmarm/2015-September/016588.html

You might also need these commits on top:
0e3dfda91d9fe8e2c4d0b5d21434b173a241eeaf
1c5631c73fc2261a5df64a72c155cb53dcdc0c45

Thanks,
-Christoffer
_______________________________________________
kvmarm mailing list
kvmarm@xxxxxxxxxxxxxxxxxxxxx
https://lists.cs.columbia.edu/mailman/listinfo/kvmarm



[Index of Archives]     [Linux KVM]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux