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
|