From: Christoffer Dall <christoffer.dall@linaro.org>
To: Shannon Zhao <zhaoshenglong@huawei.com>
Cc: Marc Zyngier <Marc.Zyngier@arm.com>,
"kvmarm@lists.cs.columbia.edu" <kvmarm@lists.cs.columbia.edu>
Subject: Re: guest get stuck on stable 4.1.32
Date: Thu, 27 Oct 2016 11:28:12 +0200 [thread overview]
Message-ID: <20161027092812.GB14734@cbox> (raw)
In-Reply-To: <580DF895.1030701@huawei.com>
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
prev parent reply other threads:[~2016-10-27 9:28 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-10-24 12:03 guest get stuck on stable 4.1.32 Shannon Zhao
2016-10-27 9:28 ` Christoffer Dall [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20161027092812.GB14734@cbox \
--to=christoffer.dall@linaro.org \
--cc=Marc.Zyngier@arm.com \
--cc=kvmarm@lists.cs.columbia.edu \
--cc=zhaoshenglong@huawei.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.