Re: 2.6.25-rc1 xen pvops regression

From: Jeremy Fitzhardinge
Date: Sat Feb 16 2008 - 06:48:31 EST


Joel Becker wrote:
On Sat, Feb 16, 2008 at 01:44:26PM +1100, Jeremy Fitzhardinge wrote:
Joel Becker wrote:

(XEN) mm.c:1825:d109 Bad type (saw 0000000028000001 != exp 00000000e0000000) for mfn 3a2f0f (pfn f0)
(XEN) mm.c:649:d109 Error getting mfn 3a2f0f (pfn f0) from L1 entry 00000003a2f0f063 for dom109
(XEN) mm.c:1825:d109 Bad type (saw 0000000028000001 != exp 00000000e0000000) for mfn 3a2f0f (pfn f0)
(XEN) mm.c:649:d109 Error getting mfn 3a2f0f (pfn f0) from L1 entry 00000003a2f0f063 for dom109
(XEN) mm.c:3331:d109 ptwr_emulate: could not get_page_from_l1e()
Hm, I have a suspicion about what this might be. I'll haven't tried reproducing it yet though.

(XEN) Unhandled page fault in domain 109 on VCPU 0 (ec=0003)
(XEN) Pagetable walk from 00000000c01687f0:
(XEN) L4[0x000] = 00000003a2933027 00000000000006cc
(XEN) L3[0x003] = 000000039afea027 0000000000000005
(XEN) L2[0x000] = 000000039bfb7067 0000000000001048 (XEN) L1[0x168] = 00000003a2e97061 0000000000000168
(XEN) domain_crash_sync called from entry.S
(XEN) Domain 109 (vcpu#0) crashed on cpu#2:
(XEN) ----[ Xen-3.1.3-rc3 x86_64 debug=n Not tainted ]----
(XEN) CPU: 2
(XEN) RIP: e019:[<00000000c04040bd>]
What does this EIP correspond to in your kernel? Also:

c01687f0 c0417ab6 c040288f c040299a c0403270

(as guesses of potential callers to try and work out a stack trace).

ksymoops is no help at all, but I got these from objdump of
vmlinux:

c04040bd xen_set_pte
c0417ab6 set_pte_present
c040288f set_bit
c040299a __raw_spin_unlock
c0403270 __set_64bit

(My usual technique is use "gdb vmlinux" and "x/i 0x...." to do the lookup.)

Unfortunately that doesn't narrow down what the kernel was actually trying to do at the time. Clearly a set_pte; looks like someone is trying to create a writable mapping of an existing pte page.

Does "console=hvc0 earlyprintk=xen" on the kernel command line give any clue about how far it gets before crashing?

J
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/