ia64/xen-unstable
changeset 5262:d65ff8dafa15
bitkeeper revision 1.1630 (429dd931IfVZoLDG_59VLA9fanmtuQ)
Merge firebug.cl.cam.ac.uk:/auto/groups/xeno-xenod/BK/xen-unstable.bk
into firebug.cl.cam.ac.uk:/local/scratch/kaf24/xen-unstable.bk
Merge firebug.cl.cam.ac.uk:/auto/groups/xeno-xenod/BK/xen-unstable.bk
into firebug.cl.cam.ac.uk:/local/scratch/kaf24/xen-unstable.bk
author | kaf24@firebug.cl.cam.ac.uk |
---|---|
date | Wed Jun 01 15:50:09 2005 +0000 (2005-06-01) |
parents | f3d83aed87fa 44063d9f39e4 |
children | d8410197d991 |
files | xen/arch/x86/domain.c |
line diff
1.1 --- a/xen/arch/x86/domain.c Wed Jun 01 14:57:45 2005 +0000 1.2 +++ b/xen/arch/x86/domain.c Wed Jun 01 15:50:09 2005 +0000 1.3 @@ -819,12 +819,17 @@ int __sync_lazy_execstate(void) 1.4 1.5 void sync_lazy_execstate_cpuset(unsigned long cpuset) 1.6 { 1.7 - flush_tlb_mask(cpuset); 1.8 + if ( cpuset & (1 << smp_processor_id()) ) 1.9 + (void)__sync_lazy_execstate(); 1.10 + /* Other cpus call __sync_lazy_execstate from flush ipi handler. */ 1.11 + flush_tlb_mask(cpuset & ~(1 << smp_processor_id())); 1.12 } 1.13 1.14 void sync_lazy_execstate_all(void) 1.15 { 1.16 - flush_tlb_all(); 1.17 + __sync_lazy_execstate(); 1.18 + /* Other cpus call __sync_lazy_execstate from flush ipi handler. */ 1.19 + flush_tlb_mask(((1<<num_online_cpus())-1) & ~(1 << smp_processor_id())); 1.20 } 1.21 1.22 unsigned long __hypercall_create_continuation(