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

Re: [Xen-devel] vNUMA and automatic numa balancing

>>> On 08.10.13 at 19:14, Elena Ufimtseva <ufimtseva@xxxxxxxxx> wrote:
> couple of questions about Xen page fault trap:
> a) In spurious_page_fault/__page_fault_type in traps.c there is a page
> walk performed and page table entries are being compared with
> required_flags
> field. It includes _PAGE_PRESENT for all levels of page entries from l4 to 
> l1.
> How this flag is set for l4 differ from one for l2 or l1? Or it is the
> same interpretation that means that the following level of page table
> entries should be checked as the
> one that caused page fault?

Not sure I understand what you're asking, as this is hardware
dictated behavior: _PAGE_PRESENT means the next lower level
of page table exists, unless (a) we're already at L1 or (b)
_PAGE_PSE is set at L2 or L3.

> b) In spurious_page_fault routine the page fault is not supposed to be
> fixed, as I understand, but just to determine the type (real, smep.. )
> If the spurious page fault detects the real fault, then it might be
> transparently fixed later or return to the guest handler as is. Is
> this correct?

Indeed spurious_page_fault() doesn't do anything but
determination, telling its caller how to behave.

But no, transparent fixing of guest mode faults happens only
_before_ spurious_page_fault() gets called, not after (and hence
not taking into account its result).


Xen-devel mailing list



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