[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-changelog] sched.h, domain.c:



ChangeSet 1.1619.1.1, 2005/05/31 23:15:40+01:00, cl349@xxxxxxxxxxxxxxxxxxxx

        sched.h, domain.c:
          Make {exec_,}domain_{un,}pause and ..._by_systemcontroller variants
          non-inline.
        Signed-off-by: Christian Limpach <Christian.Limpach@xxxxxxxxxxxx>



 common/domain.c     |   62 ++++++++++++++++++++++++++++++++++++++++++++++++
 include/xen/sched.h |   67 ++++------------------------------------------------
 2 files changed, 68 insertions(+), 61 deletions(-)


diff -Nru a/xen/common/domain.c b/xen/common/domain.c
--- a/xen/common/domain.c       2005-05-31 20:03:08 -04:00
+++ b/xen/common/domain.c       2005-05-31 20:03:08 -04:00
@@ -223,6 +223,68 @@
     send_guest_virq(dom0->exec_domain[0], VIRQ_DOM_EXC);
 }
 
+void exec_domain_pause(struct exec_domain *ed)
+{
+    ASSERT(ed != current);
+    atomic_inc(&ed->pausecnt);
+    domain_sleep(ed);
+    sync_lazy_execstate_cpuset(ed->domain->cpuset & (1UL << ed->processor));
+}
+
+void domain_pause(struct domain *d)
+{
+    struct exec_domain *ed;
+
+    for_each_exec_domain( d, ed )
+    {
+        ASSERT(ed != current);
+        atomic_inc(&ed->pausecnt);
+        domain_sleep(ed);
+    }
+
+    sync_lazy_execstate_cpuset(d->cpuset);
+}
+
+void exec_domain_unpause(struct exec_domain *ed)
+{
+    ASSERT(ed != current);
+    if ( atomic_dec_and_test(&ed->pausecnt) )
+        domain_wake(ed);
+}
+
+void domain_unpause(struct domain *d)
+{
+    struct exec_domain *ed;
+
+    for_each_exec_domain( d, ed )
+        exec_domain_unpause(ed);
+}
+
+void domain_pause_by_systemcontroller(struct domain *d)
+{
+    struct exec_domain *ed;
+
+    for_each_exec_domain ( d, ed )
+    {
+        ASSERT(ed != current);
+        if ( !test_and_set_bit(_VCPUF_ctrl_pause, &ed->vcpu_flags) )
+            domain_sleep(ed);
+    }
+
+    sync_lazy_execstate_cpuset(d->cpuset);
+}
+
+void domain_unpause_by_systemcontroller(struct domain *d)
+{
+    struct exec_domain *ed;
+
+    for_each_exec_domain ( d, ed )
+    {
+        if ( test_and_clear_bit(_VCPUF_ctrl_pause, &ed->vcpu_flags) )
+            domain_wake(ed);
+    }
+}
+
 
 /*
  * set_info_guest is used for final setup, launching, and state modification 
diff -Nru a/xen/include/xen/sched.h b/xen/include/xen/sched.h
--- a/xen/include/xen/sched.h   2005-05-31 20:03:08 -04:00
+++ b/xen/include/xen/sched.h   2005-05-31 20:03:08 -04:00
@@ -389,72 +389,17 @@
              !(ed->domain->domain_flags & (DOMF_shutdown|DOMF_crashed)) );
 }
 
-static inline void exec_domain_pause(struct exec_domain *ed)
-{
-    ASSERT(ed != current);
-    atomic_inc(&ed->pausecnt);
-    domain_sleep(ed);
-    sync_lazy_execstate_cpuset(ed->domain->cpuset & (1UL << ed->processor));
-}
-
-static inline void domain_pause(struct domain *d)
-{
-    struct exec_domain *ed;
-
-    for_each_exec_domain( d, ed )
-    {
-        ASSERT(ed != current);
-        atomic_inc(&ed->pausecnt);
-        domain_sleep(ed);
-    }
-
-    sync_lazy_execstate_cpuset(d->cpuset);
-}
-
-static inline void exec_domain_unpause(struct exec_domain *ed)
-{
-    ASSERT(ed != current);
-    if ( atomic_dec_and_test(&ed->pausecnt) )
-        domain_wake(ed);
-}
-
-static inline void domain_unpause(struct domain *d)
-{
-    struct exec_domain *ed;
-
-    for_each_exec_domain( d, ed )
-        exec_domain_unpause(ed);
-}
+void exec_domain_pause(struct exec_domain *ed);
+void domain_pause(struct domain *d);
+void exec_domain_unpause(struct exec_domain *ed);
+void domain_unpause(struct domain *d);
+void domain_pause_by_systemcontroller(struct domain *d);
+void domain_unpause_by_systemcontroller(struct domain *d);
 
 static inline void exec_domain_unblock(struct exec_domain *ed)
 {
     if ( test_and_clear_bit(_VCPUF_blocked, &ed->vcpu_flags) )
         domain_wake(ed);
-}
-
-static inline void domain_pause_by_systemcontroller(struct domain *d)
-{
-    struct exec_domain *ed;
-
-    for_each_exec_domain ( d, ed )
-    {
-        ASSERT(ed != current);
-        if ( !test_and_set_bit(_VCPUF_ctrl_pause, &ed->vcpu_flags) )
-            domain_sleep(ed);
-    }
-
-    sync_lazy_execstate_cpuset(d->cpuset);
-}
-
-static inline void domain_unpause_by_systemcontroller(struct domain *d)
-{
-    struct exec_domain *ed;
-
-    for_each_exec_domain ( d, ed )
-    {
-        if ( test_and_clear_bit(_VCPUF_ctrl_pause, &ed->vcpu_flags) )
-            domain_wake(ed);
-    }
 }
 
 #define IS_PRIV(_d)                                         \

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


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.