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