WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-devel

[Xen-devel] [PATCH][VT][2/15] Add a hook to support CPU migration for VM

To: Ian Pratt <Ian.Pratt@xxxxxxxxxxxx>, Keir Fraser <Keir.Fraser@xxxxxxxxxxxx>
Subject: [Xen-devel] [PATCH][VT][2/15] Add a hook to support CPU migration for VMX domains
From: Arun Sharma <arun.sharma@xxxxxxxxx>
Date: Thu, 11 Aug 2005 12:24:06 -0700
Cc: xen-devel@xxxxxxxxxxxxxxxxxxx
Delivery-date: Thu, 11 Aug 2005 19:24:41 +0000
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
List-help: <mailto:xen-devel-request@lists.xensource.com?subject=help>
List-id: Xen developer discussion <xen-devel.lists.xensource.com>
List-post: <mailto:xen-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
User-agent: Mutt/1.4.1i
Add a hook to support CPU migration for VMX domains

Signed-off-by: Yunhong Jiang <yunhong.jiang@xxxxxxxxx>
Signed-off-by: Arun Sharma <arun.sharma@xxxxxxxxx>

diff -r 6a87d79f9ee0 -r d481d2776e89 xen/arch/x86/domain.c
--- a/xen/arch/x86/domain.c     Tue Aug  9 19:06:44 2005
+++ b/xen/arch/x86/domain.c     Tue Aug  9 19:06:44 2005
@@ -297,6 +297,15 @@
         l1e_from_page(virt_to_page(gdt_table), PAGE_HYPERVISOR);
 }
 
+void
+arch_migrate_cpu(struct vcpu *v, int newcpu)
+{
+    if ( VMX_DOMAIN(v) && (v->processor != newcpu) ){
+        u64 vmcs_phys_ptr = (u64) virt_to_phys(v->arch.arch_vmx.vmcs);
+        __vmpclear(vmcs_phys_ptr);
+    }
+}
+
 #ifdef CONFIG_VMX
 static int vmx_switch_on;
 
diff -r 6a87d79f9ee0 -r d481d2776e89 xen/common/dom0_ops.c
--- a/xen/common/dom0_ops.c     Tue Aug  9 19:06:44 2005
+++ b/xen/common/dom0_ops.c     Tue Aug  9 19:06:44 2005
@@ -300,8 +300,10 @@
             int new_cpu = (int)find_first_set_bit(cpumap) % num_online_cpus();
 
             vcpu_pause(v);
-            if ( v->processor != new_cpu )
+            if ( v->processor != new_cpu ){
                 set_bit(_VCPUF_cpu_migrated, &v->vcpu_flags);
+                arch_migrate_cpu(v, new_cpu);
+            }
             set_bit(_VCPUF_cpu_pinned, &v->vcpu_flags);
             v->processor = new_cpu;
             vcpu_unpause(v);
diff -r 6a87d79f9ee0 -r d481d2776e89 xen/include/xen/domain.h
--- a/xen/include/xen/domain.h  Tue Aug  9 19:06:44 2005
+++ b/xen/include/xen/domain.h  Tue Aug  9 19:06:44 2005
@@ -14,6 +14,8 @@
 
 extern void arch_do_boot_vcpu(struct vcpu *v);
 
+void arch_migrate_cpu(struct vcpu *v, int newcpu);
+
 extern int  arch_set_info_guest(
     struct vcpu *d, struct vcpu_guest_context *c);
 

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel

<Prev in Thread] Current Thread [Next in Thread>
  • [Xen-devel] [PATCH][VT][2/15] Add a hook to support CPU migration for VMX domains, Arun Sharma <=