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

[Xen-changelog] Fix sync_lazy_execstate functions to correctly sync the

To: xen-changelog@xxxxxxxxxxxxxxxxxxx
Subject: [Xen-changelog] Fix sync_lazy_execstate functions to correctly sync the local cpu.
From: BitKeeper Bot <riel@xxxxxxxxxxx>
Date: Wed, 01 Jun 2005 15:50:02 +0000
Delivery-date: Thu, 02 Jun 2005 09:01:57 +0000
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
List-help: <mailto:xen-changelog-request@lists.xensource.com?subject=help>
List-id: BK change log <xen-changelog.lists.xensource.com>
List-post: <mailto:xen-changelog@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-changelog>, <mailto:xen-changelog-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-changelog>, <mailto:xen-changelog-request@lists.xensource.com?subject=unsubscribe>
Reply-to: Xen Development List <xen-devel@xxxxxxxxxxxxxxxxxxx>
Sender: xen-changelog-bounces@xxxxxxxxxxxxxxxxxxx
ChangeSet 1.1628.1.1, 2005/06/01 16:50:02+01:00, kaf24@xxxxxxxxxxxxxxxxxxxx

        Fix sync_lazy_execstate functions to correctly sync the local cpu.
        Signed-off-by: Keir Fraser <keir@xxxxxxxxxxxxx>



 domain.c |    9 +++++++--
 1 files changed, 7 insertions(+), 2 deletions(-)


diff -Nru a/xen/arch/x86/domain.c b/xen/arch/x86/domain.c
--- a/xen/arch/x86/domain.c     2005-06-02 05:02:49 -04:00
+++ b/xen/arch/x86/domain.c     2005-06-02 05:02:49 -04:00
@@ -819,12 +819,17 @@
 
 void sync_lazy_execstate_cpuset(unsigned long cpuset)
 {
-    flush_tlb_mask(cpuset);
+    if ( cpuset & (1 << smp_processor_id()) )
+        (void)__sync_lazy_execstate();
+    /* Other cpus call __sync_lazy_execstate from flush ipi handler. */
+    flush_tlb_mask(cpuset & ~(1 << smp_processor_id()));
 }
 
 void sync_lazy_execstate_all(void)
 {
-    flush_tlb_all();
+    __sync_lazy_execstate();
+    /* Other cpus call __sync_lazy_execstate from flush ipi handler. */
+    flush_tlb_mask(((1<<num_online_cpus())-1) & ~(1 << smp_processor_id()));
 }
 
 unsigned long __hypercall_create_continuation(

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

<Prev in Thread] Current Thread [Next in Thread>
  • [Xen-changelog] Fix sync_lazy_execstate functions to correctly sync the local cpu., BitKeeper Bot <=