|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-changelog] [xen stable-4.6] Revert "xen: sched: don't call hooks of the wrong scheduler via VCPU2OP"
commit f96efeb0c6b4f499194571ef6d767534ba851c6a
Author: Jan Beulich <jbeulich@xxxxxxxx>
AuthorDate: Mon Apr 3 09:58:53 2017 +0200
Commit: Jan Beulich <jbeulich@xxxxxxxx>
CommitDate: Mon Apr 3 09:58:53 2017 +0200
Revert "xen: sched: don't call hooks of the wrong scheduler via VCPU2OP"
This reverts commit 7ff6d9fc19ef88d2ca3304a312c0e8a46b61f546,
which osstest has found to be severely broken.
---
xen/common/schedule.c | 22 +---------------------
1 file changed, 1 insertion(+), 21 deletions(-)
diff --git a/xen/common/schedule.c b/xen/common/schedule.c
index ca29a1c..fddcd52 100644
--- a/xen/common/schedule.c
+++ b/xen/common/schedule.c
@@ -78,27 +78,7 @@ static struct scheduler __read_mostly ops;
: (typeof((opsptr)->fn(opsptr, ##__VA_ARGS__)))0 )
#define DOM2OP(_d) (((_d)->cpupool == NULL) ? &ops : ((_d)->cpupool->sched))
-static inline struct scheduler *VCPU2OP(const struct vcpu *v)
-{
- struct domain *d = v->domain;
-
- if ( likely(d->cpupool != NULL) )
- return d->cpupool->sched;
-
- /*
- * If d->cpupool is NULL, this is a vCPU of the idle domain. And this
- * case is special because the idle domain does not really belong to
- * a cpupool and, hence, doesn't really have a scheduler). In fact, its
- * vCPUs (may) run on pCPUs which are in different pools, with different
- * schedulers.
- *
- * What we want, in this case, is the scheduler of the pCPU where this
- * particular idle vCPU is running. And, since v->processor never changes
- * for idle vCPUs, it is safe to use it, with no locks, to figure that out.
- */
- ASSERT(is_idle_domain(d));
- return per_cpu(scheduler, v->processor);
-}
+#define VCPU2OP(_v) (DOM2OP((_v)->domain))
#define VCPU2ONLINE(_v) cpupool_online_cpumask((_v)->domain->cpupool)
static inline void trace_runstate_change(struct vcpu *v, int new_state)
--
generated by git-patchbot for /home/xen/git/xen.git#stable-4.6
_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxx
https://lists.xenproject.org/xen-changelog
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |