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-changelog

[Xen-changelog] [xen-unstable] PoD: Don't reclaim xenheap pages in zero-

To: xen-changelog@xxxxxxxxxxxxxxxxxxx
Subject: [Xen-changelog] [xen-unstable] PoD: Don't reclaim xenheap pages in zero-sweep
From: Xen patchbot-unstable <patchbot-unstable@xxxxxxxxxxxxxxxxxxx>
Date: Tue, 15 Sep 2009 02:00:22 -0700
Delivery-date: Tue, 15 Sep 2009 02:00:36 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
List-help: <mailto:xen-changelog-request@lists.xensource.com?subject=help>
List-id: BK change log <xen-changelog.lists.xensource.com>
List-post: <mailto:xen-changelog@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/mailman/listinfo/xen-changelog>, <mailto:xen-changelog-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/mailman/listinfo/xen-changelog>, <mailto:xen-changelog-request@lists.xensource.com?subject=unsubscribe>
Reply-to: xen-devel@xxxxxxxxxxxxxxxxxxx
Sender: xen-changelog-bounces@xxxxxxxxxxxxxxxxxxx
# HG changeset patch
# User Keir Fraser <keir.fraser@xxxxxxxxxx>
# Date 1253002158 -3600
# Node ID a06db28876fead8f25bd1edda7ff34ee2dd12877
# Parent  3deb2bd7aade3aa65904a4f5cd8f405de7a1231b
PoD: Don't reclaim xenheap pages in zero-sweep

Don't reclaim xenheap-allocated pages in the zero-sweep.  This avoids
grabbing things like grant tables mapped in the p2m.

Signed-off-by: George Dunlap <george.dunlap@xxxxxxxxxxxxx>
---
 xen/arch/x86/mm/p2m.c |    9 +++++----
 1 files changed, 5 insertions(+), 4 deletions(-)

diff -r 3deb2bd7aade -r a06db28876fe xen/arch/x86/mm/p2m.c
--- a/xen/arch/x86/mm/p2m.c     Tue Sep 15 09:08:36 2009 +0100
+++ b/xen/arch/x86/mm/p2m.c     Tue Sep 15 09:09:18 2009 +0100
@@ -759,7 +759,7 @@ p2m_pod_zero_check_superpage(struct doma
          * + All gfns are ram types
          * + All gfns have the same type
          * + All of the mfns are allocated to a domain
-         * + None of the mfns are used as pagetables
+         * + None of the mfns are used as pagetables, or allocated via xenheap
          * + The first mfn is 2-meg aligned
          * + All the other mfns are in sequence
          * Adding for good measure:
@@ -769,7 +769,8 @@ p2m_pod_zero_check_superpage(struct doma
         if ( !p2m_is_ram(type)
              || type != type0
              || ( (mfn_to_page(mfn)->count_info & PGC_allocated) == 0 )
-             || ( (mfn_to_page(mfn)->count_info & PGC_page_table) != 0 )
+             || ( (mfn_to_page(mfn)->count_info & 
(PGC_page_table|PGC_xen_heap)) != 0 )
+             || ( (mfn_to_page(mfn)->count_info & PGC_xen_heap  ) != 0 )
              || ( (mfn_to_page(mfn)->count_info & PGC_count_mask) > max_ref )
              || !( ( i == 0 && superpage_aligned(mfn_x(mfn0)) )
                    || ( i != 0 && mfn_x(mfn) == (mfn_x(mfn0) + i) ) ) )
@@ -860,11 +861,11 @@ p2m_pod_zero_check(struct domain *d, uns
     for ( i=0; i<count; i++ )
     {
         mfns[i] = gfn_to_mfn_query(d, gfns[i], types + i);
-        /* If this is ram, and not a pagetable, and probably not mapped
+        /* If this is ram, and not a pagetable or from the xen heap, and 
probably not mapped
            elsewhere, map it; otherwise, skip. */
         if ( p2m_is_ram(types[i])
              && ( (mfn_to_page(mfns[i])->count_info & PGC_allocated) != 0 ) 
-             && ( (mfn_to_page(mfns[i])->count_info & PGC_page_table) == 0 ) 
+             && ( (mfn_to_page(mfns[i])->count_info & 
(PGC_page_table|PGC_xen_heap)) == 0 ) 
              && ( (mfn_to_page(mfns[i])->count_info & PGC_count_mask) <= 
max_ref ) )
             map[i] = map_domain_page(mfn_x(mfns[i]));
         else

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

<Prev in Thread] Current Thread [Next in Thread>
  • [Xen-changelog] [xen-unstable] PoD: Don't reclaim xenheap pages in zero-sweep, Xen patchbot-unstable <=