All of lore.kernel.org
 help / color / mirror / Atom feed
From: Wei Liu <wei.liu2@citrix.com>
To: Xen-devel <xen-devel@lists.xenproject.org>
Cc: George Dunlap <george.dunlap@eu.citrix.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Tim Deegan <tim@xen.org>, Wei Liu <wei.liu2@citrix.com>,
	Jan Beulich <JBeulich@suse.com>
Subject: [PATCH RFC 03/13] x86/mm: export vcpumask_to_pcpumask
Date: Mon, 27 Mar 2017 10:10:49 +0100	[thread overview]
Message-ID: <20170327091059.8452-4-wei.liu2@citrix.com> (raw)
In-Reply-To: <20170327091059.8452-1-wei.liu2@citrix.com>

Prefix it with "mm_". No functional change.

Signed-off-by: Wei Liu <wei.liu2@citrix.com>
---
It used to be a inline function, but I don't think there is no point in
making it inline because PV mmu operations are already expensive. Having
a callq to another function won't make noticeable difference.

It is not annotated as always_inline, so the compiler might not inline
it.  Gcc 6.3 inlines it, but clang 4 doesn't.

Let me know if you want me to make it an inline function.
---
 xen/arch/x86/mm.c        | 17 ++++++++++-------
 xen/include/asm-x86/mm.h |  4 ++++
 2 files changed, 14 insertions(+), 7 deletions(-)

diff --git a/xen/arch/x86/mm.c b/xen/arch/x86/mm.c
index a1d867bd94..4bf94227cc 100644
--- a/xen/arch/x86/mm.c
+++ b/xen/arch/x86/mm.c
@@ -3071,8 +3071,9 @@ void mm_put_pg_owner(struct domain *pg_owner)
     rcu_unlock_domain(pg_owner);
 }
 
-static inline int vcpumask_to_pcpumask(
-    struct domain *d, XEN_GUEST_HANDLE_PARAM(const_void) bmap, cpumask_t *pmask)
+int mm_vcpumask_to_pcpumask(struct domain *d,
+                            XEN_GUEST_HANDLE_PARAM(const_void) bmap,
+                            cpumask_t *pmask)
 {
     unsigned int vcpu_id, vcpu_bias, offs;
     unsigned long vmask;
@@ -3422,7 +3423,7 @@ long do_mmuext_op(
 
             if ( unlikely(d != pg_owner) )
                 rc = -EPERM;
-            else if ( unlikely(vcpumask_to_pcpumask(d,
+            else if ( unlikely(mm_vcpumask_to_pcpumask(d,
                                    guest_handle_to_param(op.arg2.vcpumask,
                                                          const_void),
                                    mask)) )
@@ -4523,9 +4524,10 @@ static int __do_update_va_mapping(
             break;
         default:
             mask = this_cpu(scratch_cpumask);
-            rc = vcpumask_to_pcpumask(d, const_guest_handle_from_ptr(bmap_ptr,
+            rc = mm_vcpumask_to_pcpumask(d,
+                                         const_guest_handle_from_ptr(bmap_ptr,
                                                                      void),
-                                      mask);
+                                         mask);
             break;
         }
         if ( mask )
@@ -4543,9 +4545,10 @@ static int __do_update_va_mapping(
             break;
         default:
             mask = this_cpu(scratch_cpumask);
-            rc = vcpumask_to_pcpumask(d, const_guest_handle_from_ptr(bmap_ptr,
+            rc = mm_vcpumask_to_pcpumask(d,
+                                         const_guest_handle_from_ptr(bmap_ptr,
                                                                      void),
-                                      mask);
+                                         mask);
             break;
         }
         if ( mask )
diff --git a/xen/include/asm-x86/mm.h b/xen/include/asm-x86/mm.h
index 6bc9866359..2bcf5514e9 100644
--- a/xen/include/asm-x86/mm.h
+++ b/xen/include/asm-x86/mm.h
@@ -606,6 +606,10 @@ void write_32bit_pse_identmap(uint32_t *l2);
 struct domain *mm_get_pg_owner(domid_t domid);
 void mm_put_pg_owner(struct domain *pg_owner);
 
+int mm_vcpumask_to_pcpumask(struct domain *d,
+                            XEN_GUEST_HANDLE_PARAM(const_void) bmap,
+                            cpumask_t *pmask);
+
 #define MEM_LOG(_f, _a...) gdprintk(XENLOG_WARNING , _f "\n" , ## _a)
 
 #endif /* __ASM_X86_MM_H__ */
-- 
2.11.0


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

  parent reply	other threads:[~2017-03-27  9:11 UTC|newest]

Thread overview: 30+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-03-27  9:10 [PATCH RFC 00/13] Refactor x86/mm.c Wei Liu
2017-03-27  9:10 ` [PATCH RFC 01/13] x86/mm: export {get,put}_pg_owner Wei Liu
2017-03-28 21:11   ` [PATCH RFC 01/13] x86/mm: export {get, put}_pg_owner Andrew Cooper
2017-03-29  9:03     ` Jan Beulich
2017-03-29  9:10       ` Andrew Cooper
2017-03-30 10:07         ` Wei Liu
2017-03-30 12:25           ` Jan Beulich
2017-03-30 12:48             ` Wei Liu
2017-03-27  9:10 ` [PATCH RFC 02/13] x86/mm: move MEM_LOG to asm-x86/mm.h Wei Liu
2017-03-28 21:14   ` Andrew Cooper
2017-03-29 10:50     ` Wei Liu
2017-03-27  9:10 ` Wei Liu [this message]
2017-03-29 10:15   ` [PATCH RFC 03/13] x86/mm: export vcpumask_to_pcpumask Andrew Cooper
2017-03-29 10:49     ` Wei Liu
2017-03-27  9:10 ` [PATCH RFC 04/13] x86/mm: carve out create_grant_pv_mapping Wei Liu
2017-03-29 10:27   ` Andrew Cooper
2017-03-29 10:45     ` Jan Beulich
2017-03-29 10:49       ` Andrew Cooper
2017-03-29 11:02         ` Wei Liu
2017-04-03  8:40     ` Wei Liu
2017-04-03 14:05       ` Andrew Cooper
2017-03-27  9:10 ` [PATCH RFC 05/13] x86/mm: carve out replace_grant_pv_mapping Wei Liu
2017-03-27  9:10 ` [PATCH RFC 06/13] x86/mm: extract page table masks to mm.h Wei Liu
2017-03-27  9:10 ` [PATCH RFC 07/13] x86/mm: extract PAGE_CACHE_ATTRS " Wei Liu
2017-03-27  9:10 ` [PATCH RFC 08/13] x86/mm: extract adjust_guest_l*e macros " Wei Liu
2017-03-27  9:10 ` [PATCH RFC 09/13] x86/mm: export a bunch of {get, put}_page functions Wei Liu
2017-03-27  9:10 ` [PATCH RFC 10/13] x86/mm: export invalidate_shadow_ldt Wei Liu
2017-03-27  9:10 ` [PATCH RFC 11/13] x86/mm: export create_pae_xen_mappings Wei Liu
2017-03-27  9:10 ` [PATCH RFC 12/13] x86/mm: split PV MMU code to pv/mm.c Wei Liu
2017-03-27  9:10 ` [PATCH RFC 13/13] x86/mm: split HVM grant table code to hvm/mm.c Wei Liu

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20170327091059.8452-4-wei.liu2@citrix.com \
    --to=wei.liu2@citrix.com \
    --cc=JBeulich@suse.com \
    --cc=andrew.cooper3@citrix.com \
    --cc=george.dunlap@eu.citrix.com \
    --cc=tim@xen.org \
    --cc=xen-devel@lists.xenproject.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.