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

[PATCH] Re: [Xen-devel] x86-64 problem with invalid page fault in linux 2.6.16-rc1

I had already pointed out to Christian that there are a couple of pieces 
missing from the 2.6.16-rc? merges (along with
the actual patches that we use for SLES10). The patch you provide here isn't 
sufficient, however - the area that
spurious page faults need to be dealt with is the entire kernel range 
(otherwise e.g. memory hotplug code, which
hopefully is or will be used for increasing a VMs memory, may trigger the same 
problem). Jan

>>> "Stephen C. Tweedie" <sct@xxxxxxxxxx> 15.02.06 21:07:37 >>>

On Fri, 2006-01-20 at 17:02 +0000, Keir Fraser wrote:
> On 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.
> 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.

OK, I've been seeing precisely the same symptoms as Jan on current
xen-unstable HV+dom0.  And with the Fedora kernel build being so
modular, this makes it completely impossible to boot on a 64-bit SMP
box.  But it looks like there's an easy fix.

The x86_64 vmalloc_fault() path is already doing a soft pagetable walk
to detect if it's a true or a spurious fault.  It only does that for the
vmalloc area; if we can get spurious faults in the module area too, then
the same test probably needs to be applied there too.

And indeed, the attached patch fixes the problem entirely for me (so
far, at least.)


Xen-devel mailing list



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