On 06/09/2011 05:01 PM, Tim Deegan wrote:
At 13:40 +0100 on 09 Jun (1307626812), Stefano Stabellini wrote:
CC'ing xen-devel and Tim.
This is a comment from a previous email in the thread:
It most easily reproduced only on xen hvm 32bit guest under heavy vcpus
contention for real cpus resources (i.e. I had to overcommit cpus and
run several cpu hog tasks on host to make guest crash on reboot cycle).
And from last experiments, crash happens only on on hosts that doesn't
have hap feature or if hap is disabled in hypervisor.
it makes me think that it is a shadow pagetables bug; see details below.
You can find more details on it following this thread on the lkml.
Oh dear. I'm having a look at the linux code now to try and understand
the behaviour. In the meantime, what version of Xen was this on? If
It's rhel5.6 xen. I've tried to test on SLES 11 that has 4.0.1 xen, however
wasn't able to reproduce problem. (I'm not sure if hap was turned off in
case). More detailed info can be found at RHBZ#700565
you're willing to try recompiling Xen with some small patches that
disable the "cleverer" parts of the shadow pagetable code that might
indicate something. (Of course, it might just change the timing to
obscure a real linux bug too.)
Haven't got to this part yet. But looks like it's the only option left.
The only time I've seen a corruption like this, with a mapping
transiently going to the wrong frame, it turned out to be caused by
32-bit pagetable-handling code writing a PAE PTE with a single 64-bit
write (which is not atomic on x86-32), and the TLB happening to see the
intermediate, half-written entry. I doubt that there's any bug like
that in linux, though, or we'd surely have seen it before now.
Xen-devel mailing list