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] [IA64] Use rcu where possible.

To: xen-changelog@xxxxxxxxxxxxxxxxxxx
Subject: [Xen-changelog] [xen-unstable] [IA64] Use rcu where possible.
From: Xen patchbot-unstable <patchbot-unstable@xxxxxxxxxxxxxxxxxxx>
Date: Wed, 23 Jan 2008 01:11:27 -0800
Delivery-date: Wed, 23 Jan 2008 01:17:47 -0800
Envelope-to: www-data@xxxxxxxxxxxxxxxxxx
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/cgi-bin/mailman/listinfo/xen-changelog>, <mailto:xen-changelog-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/cgi-bin/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 Alex Williamson <alex.williamson@xxxxxx>
# Date 1200689726 25200
# Node ID 0ace9a451a25fe56fbdaef8a8fbd5f9c7bb00c2b
# Parent  a868bd4236e6da06dd8dad88b66ad4f55dcc4b50
[IA64] Use rcu where possible.

This is for consistency.

Signed-off-by: Isaku Yamahata <yamahata@xxxxxxxxxxxxx>
---
 xen/arch/ia64/vmx/vmx_hypercall.c |   14 +++++++-------
 xen/arch/ia64/xen/dom0_ops.c      |   25 ++++++++++++-------------
 xen/arch/ia64/xen/mm.c            |   19 +++++++++----------
 3 files changed, 28 insertions(+), 30 deletions(-)

diff -r a868bd4236e6 -r 0ace9a451a25 xen/arch/ia64/vmx/vmx_hypercall.c
--- a/xen/arch/ia64/vmx/vmx_hypercall.c Fri Jan 18 13:49:48 2008 -0700
+++ b/xen/arch/ia64/vmx/vmx_hypercall.c Fri Jan 18 13:55:26 2008 -0700
@@ -53,7 +53,7 @@ static int hvmop_set_isa_irq_level(
     if ( op.isa_irq > 15 )
         return -EINVAL;
 
-    d = get_domain_by_id(op.domid);
+    d = rcu_lock_domain_by_id(op.domid);
     if ( d == NULL )
         return -ESRCH;
 
@@ -65,7 +65,7 @@ static int hvmop_set_isa_irq_level(
     viosapic_set_irq(d, op.isa_irq, op.level);
 
  out:
-    put_domain(d);
+    rcu_unlock_domain(d);
     return rc;
 }
 
@@ -85,7 +85,7 @@ static int hvmop_set_pci_intx_level(
     if ( (op.domain > 0) || (op.bus > 0) || (op.device > 31) || (op.intx > 3) )
         return -EINVAL;
 
-    d = get_domain_by_id(op.domid);
+    d = rcu_lock_domain_by_id(op.domid);
     if ( d == NULL )
         return -ESRCH;
 
@@ -97,7 +97,7 @@ static int hvmop_set_pci_intx_level(
     viosapic_set_pci_irq(d, op.device, op.intx, op.level);
 
  out:
-    put_domain(d);
+    rcu_unlock_domain(d);
     return rc;
 }
 
@@ -122,10 +122,10 @@ do_hvm_op(unsigned long op, XEN_GUEST_HA
             return -EINVAL;
 
         if (a.domid == DOMID_SELF) {
-            d = get_current_domain();
+            d = rcu_lock_current_domain();
         }
         else if (IS_PRIV(current->domain)) {
-            d = get_domain_by_id(a.domid);
+            d = rcu_lock_domain_by_id(a.domid);
             if (d == NULL)
                 return -ESRCH;
         }
@@ -167,7 +167,7 @@ do_hvm_op(unsigned long op, XEN_GUEST_HA
             rc = copy_to_guest(arg, &a, 1) ? -EFAULT : 0;
         }
 
-        put_domain(d);
+        rcu_unlock_domain(d);
         break;
     }
 
diff -r a868bd4236e6 -r 0ace9a451a25 xen/arch/ia64/xen/dom0_ops.c
--- a/xen/arch/ia64/xen/dom0_ops.c      Fri Jan 18 13:49:48 2008 -0700
+++ b/xen/arch/ia64/xen/dom0_ops.c      Fri Jan 18 13:55:26 2008 -0700
@@ -44,7 +44,7 @@ long arch_do_domctl(xen_domctl_t *op, XE
     case XEN_DOMCTL_getmemlist:
     {
         unsigned long i;
-        struct domain *d = get_domain_by_id(op->domain);
+        struct domain *d = rcu_lock_domain_by_id(op->domain);
         unsigned long start_page = op->u.getmemlist.start_pfn;
         unsigned long nr_pages = op->u.getmemlist.max_pfns;
         uint64_t mfn;
@@ -72,15 +72,14 @@ long arch_do_domctl(xen_domctl_t *op, XE
         op->u.getmemlist.num_pfns = i;
         if (copy_to_guest(u_domctl, op, 1))
             ret = -EFAULT;
-
-        put_domain(d);
+        rcu_unlock_domain(d);
     }
     break;
 
     case XEN_DOMCTL_arch_setup:
     {
         xen_domctl_arch_setup_t *ds = &op->u.arch_setup;
-        struct domain *d = get_domain_by_id(op->domain);
+        struct domain *d = rcu_lock_domain_by_id(op->domain);
 
         if ( d == NULL) {
             ret = -EINVAL;
@@ -155,7 +154,7 @@ long arch_do_domctl(xen_domctl_t *op, XE
             }
         }
 
-        put_domain(d);
+        rcu_unlock_domain(d);
     }
     break;
 
@@ -163,11 +162,11 @@ long arch_do_domctl(xen_domctl_t *op, XE
     {
         struct domain *d; 
         ret = -ESRCH;
-        d = get_domain_by_id(op->domain);
+        d = rcu_lock_domain_by_id(op->domain);
         if ( d != NULL )
         {
             ret = shadow_mode_control(d, &op->u.shadow_op);
-            put_domain(d);
+            rcu_unlock_domain(d);
             if (copy_to_guest(u_domctl, op, 1))
                 ret = -EFAULT;
         } 
@@ -182,7 +181,7 @@ long arch_do_domctl(xen_domctl_t *op, XE
         unsigned int lp = fp + np - 1;
 
         ret = -ESRCH;
-        d = get_domain_by_id(op->domain);
+        d = rcu_lock_domain_by_id(op->domain);
         if (unlikely(d == NULL))
             break;
 
@@ -195,7 +194,7 @@ long arch_do_domctl(xen_domctl_t *op, XE
                 ret = ioports_deny_access(d, fp, lp);
         }
 
-        put_domain(d);
+        rcu_unlock_domain(d);
     }
     break;
 
@@ -205,7 +204,7 @@ long arch_do_domctl(xen_domctl_t *op, XE
         struct vcpu *v;
 
         ret = -ESRCH;
-        d = get_domain_by_id(op->domain);
+        d = rcu_lock_domain_by_id(op->domain);
         if ( d == NULL )
             break;
 
@@ -234,7 +233,7 @@ long arch_do_domctl(xen_domctl_t *op, XE
         }
 
     sendtrigger_out:
-        put_domain(d);
+        rcu_unlock_domain(d);
     }
     break;
 
@@ -347,7 +346,7 @@ long arch_do_domctl(xen_domctl_t *op, XE
     case XEN_DOMCTL_set_opt_feature:
     {
         struct xen_ia64_opt_feature *optf = &op->u.set_opt_feature.optf;
-        struct domain *d = get_domain_by_id(op->domain);
+        struct domain *d = rcu_lock_domain_by_id(op->domain);
 
         if (d == NULL) {
             ret = -EINVAL;
@@ -355,7 +354,7 @@ long arch_do_domctl(xen_domctl_t *op, XE
         }
 
         ret = domain_opt_feature(d, optf);
-        put_domain(d);
+        rcu_unlock_domain(d);
     }
     break;
 
diff -r a868bd4236e6 -r 0ace9a451a25 xen/arch/ia64/xen/mm.c
--- a/xen/arch/ia64/xen/mm.c    Fri Jan 18 13:49:48 2008 -0700
+++ b/xen/arch/ia64/xen/mm.c    Fri Jan 18 13:55:26 2008 -0700
@@ -1473,7 +1473,7 @@ __dom0vp_add_physmap(struct domain* d, u
     if (flags & (ASSIGN_nocache | ASSIGN_pgc_allocated))
         return -EINVAL;
 
-    rd = get_domain_by_id(domid);
+    rd = rcu_lock_domain_by_id(domid);
     if (unlikely(rd == NULL)) {
         switch (domid) {
         case DOMID_XEN:
@@ -1489,7 +1489,7 @@ __dom0vp_add_physmap(struct domain* d, u
             return -ESRCH;
         }
         BUG_ON(rd == NULL);
-        get_knownalive_domain(rd);
+        rcu_lock_domain(rd);
     }
 
     if (unlikely(rd == d))
@@ -1512,7 +1512,7 @@ __dom0vp_add_physmap(struct domain* d, u
     //don't update p2m table because this page belongs to rd, not d.
     perfc_incr(dom0vp_add_physmap);
 out1:
-    put_domain(rd);
+    rcu_unlock_domain(rd);
     return error;
 }
 
@@ -2785,17 +2785,16 @@ arch_memory_op(int op, XEN_GUEST_HANDLE(
         if (copy_from_guest(&xatp, arg, 1))
             return -EFAULT;
 
-        if (xatp.domid == DOMID_SELF) {
-            d = get_current_domain();
-        }
+        if (xatp.domid == DOMID_SELF)
+            d = rcu_lock_current_domain();
         else if (!IS_PRIV(current->domain))
             return -EPERM;
-        else if ((d = get_domain_by_id(xatp.domid)) == NULL)
+        else if ((d = rcu_lock_domain_by_id(xatp.domid)) == NULL)
             return -ESRCH;
 
         /* This hypercall is used for VT-i domain only */
         if (!VMX_DOMAIN(d->vcpu[0])) {
-            put_domain(d);
+            rcu_unlock_domain(d);
             return -ENOSYS;
         }
 
@@ -2821,7 +2820,7 @@ arch_memory_op(int op, XEN_GUEST_HANDLE(
         }
 
         if (mfn == 0) {
-            put_domain(d);
+            rcu_unlock_domain(d);
             return -EINVAL;
         }
 
@@ -2853,7 +2852,7 @@ arch_memory_op(int op, XEN_GUEST_HANDLE(
     out:
         UNLOCK_BIGLOCK(d);
         
-        put_domain(d);
+        rcu_unlock_domain(d);
 
         break;
     }

_______________________________________________
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] [IA64] Use rcu where possible., Xen patchbot-unstable <=