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

Re: [Xen-devel] stale TLB contents?



At 13:11 +0000 on 24 Jan (1295874671), George Dunlap wrote:
> If you're talking about just TLB  stuff (not changes to the EPT
> tables), that should happen as a result of the context switch code
> (nothing to do with EPT).  The code in question is here:
> 
> xen/arch/x86/domain.c:context_switch()
>     if ( unlikely(!cpu_isset(cpu, dirty_mask) && !cpus_empty(dirty_mask)) )
>     {
>         /* Other cpus call __sync_local_execstate from flush ipi handler. */
>         flush_tlb_mask(&dirty_mask);
>     }
> 
> "Dirty  mask" means "where this vcpu has run"; since the vcpu in
> question will have run on another pcpu, this should happen before the
> vcpu is allowed to run on cpu 0 again.

Actually this code flushes the _other_ CPU's TLB, but I think the code
in vmx_do_resume should be enough.

Cheers,

Tim.

-- 
Tim Deegan <Tim.Deegan@xxxxxxxxxx>
Principal Software Engineer, Xen Platform Team
Citrix Systems UK Ltd.  (Company #02937203, SL9 0BG)

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


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.