WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-devel

Re: [Xen-devel][PATCH] unshadow the page table page which areused as dat

To: "Xin, Xiaohui" <xiaohui.xin@xxxxxxxxx>, Tim Deegan <Tim.Deegan@xxxxxxxxxx>
Subject: Re: [Xen-devel][PATCH] unshadow the page table page which areused as data page
From: Keir Fraser <Keir.Fraser@xxxxxxxxxxxx>
Date: Mon, 10 Dec 2007 08:59:21 +0000
Cc: xen-devel@xxxxxxxxxxxxxxxxxxx, "Kay, Allen M" <allen.m.kay@xxxxxxxxx>
Delivery-date: Mon, 10 Dec 2007 00:53:26 -0800
Envelope-to: www-data@xxxxxxxxxxxxxxxxxx
In-reply-to: <9A1462408D6D394C8A7A812E98F00A4D025B6131@xxxxxxxxxxxxxxxxxxxxxxxxxxxx>
List-help: <mailto:xen-devel-request@lists.xensource.com?subject=help>
List-id: Xen developer discussion <xen-devel.lists.xensource.com>
List-post: <mailto:xen-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
Thread-index: Acg43yXSAXB2FdVQTkeqzj8S82LPowB9s36gAAwRRT4AAGHNUAAAzP2o
Thread-topic: [Xen-devel][PATCH] unshadow the page table page which areused as data page
User-agent: Microsoft-Entourage/11.3.6.070618
Unshadowing the whole page is probably not a very good idea. If bit 0 is set
then of course you can do a lot more. But if bit 0 is clear then there is
not necessarily a gpfn to pull out and test.

Perhaps if you knew that the page contained no or very few _PAGE_PRESENT
ptes then you could unshadow? But it's probably not worth the book-keeping.

Beyond that you're into OS-specific heuristics.

 -- Keir

On 10/12/07 08:42, "Xin, Xiaohui" <xiaohui.xin@xxxxxxxxx> wrote:

> So now we CANNOT do any optimization to the guest write (like what we have
> seen that the guest just write pure data in an unused page table), right?
> 
> Thanks
> Xiaohui
> 
> -----Original Message-----
> From: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
> [mailto:xen-devel-bounces@xxxxxxxxxxxxxxxxxxx] On Behalf Of Keir Fraser
> Sent: 2007年12月10日 16:25
> To: Xin, Xiaohui; Tim Deegan
> Cc: xen-devel@xxxxxxxxxxxxxxxxxxx; Kay, Allen M
> Subject: Re: [Xen-devel][PATCH] unshadow the page table page which areused as
> data page
> 
> It's a very common thing to do with unused ptes. You can't really infer
> anything from writes where _PAGE_PRESENT is clear.
> 
>  -- Keir
> 
> On 10/12/07 02:48, "Xin, Xiaohui" <xiaohui.xin@xxxxxxxxx> wrote:
> 
>> Hi, Tim
>> Heard from Kevin that the Linux kernel writes swap cache entries in swap
>> cache
>> pages. And the swap cache entries contains only type and offset which seems
>> not contains valid mfn at all. Does the patch will hurt this? Is there any
>> other situations that guest write NON-PTE entries in the page tables?
>> 
>> Thanks
>> Xiaohui
>> 
>> -----Original Message-----
>> From: Tim Deegan [mailto:Tim.Deegan@xxxxxxxxxx]
>> Sent: 2007年12月7日 22:40
>> To: Xin, Xiaohui
>> Cc: xen-devel@xxxxxxxxxxxxxxxxxxx; Kay, Allen M
>> Subject: Re: [Xen-devel][PATCH] unshadow the page table page which are used
>> as
>> data page
>> 
>> Hi, 
>> 
>> At 21:12 +0800 on 07 Dec (1197061925), Xin, Xiaohui wrote:
>>> Tim,
>>>  Attached is the updated patch which based on some part of your
>>> suggestion and some part of our new thoughts about it. We have
>>> re-checked the code path of the guest write emulate, found that in
>>> some extent(not all) the code checks the valid mfn for the guest
>>> written data. But maybe for the optimization, the code just check
>>> valide mfn when PRESENT bit exists. Maybe it can cover most of the
>>> cases, but not all, that's what we have found in the vt-d iperf test.
>> 
>> Hmmm.  The new behaviour is slightly nonintuitive, as it lets the guest
>> write non-present entries without unshadowing only if the bits that
>> would have been the GFN are in fact a valid GFN (which happens to
>> include zero).  I think it's OK, but needs a comment.
>> 
>> Please don't change validate_gl1e or include level-1 shadow types in
>> check_for_data_page_unshadow().  Windows, in particular, keeps all sorts
>> of non-PTE-like values in PTE slots, and we can't treat those as a
>> reason to unshadow.
>> 
>>>  To minimize the hurt to other performance of shadow, the patch tries
>>> to use the valid mfn check in the original code, please have a
>>> review. I'm not sure about the cost of the gfn_to_mfn(), and not sure
>>> whether we may get some trade-off. If you have good ideas, please let
>>> us know.
>> 
>> gfn_to_mfn() is very cheap when shadow mode is being used.
>> 
>> Cheers,
>> 
>> Tim.
> 
> 
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@xxxxxxxxxxxxxxxxxxx
> http://lists.xensource.com/xen-devel



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