[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 |