[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] Problem pinning pages from dom0



>I am trying to pin some pages (used to work fine), but now I am seeing
>loads of these:
>
>DOM0: (file=memory.c, line=379) Bad L1 page type settings 0100
>DOM0: (file=memory.c, line=379) Bad L1 page type settings 0080
>DOM0: (file=memory.c, line=341) Bad page type for pfn 000090f9
>(20000000)
>DOM0: (file=memory.c, line=779) Error while pinning pfn 000090f9
>
>Any clues as to the character of my offence? (Perhaps this is obvious
>but it is getting a bit late now...)

The first two are produced as sanity checks by get_page_from_l1e(), 
called either when you update a 'leaf' [*] page table entry (your 
case I guess), or when you install a new 'leaf' page table. The 
PTEs in question are 'unsafe' in that they set bits which are not
allowed by the Xen interface (viz. global bit and superpage bit
respectively). 

Given that you're unlikely to be trying to do this on purpose, 
the most probable cause is that your page table is just screwed, 
and the 'leaf' entries in question are actually random bits of 
other memory; easiest way to check this is to print out the entire
32-bit value in memory.c and see if it looks at all plausible (viz.
looks like a mapping for some piece of VAS you know about). 

This would also explain the third message which should never really
happen unless your dealing with bogus page structures; turn on 
DPRINTK() in include/xeno/mm.h:get_page_type() for more info about
what's really going wron ghere. 

The last is effectively the same as the third, just triggered from 
a different point. 

Hope this is of some use, 

cheers, 

S.




 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.