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

Re: [Xen-devel] [PATCH] xen/mm: do direct hypercall in xen_set_pte() if batching is unavailable



On 11/06/12 13:29, Konrad Rzeszutek Wilk wrote:
> On Mon, Jun 11, 2012 at 11:23:11AM +0100, David Vrabel wrote:
>> On 10/06/12 11:23, Konrad Rzeszutek Wilk wrote:
>>> On Tue, Jun 05, 2012 at 12:07:46PM -0400, Konrad Rzeszutek Wilk wrote:
>>>> On Fri, Jun 01, 2012 at 04:14:54PM +0100, David Vrabel wrote:
>>>>> From: David Vrabel <david.vrabel@xxxxxxxxxx>
>>>>>
>>>>> In xen_set_pte() if batching is unavailable (because the caller is in
>>>>> an interrupt context such as handling a page fault) it would fall back
>>>>> to using native_set_pte() and trapping and emulating the PTE write.
>>>>>
>>>>> On 32-bit guests this requires two traps for each PTE write (one for
>>>>> each dword of the PTE).  Instead, do one mmu_update hypercall
>>>>> directly.
>>>>
>>>> OK.
>>>>>
>>>>> This significantly improves page fault performance in 32-bit PV
>>>>> guests.
>>>>
>>>> Nice!
>>>
>>> With this patch I keep on getting this (which is v3.5-rc2 plus my
>>> patches in stable/for-linus-3.5 and yours):
>> [...]
>>> (XEN) mm.c:659:d0 Could not get page ref for pfn fffffffffffff
>>> (XEN) mm.c:3460:d0 Could not get page for normal update
>>
>> Are you talking about these?  I've not seen them.  Do you know when they
>> happen?
> 
> During the bootup. I hadn't really done much investigation - but reverting
> your patch (so v3.5-rc2+stable/for-linus-3.5 minus your patch) makes these
> errors go away.

Trying to update the PTE at:

pte: v: ffffffffff4f8000, p: 7f4f8000, m: fffffffffffff000

It seems we cannot get the MFN for the page containing this PTE.  It
appears not to be in the p2m which is understandable as the PFN here is
outside of available RAM (this PFN is marked as UNUSABLE in the e820 map).

It's really not clear how this has ever worked.

David

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

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