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

[Xen-changelog] Fix context switching between VCPUs belonging to the same domain. Setting



ChangeSet 1.1443, 2005/04/03 14:17:25+01:00, kaf24@viper.(none)

        Fix context switching between VCPUs belonging to the same domain. 
Setting
        and then clearing the physical CPU bit in the cpuset bitmap is 
incorrect.
        Signed-off-by: Keir Fraser <keir@xxxxxxxxxxxxx>



 domain.c |    8 ++++++--
 1 files changed, 6 insertions(+), 2 deletions(-)


diff -Nru a/xen/arch/x86/domain.c b/xen/arch/x86/domain.c
--- a/xen/arch/x86/domain.c     2005-04-03 10:03:37 -04:00
+++ b/xen/arch/x86/domain.c     2005-04-03 10:03:37 -04:00
@@ -808,10 +808,14 @@
         }
     }
 
-    set_bit(cpu, &n->domain->cpuset);
+    if ( p->domain != n->domain )
+        set_bit(cpu, &n->domain->cpuset);
+
     write_ptbase(n);
     __asm__ __volatile__ ( "lgdt %0" : "=m" (*n->arch.gdt) );
-    clear_bit(cpu, &p->domain->cpuset);
+
+    if ( p->domain != n->domain )
+        clear_bit(cpu, &p->domain->cpuset);
 
     percpu_ctxt[cpu].curr_ed = n;
 }

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