Linux KVM/arm64 development list
 help / color / mirror / Atom feed
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

      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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox