From mboxrd@z Thu Jan 1 00:00:00 1970 From: Patrick Colp Subject: Re: xenpaging crashes xen in is_iomem_page() Date: Mon, 26 Jul 2010 09:15:34 -0400 Message-ID: References: <20100726115837.GA5643@aepfle.de> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Return-path: In-Reply-To: <20100726115837.GA5643@aepfle.de> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xensource.com Errors-To: xen-devel-bounces@lists.xensource.com To: Olaf Hering Cc: xen-devel@lists.xensource.com List-Id: xen-devel@lists.xenproject.org I've not seen this error before. Does your computer have EPT support? What's the patch at the end? Is that a fix or a recent change that you think might be causing the problem? Patrick On 26 July 2010 07:58, Olaf Hering wrote: > > Is xenpaging supposed to work? > For me its crashing on a 4x3.6GHz Xeon, 4G system running SLES11 SP1. > > There is one guest running. > A simple minded test of xenpaging crashes the host with xen 4.0 and > xen-unstable the same way: > > =C2=A0# xenpaging 1 1 > xc: error: Error flushing ioemu cache: Internal error > (XEN) mm.c:768:d0 mfn 431f page ffff82f6000863e0 ci 0180000000000000/0000= 000000000000 32 > (XEN) mm.c:769:d0 ffff82f6000863e0: 0000000000000000 0180000000000000 000= 0000000000000 0000000000000000 > (XEN) Assertion '(page->count_info & ((1UL<<(64 - (9)))-1)) !=3D 0' faile= d at mm.c:772 > (XEN) Debugging connection not set up. > (XEN) ----[ Xen-4.1.21836-20100726.111138 =C2=A0x86_64 =C2=A0debug=3Dy = =C2=A0Not tainted ]---- > (XEN) CPU: =C2=A0 =C2=A03 > (XEN) RIP: =C2=A0 =C2=A0e008:[] is_iomem_page+0x11e/0x1= 6c > (XEN) RFLAGS: 0000000000010246 =C2=A0 CONTEXT: hypervisor > (XEN) rax: 007fffffffffffff =C2=A0 rbx: ffffffffffffffff =C2=A0 rcx: 0000= 0000c8c7d8ae > (XEN) rdx: 00000000000000d5 =C2=A0 rsi: 000000000036cb58 =C2=A0 rdi: 0000= 0000000003e8 > (XEN) rbp: ffff83012fecfbd8 =C2=A0 rsp: ffff83012fecfb98 =C2=A0 r8: =C2= =A00000000000000003 > (XEN) r9: =C2=A00000000000000004 =C2=A0 r10: 0000000000000004 =C2=A0 r11:= 0000000000000001 > (XEN) r12: 0000000000000000 =C2=A0 r13: 0180000000000000 =C2=A0 r14: 0000= 000000000000 > (XEN) r15: ffff82f6000863e0 =C2=A0 cr0: 0000000080050033 =C2=A0 cr4: 0000= 0000000006f0 > (XEN) cr3: 0000000127c2e000 =C2=A0 cr2: 00007f2aeea5d270 > (XEN) ds: 0000 =C2=A0 es: 0000 =C2=A0 fs: 0000 =C2=A0 gs: 0000 =C2=A0 ss:= e010 =C2=A0 cs: e008 > (XEN) Xen stack trace from rsp=3Dffff83012fecfb98: > (XEN) =C2=A0 =C2=A00180000000000000 0000000000000000 0000000000000000 fff= f8301192c0000 > (XEN) =C2=A0 =C2=A0000000000000431f ffff8301192c0000 000000000000431f 000= 000000060c000 > (XEN) =C2=A0 =C2=A0ffff83012fecfc18 ffff82c4801ca912 0000000000000000 000= 0000100000000 > (XEN) =C2=A0 =C2=A0ffff8301192c0000 000000000060c000 ffff8800cd749e58 000= 0000000000000 > (XEN) =C2=A0 =C2=A0ffff83012fecfc28 ffff82c4801cee3d ffff83012fecfc78 fff= f82c4801ceddd > (XEN) =C2=A0 =C2=A0000000000010e540 7400000000000002 ffff82f6021ca810 fff= ffffffffffff3 > (XEN) =C2=A0 =C2=A0000000000060c000 ffff8800cd749e58 0000000000000000 000= 000000060c000 > (XEN) =C2=A0 =C2=A0ffff83012fecfda8 ffff82c48014fc53 ffff83012fecff18 4c0= 0000000000002 > (XEN) =C2=A0 =C2=A0ffff82f6024f85d0 000000002ffe4c60 4000000000000000 fff= f82f602510fa0 > (XEN) =C2=A0 =C2=A0000000000012887d 0000000000000067 ffff83012fea0000 fff= f83012fea0000 > (XEN) =C2=A0 =C2=A0000000000010e540 ffff83012fecfe38 ffff83012fecfcf8 fff= f82c480167c59 > (XEN) =C2=A0 =C2=A0ffff83012fecfd88 ffff82c480167e96 ffff83012fecfd48 000= 000000012887d > (XEN) =C2=A0 =C2=A00000000000000000 0000000000000000 ffff83012fecfd58 000= 0000000249b00 > (XEN) =C2=A0 =C2=A000000000001288a0 00000000124d8125 ffff8301288a02e8 000= 0000000000000 > (XEN) =C2=A0 =C2=A00000000000000000 0000000000000001 00000000124d8125 fff= f83012fea0000 > (XEN) =C2=A0 =C2=A00000000000000202 fffffffffffffff3 000000000060c000 fff= f8800cd749e58 > (XEN) =C2=A0 =C2=A00000000000000000 00007fffe5f712b0 ffff83012fecfef8 fff= f82c480103568 > (XEN) =C2=A0 =C2=A0ffff83012fea0000 0000000000000000 ffff83012fecfe08 fff= f82c480163b65 > (XEN) =C2=A0 =C2=A00000000100000082 ffff82f602511400 ffff83012fea0000 fff= f83012fea0000 > (XEN) =C2=A0 =C2=A00000000000000000 ffff82f602511400 ffff83012fecfee8 fff= f82c48016e8d5 > (XEN) Xen call trace: > (XEN) =C2=A0 =C2=A0[] is_iomem_page+0x11e/0x16c > (XEN) =C2=A0 =C2=A0[] p2m_mem_paging_nominate+0xc3/0x25= 2 > (XEN) =C2=A0 =C2=A0[] mem_paging_domctl+0x2d/0x70 > (XEN) =C2=A0 =C2=A0[] mem_event_domctl+0x36f/0x3a2 > (XEN) =C2=A0 =C2=A0[] arch_do_domctl+0x2573/0x2740 > (XEN) =C2=A0 =C2=A0[] do_domctl+0x1222/0x12aa > (XEN) =C2=A0 =C2=A0[] syscall_enter+0xf2/0x14c > (XEN) > (XEN) > (XEN) **************************************** > (XEN) Panic on CPU 3: > (XEN) Assertion '(page->count_info & ((1UL<<(64 - (9)))-1)) !=3D 0' faile= d at mm.c:772 > (XEN) **************************************** > (XEN) > (XEN) Reboot in five seconds... > (XEN) Debugging connection not set up. > > > --- > =C2=A0xen/arch/x86/mm.c | =C2=A0 =C2=A07 +++++++ > =C2=A01 file changed, 7 insertions(+) > > --- xen-unstable.hg-4.1.21836.orig/xen/arch/x86/mm.c > +++ xen-unstable.hg-4.1.21836/xen/arch/x86/mm.c > @@ -99,6 +99,7 @@ > =C2=A0#include > =C2=A0#include > =C2=A0#include > +#include > =C2=A0#include > =C2=A0#include > =C2=A0#include > @@ -762,6 +763,12 @@ int is_iomem_page(unsigned long mfn) > > =C2=A0 =C2=A0 /* Caller must know that it is an iomem page, or a referenc= e is held. */ > =C2=A0 =C2=A0 page =3D mfn_to_page(mfn); > + =C2=A0 =C2=A0if ((page->count_info & PGC_count_mask) =3D=3D 0) { > + =C2=A0 =C2=A0unsigned long **p =3D (unsigned long **)page; > + =C2=A0 =C2=A0MEM_LOG("mfn %lx page %p ci %p/%p %d", mfn, page, (void *)= page->count_info, (void *)(page->count_info & PGC_count_mask), (int)sizeof(= *page)); > + =C2=A0 =C2=A0MEM_LOG("%p: %p %p %p %p",page,p[0],p[1],p[2],p[3]); > + =C2=A0 =C2=A0mdelay(1234); > + =C2=A0 =C2=A0} > =C2=A0 =C2=A0 ASSERT((page->count_info & PGC_count_mask) !=3D 0); > > =C2=A0 =C2=A0 return (page_get_owner(page) =3D=3D dom_io); > > _______________________________________________ > Xen-devel mailing list > Xen-devel@lists.xensource.com > http://lists.xensource.com/xen-devel > >