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

Re: [Xen-devel] [Linux PATCH] Fix to hugepages to work around new PWT handling


  • To: Dave McCracken <dcm@xxxxxxxx>
  • From: Jeremy Fitzhardinge <jeremy@xxxxxxxx>
  • Date: Thu, 24 Jun 2010 11:05:21 +0100
  • Cc: Xen Developers List <xen-devel@xxxxxxxxxxxxxxxxxxx>
  • Delivery-date: Thu, 24 Jun 2010 03:06:20 -0700
  • List-id: Xen developer discussion <xen-devel.lists.xensource.com>

On 06/09/2010 08:26 PM, Dave McCracken wrote:
>> But in general kernel code shouldn't be just nakedly setting present on
>> the pte without also remaking the whole thing.  That doesn't happen with
>> normal ptes, and it probably shouldn't happen with huge ptes.  Forcing
>> present on a pte at this level seems very bogus.   Why not change the
>> upper code to set present if that's want it wants?
>>
>> I'll skip this chunk for now.
>>     
> Um, this is the upper level code.  The entire purpose of make_huge_pte is to 
> construct a present huge pte from page and pgprot. The problem is that the 
> original code makes the pte, then sets the present bit via pte_mkhuge().  
> This 
> means the Xen-specific macro that triggers on present is misled and doesn't 
> do 
> the pfn_to_mfn().  Without this patch hugepages is handing pfns to the 
> hypervisor to map instead of mfns.
>   

In principle, setting present should cause the pte to be converted from
pfn to mfn, but I don't think that ever happens with normal ptes (since
non-present ptes contain swap info).  But I don't see where a huge pte
gets present set; pte_mkhuge itself doesn't do anything except set PSE.

    J

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel


 


Rackspace

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