|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-changelog] [xen-unstable] introduce and use common macros for selecting cpupool based cpumasks
# HG changeset patch
# User Juergen Gross <juergen.gross@xxxxxxxxxxxxxx>
# Date 1327414798 0
# Node ID 3df3a0a95551a65ae0c29a481f0f756b63a3f37c
# Parent d115844ebfbb02bd785a4bd1b50fa31072f36bff
introduce and use common macros for selecting cpupool based cpumasks
There are several instances of the same construct finding the cpumask
for a cpupool. Use macros instead.
Signed-off-by: juergen.gross@xxxxxxxxxxxxxx
Committed-by: Keir Fraser <keir@xxxxxxx>
---
diff -r d115844ebfbb -r 3df3a0a95551 xen/common/domctl.c
--- a/xen/common/domctl.c Tue Jan 24 14:16:04 2012 +0000
+++ b/xen/common/domctl.c Tue Jan 24 14:19:58 2012 +0000
@@ -518,7 +518,7 @@
goto maxvcpu_out;
ret = -ENOMEM;
- online = (d->cpupool == NULL) ? &cpu_online_map :
d->cpupool->cpu_valid;
+ online = cpupool_online_cpumask(d->cpupool);
if ( max > d->max_vcpus )
{
struct vcpu **vcpus;
diff -r d115844ebfbb -r 3df3a0a95551 xen/common/sched_credit.c
--- a/xen/common/sched_credit.c Tue Jan 24 14:16:04 2012 +0000
+++ b/xen/common/sched_credit.c Tue Jan 24 14:19:58 2012 +0000
@@ -72,8 +72,6 @@
#define CSCHED_VCPU(_vcpu) ((struct csched_vcpu *) (_vcpu)->sched_priv)
#define CSCHED_DOM(_dom) ((struct csched_dom *) (_dom)->sched_priv)
#define RUNQ(_cpu) (&(CSCHED_PCPU(_cpu)->runq))
-#define CSCHED_CPUONLINE(_pool) \
- (((_pool) == NULL) ? &cpupool_free_cpus : (_pool)->cpu_valid)
/*
@@ -471,7 +469,7 @@
* Pick from online CPUs in VCPU's affinity mask, giving a
* preference to its current processor if it's in there.
*/
- online = CSCHED_CPUONLINE(vc->domain->cpupool);
+ online = cpupool_scheduler_cpumask(vc->domain->cpupool);
cpumask_and(&cpus, online, vc->cpu_affinity);
cpu = cpumask_test_cpu(vc->processor, &cpus)
? vc->processor
@@ -1230,7 +1228,7 @@
int peer_cpu;
BUG_ON( cpu != snext->vcpu->processor );
- online = CSCHED_CPUONLINE(per_cpu(cpupool, cpu));
+ online = cpupool_scheduler_cpumask(per_cpu(cpupool, cpu));
/* If this CPU is going offline we shouldn't steal work. */
if ( unlikely(!cpumask_test_cpu(cpu, online)) )
diff -r d115844ebfbb -r 3df3a0a95551 xen/common/sched_credit2.c
--- a/xen/common/sched_credit2.c Tue Jan 24 14:16:04 2012 +0000
+++ b/xen/common/sched_credit2.c Tue Jan 24 14:19:58 2012 +0000
@@ -169,8 +169,6 @@
((struct csched_private *)((_ops)->sched_data))
#define CSCHED_VCPU(_vcpu) ((struct csched_vcpu *) (_vcpu)->sched_priv)
#define CSCHED_DOM(_dom) ((struct csched_dom *) (_dom)->sched_priv)
-#define CSCHED_CPUONLINE(_pool) \
- (((_pool) == NULL) ? &cpupool_free_cpus : (_pool)->cpu_valid)
/* CPU to runq_id macro */
#define c2r(_ops, _cpu) (CSCHED_PRIV(_ops)->runq_map[(_cpu)])
/* CPU to runqueue struct macro */
diff -r d115844ebfbb -r 3df3a0a95551 xen/common/sched_sedf.c
--- a/xen/common/sched_sedf.c Tue Jan 24 14:16:04 2012 +0000
+++ b/xen/common/sched_sedf.c Tue Jan 24 14:19:58 2012 +0000
@@ -13,9 +13,6 @@
#include <xen/time.h>
#include <xen/errno.h>
-#define SEDF_CPUONLINE(_pool) \
- (((_pool) == NULL) ? &cpupool_free_cpus : (_pool)->cpu_valid)
-
#ifndef NDEBUG
#define SEDF_STATS
#define CHECK(_p) \
@@ -397,7 +394,7 @@
cpumask_t online_affinity;
cpumask_t *online;
- online = SEDF_CPUONLINE(v->domain->cpupool);
+ online = cpupool_scheduler_cpumask(v->domain->cpupool);
cpumask_and(&online_affinity, v->cpu_affinity, online);
return cpumask_first(&online_affinity);
}
@@ -801,7 +798,8 @@
*/
if ( tasklet_work_scheduled ||
(list_empty(runq) && list_empty(waitq)) ||
- unlikely(!cpumask_test_cpu(cpu, SEDF_CPUONLINE(per_cpu(cpupool,
cpu)))) )
+ unlikely(!cpumask_test_cpu(cpu,
+ cpupool_scheduler_cpumask(per_cpu(cpupool, cpu)))) )
{
ret.task = IDLETASK(cpu);
ret.time = SECONDS(1);
diff -r d115844ebfbb -r 3df3a0a95551 xen/common/schedule.c
--- a/xen/common/schedule.c Tue Jan 24 14:16:04 2012 +0000
+++ b/xen/common/schedule.c Tue Jan 24 14:19:58 2012 +0000
@@ -77,9 +77,7 @@
#define DOM2OP(_d) (((_d)->cpupool == NULL) ? &ops : ((_d)->cpupool->sched))
#define VCPU2OP(_v) (DOM2OP((_v)->domain))
-#define VCPU2ONLINE(_v) \
- (((_v)->domain->cpupool == NULL) ? &cpu_online_map \
- : (_v)->domain->cpupool->cpu_valid)
+#define VCPU2ONLINE(_v) cpupool_online_cpumask((_v)->domain->cpupool)
static inline void trace_runstate_change(struct vcpu *v, int new_state)
{
@@ -1418,7 +1416,7 @@
cpumask_t *cpus;
sched = (c == NULL) ? &ops : c->sched;
- cpus = (c == NULL) ? &cpupool_free_cpus : c->cpu_valid;
+ cpus = cpupool_scheduler_cpumask(c);
printk("Scheduler: %s (%s)\n", sched->name, sched->opt_name);
SCHED_OP(sched, dump_settings);
diff -r d115844ebfbb -r 3df3a0a95551 xen/include/xen/sched-if.h
--- a/xen/include/xen/sched-if.h Tue Jan 24 14:16:04 2012 +0000
+++ b/xen/include/xen/sched-if.h Tue Jan 24 14:19:58 2012 +0000
@@ -204,4 +204,9 @@
atomic_t refcnt;
};
+#define cpupool_scheduler_cpumask(_pool) \
+ (((_pool) == NULL) ? &cpupool_free_cpus : (_pool)->cpu_valid)
+#define cpupool_online_cpumask(_pool) \
+ (((_pool) == NULL) ? &cpu_online_map : (_pool)->cpu_valid)
+
#endif /* __XEN_SCHED_IF_H__ */
_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |