diff mbox

x86/memshr: add static

Message ID 5846AE58020000780012594D@prv-mh.provo.novell.com (mailing list archive)
State New, archived
Headers show

Commit Message

Jan Beulich Dec. 6, 2016, 11:26 a.m. UTC
And with that drop mem_sharing_ prefixes as no longer meaningful. Once
again convert GFN function argument types at once.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
x86/memshr: add static

And with that drop mem_sharing_ prefixes as no longer meaningful. Once
again convert GFN function argument types at once.

Signed-off-by: Jan Beulich <jbeulich@suse.com>

--- a/xen/arch/x86/mm/mem_sharing.c
+++ b/xen/arch/x86/mm/mem_sharing.c
@@ -47,7 +47,7 @@ typedef struct pg_lock_data {
     unsigned short recurse_count;
 } pg_lock_data_t;
 
-DEFINE_PER_CPU(pg_lock_data_t, __pld);
+static DEFINE_PER_CPU(pg_lock_data_t, __pld);
 
 #define MEM_SHARING_DEBUG(_f, _a...)                                  \
     debugtrace_printk("mem_sharing_debug: %s(): " _f, __func__, ##_a)
@@ -67,7 +67,7 @@ DEFINE_PER_CPU(pg_lock_data_t, __pld);
 
 static struct list_head shr_audit_list;
 static spinlock_t shr_audit_lock;
-DEFINE_RCU_READ_LOCK(shr_audit_read_lock);
+static DEFINE_RCU_READ_LOCK(shr_audit_read_lock);
 
 /* RCU delayed free of audit list entry */
 static void _free_pg_shared_info(struct rcu_head *head)
@@ -100,11 +100,6 @@ static inline void page_sharing_dispose(
 
 #else
 
-int mem_sharing_audit(void)
-{
-    return -ENOSYS;
-}
-
 #define audit_add_list(p)  ((void)0)
 static inline void page_sharing_dispose(struct page_info *page)
 {
@@ -424,9 +419,9 @@ static struct page_info* mem_sharing_loo
     return NULL;
 }
 
-#if MEM_SHARING_AUDIT
-int mem_sharing_audit(void)
+static int audit(void)
 {
+#if MEM_SHARING_AUDIT
     int errors = 0;
     unsigned long count_expected;
     unsigned long count_found = 0;
@@ -552,9 +547,10 @@ int mem_sharing_audit(void)
     }
 
     return errors;
-}
+#else
+    return -EOPNOTSUPP;
 #endif
-
+}
 
 int mem_sharing_notify_enomem(struct domain *d, unsigned long gfn,
                                 bool_t allow_sleep) 
@@ -713,7 +709,7 @@ static inline struct page_info *__grab_s
     return pg;
 }
 
-int mem_sharing_debug_mfn(mfn_t mfn)
+static int debug_mfn(mfn_t mfn)
 {
     struct page_info *page;
     int num_refs;
@@ -737,23 +733,23 @@ int mem_sharing_debug_mfn(mfn_t mfn)
     return num_refs;
 }
 
-int mem_sharing_debug_gfn(struct domain *d, unsigned long gfn)
+static int debug_gfn(struct domain *d, gfn_t gfn)
 {
     p2m_type_t p2mt;
     mfn_t mfn;
     int num_refs;
 
-    mfn = get_gfn_query(d, gfn, &p2mt);
+    mfn = get_gfn_query(d, gfn_x(gfn), &p2mt);
 
     MEM_SHARING_DEBUG("Debug for domain=%d, gfn=%lx, ", 
-               d->domain_id, 
-               gfn);
-    num_refs = mem_sharing_debug_mfn(mfn);
-    put_gfn(d, gfn);
+                      d->domain_id, gfn_x(gfn));
+    num_refs = debug_mfn(mfn);
+    put_gfn(d, gfn_x(gfn));
+
     return num_refs;
 }
 
-int mem_sharing_debug_gref(struct domain *d, grant_ref_t ref)
+static int debug_gref(struct domain *d, grant_ref_t ref)
 {
     int rc;
     uint16_t status;
@@ -771,13 +767,11 @@ int mem_sharing_debug_gref(struct domain
             "==> Grant [dom=%d,ref=%d], status=%x. ", 
             d->domain_id, ref, status);
 
-    return mem_sharing_debug_gfn(d, gfn_x(gfn));
+    return debug_gfn(d, gfn);
 }
 
-int mem_sharing_nominate_page(struct domain *d,
-                              unsigned long gfn,
-                              int expected_refcnt,
-                              shr_handle_t *phandle)
+static int nominate_page(struct domain *d, gfn_t gfn,
+                         int expected_refcnt, shr_handle_t *phandle)
 {
     struct p2m_domain *hp2m = p2m_get_hostp2m(d);
     p2m_type_t p2mt;
@@ -788,7 +782,7 @@ int mem_sharing_nominate_page(struct dom
 
     *phandle = 0UL;
 
-    mfn = get_gfn_type_access(hp2m, gfn, &p2mt, &p2ma, 0, NULL);
+    mfn = get_gfn_type_access(hp2m, gfn_x(gfn), &p2mt, &p2ma, 0, NULL);
 
     /* Check if mfn is valid */
     ret = -EINVAL;
@@ -800,8 +794,9 @@ int mem_sharing_nominate_page(struct dom
         struct page_info *pg = __grab_shared_page(mfn);
         if ( !pg )
         {
-            gdprintk(XENLOG_ERR, "Shared p2m entry gfn %lx, but could not "
-                        "grab page %lx dom %d\n", gfn, mfn_x(mfn), d->domain_id);
+            gprintk(XENLOG_ERR,
+                    "Shared p2m entry gfn %lx, but could not grab page %lx dom %d\n",
+                    gfn_x(gfn), mfn_x(mfn), d->domain_id);
             BUG();
         }
         *phandle = pg->sharing->handle;
@@ -831,7 +826,7 @@ int mem_sharing_nominate_page(struct dom
             if ( !ap2m )
                 continue;
 
-            amfn = get_gfn_type_access(ap2m, gfn, &ap2mt, &ap2ma, 0, NULL);
+            amfn = get_gfn_type_access(ap2m, gfn_x(gfn), &ap2mt, &ap2ma, 0, NULL);
             if ( mfn_valid(amfn) && (mfn_x(amfn) != mfn_x(mfn) || ap2ma != p2ma) )
             {
                 altp2m_list_unlock(d);
@@ -871,7 +866,7 @@ int mem_sharing_nominate_page(struct dom
     page->sharing->handle = get_next_handle();  
 
     /* Create the local gfn info */
-    if ( mem_sharing_gfn_alloc(page, d, gfn) == NULL )
+    if ( mem_sharing_gfn_alloc(page, d, gfn_x(gfn)) == NULL )
     {
         xfree(page->sharing);
         page->sharing = NULL;
@@ -880,7 +875,7 @@ int mem_sharing_nominate_page(struct dom
     }
 
     /* Change the p2m type, should never fail with p2m locked. */
-    BUG_ON(p2m_change_type_one(d, gfn, p2mt, p2m_ram_shared));
+    BUG_ON(p2m_change_type_one(d, gfn_x(gfn), p2mt, p2m_ram_shared));
 
     /* Account for this page. */
     atomic_inc(&nr_shared_mfns);
@@ -894,12 +889,12 @@ int mem_sharing_nominate_page(struct dom
     ret = 0;
 
 out:
-    put_gfn(d, gfn);
+    put_gfn(d, gfn_x(gfn));
     return ret;
 }
 
-int mem_sharing_share_pages(struct domain *sd, unsigned long sgfn, shr_handle_t sh,
-                            struct domain *cd, unsigned long cgfn, shr_handle_t ch) 
+static int share_pages(struct domain *sd, gfn_t sgfn, shr_handle_t sh,
+                       struct domain *cd, gfn_t cgfn, shr_handle_t ch)
 {
     struct page_info *spage, *cpage, *firstpg, *secondpg;
     gfn_info_t *gfn;
@@ -910,8 +905,8 @@ int mem_sharing_share_pages(struct domai
     struct two_gfns tg;
     struct rmap_iterator ri;
 
-    get_two_gfns(sd, sgfn, &smfn_type, NULL, &smfn,
-                 cd, cgfn, &cmfn_type, NULL, &cmfn,
+    get_two_gfns(sd, gfn_x(sgfn), &smfn_type, NULL, &smfn,
+                 cd, gfn_x(cgfn), &cmfn_type, NULL, &cmfn,
                  0, &tg);
 
     /* This tricky business is to avoid two callers deadlocking if 
@@ -1288,21 +1283,20 @@ static int range_share(struct domain *d,
          * We only break out if we run out of memory as individual pages may
          * legitimately be unsharable and we just want to skip over those.
          */
-        rc = mem_sharing_nominate_page(d, start, 0, &sh);
+        rc = nominate_page(d, _gfn(start), 0, &sh);
         if ( rc == -ENOMEM )
             break;
 
         if ( !rc )
         {
-            rc = mem_sharing_nominate_page(cd, start, 0, &ch);
+            rc = nominate_page(cd, _gfn(start), 0, &ch);
             if ( rc == -ENOMEM )
                 break;
 
             if ( !rc )
             {
                 /* If we get here this should be guaranteed to succeed. */
-                rc = mem_sharing_share_pages(d, start, sh,
-                                             cd, start, ch);
+                rc = share_pages(d, _gfn(start), sh, cd, _gfn(start), ch);
                 ASSERT(!rc);
             }
         }
@@ -1338,7 +1332,7 @@ int mem_sharing_memop(XEN_GUEST_HANDLE_P
         return rc;
 
     if ( mso.op == XENMEM_sharing_op_audit )
-        return mem_sharing_audit();
+        return audit();
 
     rc = rcu_lock_live_remote_domain_by_id(mso.domain, &d);
     if ( rc )
@@ -1357,14 +1351,13 @@ int mem_sharing_memop(XEN_GUEST_HANDLE_P
     {
         case XENMEM_sharing_op_nominate_gfn:
         {
-            unsigned long gfn = mso.u.nominate.u.gfn;
             shr_handle_t handle;
 
             rc = -EINVAL;
             if ( !mem_sharing_enabled(d) )
                 goto out;
 
-            rc = mem_sharing_nominate_page(d, gfn, 0, &handle);
+            rc = nominate_page(d, _gfn(mso.u.nominate.u.gfn), 0, &handle);
             mso.u.nominate.handle = handle;
         }
         break;
@@ -1382,7 +1375,7 @@ int mem_sharing_memop(XEN_GUEST_HANDLE_P
             if ( rc < 0 )
                 goto out;
 
-            rc = mem_sharing_nominate_page(d, gfn_x(gfn), 3, &handle);
+            rc = nominate_page(d, gfn, 3, &handle);
             mso.u.nominate.handle = handle;
         }
         break;
@@ -1451,8 +1444,7 @@ int mem_sharing_memop(XEN_GUEST_HANDLE_P
             sh = mso.u.share.source_handle;
             ch = mso.u.share.client_handle;
 
-            rc = mem_sharing_share_pages(d, gfn_x(sgfn), sh,
-                                         cd, gfn_x(cgfn), ch);
+            rc = share_pages(d, sgfn, sh, cd, cgfn, ch);
 
             rcu_unlock_domain(cd);
         }
@@ -1596,18 +1588,12 @@ int mem_sharing_memop(XEN_GUEST_HANDLE_P
         break;
 
         case XENMEM_sharing_op_debug_gfn:
-        {
-            unsigned long gfn = mso.u.debug.u.gfn;
-            rc = mem_sharing_debug_gfn(d, gfn);
-        }
-        break;
+            rc = debug_gfn(d, _gfn(mso.u.debug.u.gfn));
+            break;
 
         case XENMEM_sharing_op_debug_gref:
-        {
-            grant_ref_t gref = mso.u.debug.u.gref;
-            rc = mem_sharing_debug_gref(d, gref);
-        }
-        break;
+            rc = debug_gref(d, mso.u.debug.u.gref);
+            break;
 
         default:
             rc = -ENOSYS;
--- a/xen/include/asm-x86/mem_sharing.h
+++ b/xen/include/asm-x86/mem_sharing.h
@@ -56,10 +56,6 @@ struct page_sharing_info
 
 unsigned int mem_sharing_get_nr_saved_mfns(void);
 unsigned int mem_sharing_get_nr_shared_mfns(void);
-int mem_sharing_nominate_page(struct domain *d, 
-                              unsigned long gfn,
-                              int expected_refcnt,
-                              shr_handle_t *phandle);
 
 #define MEM_SHARING_DESTROY_GFN       (1<<1)
 /* Only fails with -ENOMEM. Enforce it with a BUG_ON wrapper. */
@@ -92,7 +88,6 @@ int mem_sharing_notify_enomem(struct dom
 int mem_sharing_memop(XEN_GUEST_HANDLE_PARAM(xen_mem_sharing_op_t) arg);
 int mem_sharing_domctl(struct domain *d, 
                        xen_domctl_mem_sharing_op_t *mec);
-int mem_sharing_audit(void);
 void mem_sharing_init(void);
 
 /* Scans the p2m and relinquishes any shared pages, destroying

Comments

Andrew Cooper Dec. 6, 2016, 3:06 p.m. UTC | #1
On 06/12/16 11:26, Jan Beulich wrote:

The subject would be clearer as "x86/memshr: Make more symbols private"

> And with that drop mem_sharing_ prefixes as no longer meaningful. Once
> again convert GFN function argument types at once.
>
> Signed-off-by: Jan Beulich <jbeulich@suse.com>

Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com> with two small
suggestions.

> @@ -737,23 +733,23 @@ int mem_sharing_debug_mfn(mfn_t mfn)
>      return num_refs;
>  }
>  
> -int mem_sharing_debug_gfn(struct domain *d, unsigned long gfn)
> +static int debug_gfn(struct domain *d, gfn_t gfn)
>  {
>      p2m_type_t p2mt;
>      mfn_t mfn;
>      int num_refs;
>  
> -    mfn = get_gfn_query(d, gfn, &p2mt);
> +    mfn = get_gfn_query(d, gfn_x(gfn), &p2mt);
>  
>      MEM_SHARING_DEBUG("Debug for domain=%d, gfn=%lx, ", 

Mind swapping to PRI_gfn while changing this area?

> -               d->domain_id, 
> -               gfn);
> -    num_refs = mem_sharing_debug_mfn(mfn);
> -    put_gfn(d, gfn);
> +                      d->domain_id, gfn_x(gfn));
> +    num_refs = debug_mfn(mfn);
> +    put_gfn(d, gfn_x(gfn));
> +
>      return num_refs;
>  }
>  
> -int mem_sharing_debug_gref(struct domain *d, grant_ref_t ref)
> +static int debug_gref(struct domain *d, grant_ref_t ref)
>  {
>      int rc;
>      uint16_t status;
> @@ -800,8 +794,9 @@ int mem_sharing_nominate_page(struct dom
>          struct page_info *pg = __grab_shared_page(mfn);
>          if ( !pg )
>          {
> -            gdprintk(XENLOG_ERR, "Shared p2m entry gfn %lx, but could not "
> -                        "grab page %lx dom %d\n", gfn, mfn_x(mfn), d->domain_id);
> +            gprintk(XENLOG_ERR,
> +                    "Shared p2m entry gfn %lx, but could not grab page %lx dom %d\n",

Can this be reworded to "grab mfn" rather than grab page, so make it
clear which address space the address is in?  Also PRI_{m,g}fn.

~Andrew

> +                    gfn_x(gfn), mfn_x(mfn), d->domain_id);
>              BUG();
>          }
>          *phandle = pg->sharing->handle;
>
Tamas K Lengyel Dec. 6, 2016, 9:14 p.m. UTC | #2
On Tue, Dec 6, 2016 at 4:26 AM, Jan Beulich <JBeulich@suse.com> wrote:

> And with that drop mem_sharing_ prefixes as no longer meaningful. Once
> again convert GFN function argument types at once.
>
> Signed-off-by: Jan Beulich <jbeulich@suse.com>
>

Acked-by: Tamas K Lengyel <tamas@tklengyel.com>
diff mbox

Patch

--- a/xen/arch/x86/mm/mem_sharing.c
+++ b/xen/arch/x86/mm/mem_sharing.c
@@ -47,7 +47,7 @@  typedef struct pg_lock_data {
     unsigned short recurse_count;
 } pg_lock_data_t;
 
-DEFINE_PER_CPU(pg_lock_data_t, __pld);
+static DEFINE_PER_CPU(pg_lock_data_t, __pld);
 
 #define MEM_SHARING_DEBUG(_f, _a...)                                  \
     debugtrace_printk("mem_sharing_debug: %s(): " _f, __func__, ##_a)
@@ -67,7 +67,7 @@  DEFINE_PER_CPU(pg_lock_data_t, __pld);
 
 static struct list_head shr_audit_list;
 static spinlock_t shr_audit_lock;
-DEFINE_RCU_READ_LOCK(shr_audit_read_lock);
+static DEFINE_RCU_READ_LOCK(shr_audit_read_lock);
 
 /* RCU delayed free of audit list entry */
 static void _free_pg_shared_info(struct rcu_head *head)
@@ -100,11 +100,6 @@  static inline void page_sharing_dispose(
 
 #else
 
-int mem_sharing_audit(void)
-{
-    return -ENOSYS;
-}
-
 #define audit_add_list(p)  ((void)0)
 static inline void page_sharing_dispose(struct page_info *page)
 {
@@ -424,9 +419,9 @@  static struct page_info* mem_sharing_loo
     return NULL;
 }
 
-#if MEM_SHARING_AUDIT
-int mem_sharing_audit(void)
+static int audit(void)
 {
+#if MEM_SHARING_AUDIT
     int errors = 0;
     unsigned long count_expected;
     unsigned long count_found = 0;
@@ -552,9 +547,10 @@  int mem_sharing_audit(void)
     }
 
     return errors;
-}
+#else
+    return -EOPNOTSUPP;
 #endif
-
+}
 
 int mem_sharing_notify_enomem(struct domain *d, unsigned long gfn,
                                 bool_t allow_sleep) 
@@ -713,7 +709,7 @@  static inline struct page_info *__grab_s
     return pg;
 }
 
-int mem_sharing_debug_mfn(mfn_t mfn)
+static int debug_mfn(mfn_t mfn)
 {
     struct page_info *page;
     int num_refs;
@@ -737,23 +733,23 @@  int mem_sharing_debug_mfn(mfn_t mfn)
     return num_refs;
 }
 
-int mem_sharing_debug_gfn(struct domain *d, unsigned long gfn)
+static int debug_gfn(struct domain *d, gfn_t gfn)
 {
     p2m_type_t p2mt;
     mfn_t mfn;
     int num_refs;
 
-    mfn = get_gfn_query(d, gfn, &p2mt);
+    mfn = get_gfn_query(d, gfn_x(gfn), &p2mt);
 
     MEM_SHARING_DEBUG("Debug for domain=%d, gfn=%lx, ", 
-               d->domain_id, 
-               gfn);
-    num_refs = mem_sharing_debug_mfn(mfn);
-    put_gfn(d, gfn);
+                      d->domain_id, gfn_x(gfn));
+    num_refs = debug_mfn(mfn);
+    put_gfn(d, gfn_x(gfn));
+
     return num_refs;
 }
 
-int mem_sharing_debug_gref(struct domain *d, grant_ref_t ref)
+static int debug_gref(struct domain *d, grant_ref_t ref)
 {
     int rc;
     uint16_t status;
@@ -771,13 +767,11 @@  int mem_sharing_debug_gref(struct domain
             "==> Grant [dom=%d,ref=%d], status=%x. ", 
             d->domain_id, ref, status);
 
-    return mem_sharing_debug_gfn(d, gfn_x(gfn));
+    return debug_gfn(d, gfn);
 }
 
-int mem_sharing_nominate_page(struct domain *d,
-                              unsigned long gfn,
-                              int expected_refcnt,
-                              shr_handle_t *phandle)
+static int nominate_page(struct domain *d, gfn_t gfn,
+                         int expected_refcnt, shr_handle_t *phandle)
 {
     struct p2m_domain *hp2m = p2m_get_hostp2m(d);
     p2m_type_t p2mt;
@@ -788,7 +782,7 @@  int mem_sharing_nominate_page(struct dom
 
     *phandle = 0UL;
 
-    mfn = get_gfn_type_access(hp2m, gfn, &p2mt, &p2ma, 0, NULL);
+    mfn = get_gfn_type_access(hp2m, gfn_x(gfn), &p2mt, &p2ma, 0, NULL);
 
     /* Check if mfn is valid */
     ret = -EINVAL;
@@ -800,8 +794,9 @@  int mem_sharing_nominate_page(struct dom
         struct page_info *pg = __grab_shared_page(mfn);
         if ( !pg )
         {
-            gdprintk(XENLOG_ERR, "Shared p2m entry gfn %lx, but could not "
-                        "grab page %lx dom %d\n", gfn, mfn_x(mfn), d->domain_id);
+            gprintk(XENLOG_ERR,
+                    "Shared p2m entry gfn %lx, but could not grab page %lx dom %d\n",
+                    gfn_x(gfn), mfn_x(mfn), d->domain_id);
             BUG();
         }
         *phandle = pg->sharing->handle;
@@ -831,7 +826,7 @@  int mem_sharing_nominate_page(struct dom
             if ( !ap2m )
                 continue;
 
-            amfn = get_gfn_type_access(ap2m, gfn, &ap2mt, &ap2ma, 0, NULL);
+            amfn = get_gfn_type_access(ap2m, gfn_x(gfn), &ap2mt, &ap2ma, 0, NULL);
             if ( mfn_valid(amfn) && (mfn_x(amfn) != mfn_x(mfn) || ap2ma != p2ma) )
             {
                 altp2m_list_unlock(d);
@@ -871,7 +866,7 @@  int mem_sharing_nominate_page(struct dom
     page->sharing->handle = get_next_handle();  
 
     /* Create the local gfn info */
-    if ( mem_sharing_gfn_alloc(page, d, gfn) == NULL )
+    if ( mem_sharing_gfn_alloc(page, d, gfn_x(gfn)) == NULL )
     {
         xfree(page->sharing);
         page->sharing = NULL;
@@ -880,7 +875,7 @@  int mem_sharing_nominate_page(struct dom
     }
 
     /* Change the p2m type, should never fail with p2m locked. */
-    BUG_ON(p2m_change_type_one(d, gfn, p2mt, p2m_ram_shared));
+    BUG_ON(p2m_change_type_one(d, gfn_x(gfn), p2mt, p2m_ram_shared));
 
     /* Account for this page. */
     atomic_inc(&nr_shared_mfns);
@@ -894,12 +889,12 @@  int mem_sharing_nominate_page(struct dom
     ret = 0;
 
 out:
-    put_gfn(d, gfn);
+    put_gfn(d, gfn_x(gfn));
     return ret;
 }
 
-int mem_sharing_share_pages(struct domain *sd, unsigned long sgfn, shr_handle_t sh,
-                            struct domain *cd, unsigned long cgfn, shr_handle_t ch) 
+static int share_pages(struct domain *sd, gfn_t sgfn, shr_handle_t sh,
+                       struct domain *cd, gfn_t cgfn, shr_handle_t ch)
 {
     struct page_info *spage, *cpage, *firstpg, *secondpg;
     gfn_info_t *gfn;
@@ -910,8 +905,8 @@  int mem_sharing_share_pages(struct domai
     struct two_gfns tg;
     struct rmap_iterator ri;
 
-    get_two_gfns(sd, sgfn, &smfn_type, NULL, &smfn,
-                 cd, cgfn, &cmfn_type, NULL, &cmfn,
+    get_two_gfns(sd, gfn_x(sgfn), &smfn_type, NULL, &smfn,
+                 cd, gfn_x(cgfn), &cmfn_type, NULL, &cmfn,
                  0, &tg);
 
     /* This tricky business is to avoid two callers deadlocking if 
@@ -1288,21 +1283,20 @@  static int range_share(struct domain *d,
          * We only break out if we run out of memory as individual pages may
          * legitimately be unsharable and we just want to skip over those.
          */
-        rc = mem_sharing_nominate_page(d, start, 0, &sh);
+        rc = nominate_page(d, _gfn(start), 0, &sh);
         if ( rc == -ENOMEM )
             break;
 
         if ( !rc )
         {
-            rc = mem_sharing_nominate_page(cd, start, 0, &ch);
+            rc = nominate_page(cd, _gfn(start), 0, &ch);
             if ( rc == -ENOMEM )
                 break;
 
             if ( !rc )
             {
                 /* If we get here this should be guaranteed to succeed. */
-                rc = mem_sharing_share_pages(d, start, sh,
-                                             cd, start, ch);
+                rc = share_pages(d, _gfn(start), sh, cd, _gfn(start), ch);
                 ASSERT(!rc);
             }
         }
@@ -1338,7 +1332,7 @@  int mem_sharing_memop(XEN_GUEST_HANDLE_P
         return rc;
 
     if ( mso.op == XENMEM_sharing_op_audit )
-        return mem_sharing_audit();
+        return audit();
 
     rc = rcu_lock_live_remote_domain_by_id(mso.domain, &d);
     if ( rc )
@@ -1357,14 +1351,13 @@  int mem_sharing_memop(XEN_GUEST_HANDLE_P
     {
         case XENMEM_sharing_op_nominate_gfn:
         {
-            unsigned long gfn = mso.u.nominate.u.gfn;
             shr_handle_t handle;
 
             rc = -EINVAL;
             if ( !mem_sharing_enabled(d) )
                 goto out;
 
-            rc = mem_sharing_nominate_page(d, gfn, 0, &handle);
+            rc = nominate_page(d, _gfn(mso.u.nominate.u.gfn), 0, &handle);
             mso.u.nominate.handle = handle;
         }
         break;
@@ -1382,7 +1375,7 @@  int mem_sharing_memop(XEN_GUEST_HANDLE_P
             if ( rc < 0 )
                 goto out;
 
-            rc = mem_sharing_nominate_page(d, gfn_x(gfn), 3, &handle);
+            rc = nominate_page(d, gfn, 3, &handle);
             mso.u.nominate.handle = handle;
         }
         break;
@@ -1451,8 +1444,7 @@  int mem_sharing_memop(XEN_GUEST_HANDLE_P
             sh = mso.u.share.source_handle;
             ch = mso.u.share.client_handle;
 
-            rc = mem_sharing_share_pages(d, gfn_x(sgfn), sh,
-                                         cd, gfn_x(cgfn), ch);
+            rc = share_pages(d, sgfn, sh, cd, cgfn, ch);
 
             rcu_unlock_domain(cd);
         }
@@ -1596,18 +1588,12 @@  int mem_sharing_memop(XEN_GUEST_HANDLE_P
         break;
 
         case XENMEM_sharing_op_debug_gfn:
-        {
-            unsigned long gfn = mso.u.debug.u.gfn;
-            rc = mem_sharing_debug_gfn(d, gfn);
-        }
-        break;
+            rc = debug_gfn(d, _gfn(mso.u.debug.u.gfn));
+            break;
 
         case XENMEM_sharing_op_debug_gref:
-        {
-            grant_ref_t gref = mso.u.debug.u.gref;
-            rc = mem_sharing_debug_gref(d, gref);
-        }
-        break;
+            rc = debug_gref(d, mso.u.debug.u.gref);
+            break;
 
         default:
             rc = -ENOSYS;
--- a/xen/include/asm-x86/mem_sharing.h
+++ b/xen/include/asm-x86/mem_sharing.h
@@ -56,10 +56,6 @@  struct page_sharing_info
 
 unsigned int mem_sharing_get_nr_saved_mfns(void);
 unsigned int mem_sharing_get_nr_shared_mfns(void);
-int mem_sharing_nominate_page(struct domain *d, 
-                              unsigned long gfn,
-                              int expected_refcnt,
-                              shr_handle_t *phandle);
 
 #define MEM_SHARING_DESTROY_GFN       (1<<1)
 /* Only fails with -ENOMEM. Enforce it with a BUG_ON wrapper. */
@@ -92,7 +88,6 @@  int mem_sharing_notify_enomem(struct dom
 int mem_sharing_memop(XEN_GUEST_HANDLE_PARAM(xen_mem_sharing_op_t) arg);
 int mem_sharing_domctl(struct domain *d, 
                        xen_domctl_mem_sharing_op_t *mec);
-int mem_sharing_audit(void);
 void mem_sharing_init(void);
 
 /* Scans the p2m and relinquishes any shared pages, destroying