[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


 


Rackspace

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