[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-changelog] [xen-unstable] [XEN] Small clean up.



# HG changeset patch
# User kfraser@xxxxxxxxxxxxxxxxxxxxx
# Node ID f5fd563bcc84f5bb67ceb1031c127ce44515507a
# Parent  1d3f52eb256e3522edc12daca91039b319dbbbe5
[XEN] Small clean up.
Signed-off-by: Keir Fraser <keir@xxxxxxxxxxxxx>
---
 xen/common/schedule.c |   39 ++++++++++++++++-----------------------
 1 files changed, 16 insertions(+), 23 deletions(-)

diff -r 1d3f52eb256e -r f5fd563bcc84 xen/common/schedule.c
--- a/xen/common/schedule.c     Mon Sep 25 17:27:18 2006 +0100
+++ b/xen/common/schedule.c     Mon Sep 25 17:45:28 2006 +0100
@@ -41,7 +41,6 @@ static unsigned int opt_dom0_vcpus_pin;
 static unsigned int opt_dom0_vcpus_pin;
 boolean_param("dom0_vcpus_pin", opt_dom0_vcpus_pin);
 
-
 #define TIME_SLOP      (s32)MICROSECS(50)     /* allow time to slip a bit */
 
 /* Various timer handlers. */
@@ -104,35 +103,29 @@ void vcpu_runstate_get(struct vcpu *v, s
 
 int sched_init_vcpu(struct vcpu *v, unsigned int processor) 
 {
-    const struct domain * const d = v->domain;
-
-    /* Initialize processor and affinity settings. */
+    struct domain *d = v->domain;
+
+    /*
+     * Initialize processor and affinity settings. The idler, and potentially
+     * domain-0 VCPUs, are pinned onto their respective physical CPUs.
+     */
     v->processor = processor;
-
-    if ( is_idle_domain(d) || (d->domain_id == 0 && opt_dom0_vcpus_pin) )
-    {
-        /*
-         * The idler and potentially dom0 VCPUs are pinned onto their
-         * respective physical CPUs.
-         */
+    if ( is_idle_domain(d) || ((d->domain_id == 0) && opt_dom0_vcpus_pin) )
         v->cpu_affinity = cpumask_of_cpu(processor);
-
-        /* The idle VCPUs takes over their CPUs on creation... */
-        if ( is_idle_domain(d) )
-        {
-            per_cpu(schedule_data, v->processor).curr = v;
-            per_cpu(schedule_data, v->processor).idle = v;
-            set_bit(_VCPUF_running, &v->vcpu_flags);
-        }
-    }
     else
-    {
         v->cpu_affinity = CPU_MASK_ALL;
-    }
 
     /* Initialise the per-domain timers. */
     init_timer(&v->timer, vcpu_timer_fn, v, v->processor);
     init_timer(&v->poll_timer, poll_timer_fn, v, v->processor);
+
+    /* Idle VCPUs are scheduled immediately. */
+    if ( is_idle_domain(d) )
+    {
+        per_cpu(schedule_data, v->processor).curr = v;
+        per_cpu(schedule_data, v->processor).idle = v;
+        set_bit(_VCPUF_running, &v->vcpu_flags);
+    }
 
     TRACE_2D(TRC_SCHED_DOM_ADD, v->domain->domain_id, v->vcpu_id);
 
@@ -236,7 +229,7 @@ int vcpu_set_affinity(struct vcpu *v, cp
     cpumask_t online_affinity;
     unsigned long flags;
 
-    if ( v->domain->domain_id == 0 && opt_dom0_vcpus_pin )
+    if ( (v->domain->domain_id == 0) && opt_dom0_vcpus_pin )
         return -EINVAL;
 
     cpus_and(online_affinity, *affinity, cpu_online_map);

_______________________________________________
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®.