BUG ALERT: ARM32 KVM does not work in 4.4-rc3
Hello!
My project involves ARM64, but from time to time i also test ARM32 KVM. I have discovered that it stopped working in 4.4-rc3. The
same virtual machine works perfectly under current kvmarm/next, but gets stuck at random point under 4.4-rc3 from linux-stable.
I'm not sure that i have time to investigate this quickly, but i'll post some new information as soon as i get it
Kind regards,
Pavel Fedin
Expert Engineer
Samsung Electronics Research center Russia
Quoted 8 lines · Pavel Fedin
Hello!
My project involves ARM64, but from time to time i also test ARM32 KVM. I have discovered that it stopped working in 4.4-rc3. The same virtual machine works perfectly under current kvmarm/next, but gets stuck at random point under 4.4-rc3 from linux-stable. I'm not sure that i have time to investigate this quickly, but i'll post some new information as soon as i get it
root@canarsie:~# uname -a Linux canarsie 4.4.0-rc3 #5044 SMP PREEMPT Tue Dec 1 09:12:40 GMT 2015 armv7l GNU/Linux root@canarsie:~# cat /proc/cpuinfo processor : 0 model name : ARMv7 Processor rev 4 (v7l) BogoMIPS : 48.00 Features : half thumb fastmult vfp edsp thumbee neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae evtstrm CPU implementer : 0x41 CPU architecture: 7 CPU variant : 0x0 CPU part : 0xc07 CPU revision : 4
processor : 1
model name : ARMv7 Processor rev 4 (v7l)
BogoMIPS : 48.00
Features : half thumb fastmult vfp edsp thumbee neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae evtstrm
CPU implementer : 0x41
CPU architecture: 7
CPU variant : 0x0
CPU part : 0xc07
CPU revision : 4
Hardware : Generic DT based system
Revision : 0000
Serial : 0000000000000000
The same kernel is used both as a guest and a host with v4.4-rc3.
So until you bisect it to an exact commit and configuration, I declare the alert over. ;-)
Thanks,
M.
Signature · 1 line
Jazz is not dead. It just smells funny...
Hello!
Quoted 4 lines
The same kernel is used both as a guest and a host with v4.4-rc3.
So until you bisect it to an exact commit and configuration, I declare the alert over. ;-)
By this time i have also tried it on another machine, and there it also works. Looks like it's triggered only on some particular
HW. I'll try to figure this out.
Kind regards,
Pavel Fedin
Expert Engineer
Samsung Electronics Research center Russia
Hello!
Quoted 6 lines
Quoted 6 lines
My project involves ARM64, but from time to time i also test ARM32 KVM. I have discovered that it stopped working in 4.4-rc3. The same virtual machine works perfectly under current kvmarm/next, but gets stuck at random point under 4.4-rc3 from linux-stable. I'm not sure that i have time to investigate this quickly, but i'll post some new information as soon as i get it
[skip]
Quoted 2 lines
So until you bisect it to an exact commit and configuration, I declare the alert over. ;-)
The commit in question is e6fab54423450d699a09ec2b899473a541f61971 ("ARM/arm64: KVM: test properly for a PTE's uncachedness").
Reverting it fixes the problem.
Study in qemu shows that the CPU gets stuck at PC = 0x0C with LR = 0x10. So i quickly decided that it might have to do with
caching, and my first hit was correct. The guest crashes in this state very early, sometimes it even cannot fully print "Uncompressing kernel".
The machine which reproduces it is custom Samsung's out-of-tree board. I'll investigate it further in order to determine how
exactly the commit could harm. I know that it passed reviews and testing, and i was involved too. Perhaps it's board's code fault, however.
Cc'ed to others involved.
Kind regards,
Pavel Fedin
Expert Engineer
Samsung Electronics Research center Russia
Hello!
Quoted 35 lines
-----Original Message-----
From: [email protected] [mailto:[email protected]] On Behalf Of Pavel Fedin
Sent: Tuesday, December 01, 2015 1:03 PM
To: 'Marc Zyngier'; [email protected]; [email protected]
Cc: 'Ard Biesheuvel'; [email protected]
Subject: RE: BUG ALERT: ARM32 KVM does not work in 4.4-rc3Hello!
Quoted 6 lines
Quoted 6 lines
My project involves ARM64, but from time to time i also test ARM32 KVM. I have discovered that it stopped working in 4.4-rc3. The same virtual machine works perfectly under current kvmarm/next, but gets stuck at random point under 4.4-rc3 from linux-stable. I'm not sure that i have time to investigate this quickly, but i'll post some new information as soon as i get it
[skip]
Quoted 2 lines
So until you bisect it to an exact commit and configuration, I declare the alert over. ;-)
The commit in question is
e6fab54423450d699a09ec2b899473a541f61971("ARM/arm64: KVM: test
properly for a PTE's uncachedness").
Reverting it fixes the problem.
Study in qemu shows that the CPU gets stuck at PC =0x0Cwith LR =0x10. So i quickly decided
that it might have to do with
caching, and my first hit was correct. The guest crashes in this state very early, sometimes it even cannot fully print
"Uncompressing kernel".
The machine which reproduces it is custom Samsung's out-of-tree board. I'll investigate it
further in order to determine how
exactly the commit could harm. I know that it passed reviews and testing, and i was involved too. Perhaps it's board's code fault,
however.
Quoted 1 line
Cc'ed to others involved.
The problem seems to be triggered by ARCH_SPARSEMEM_ENABLE. My top-secret machine uses it, while more widespread things like
vexpress and Exynos don't.
Kind regards,
Pavel Fedin
Expert Engineer
Samsung Electronics Research center Russia
Hello!
Quoted 6 lines
Quoted 6 lines
My project involves ARM64, but from time to time i also test ARM32 KVM. I have discovered that it stopped working in 4.4-rc3. The same virtual machine works perfectly under current kvmarm/next, but gets stuck at random point under 4.4-rc3 from linux-stable. I'm not sure that i have time to investigate this quickly, but i'll post some new information as soon as i get it
[skip]
Quoted 2 lines
So until you bisect it to an exact commit and configuration, I declare the alert over. ;-)
Just in case, to make sure you don't miss it. I have found the problem, and it's just good luck that it works on some machines.
Unreliably, BTW. The problem is that it verifies guest's physical addresses (IPA) against host memory map; and the fix is here:
http://www.spinics.net/lists/kvm/msg124561.html
Kind regards,
Pavel Fedin
Expert Engineer
Samsung Electronics Research center Russia