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

RE: [Xen-devel] x86-64 problem with invalid page fault inlinux 2.6.16-rc1

Jan Beulich wrote:
>> In SMP systems we need the guest to handle spurious page-not-present
>> faults at any time and at any virtual address. This is a side effect
>> of the writable pagetable implementation.
> So far it was my understanding that writable page tables are not the
> normal way of operating for the guest (I thought this was only
> happening in shadow mode). If that assumption is wrong, why get all
> the page table pages converted to readonly in the kernel? 

Writable page tables are the default operating mode in XenLinux. Xen
write-protects page tables to intercept writes to page tables so that it
can allow the guest to continue on writes while it can check validity of
the modifications when flushing the modifications by making snapshot of
the page table page. Xen also disconnects the such pages by invalidating
the PTE that maps the page.

But if this problem is happening you should see such page faults when
handling page tables.

If you are saying "a subsequent software page table walk shows all
page table entries present", then how about permission? Do they have the
U bit on? 

>> If the vmalloc_fault path no longer covers all of the kernel virtual
>> address space then a spurious-fault detection needs to be added
>> before oops'ing the kernel.
> That would then include the kernel image itself, too. But we never
> see any page faults there. 
> Further, what updating are you talking about - the area for a loaded
> module gets mapped once and then never touched again (and as said in
> the original mail, the faults are occuring long after the affected
> module got loaded)?  
> Jan

Intel Open Source Technology Center

Xen-devel mailing list



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