[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-ia64-devel] [RFC] SMP issues
Le Mercredi 14 Juin 2006 10:30, Tristan Gingold a écrit : > Le Mercredi 14 Juin 2006 07:58, Isaku Yamahata a écrit : > > Hello. > > [...] > > > - races between global tlb purge and tlb insert > > This is a race between reading/writing vcpu->arch.{d, i}tlb or VHPT > > entry. When a vcpu is about to insert tlb, another vcpu may purge tlb > > cache globally. Inserting tlb (vcpu_itc_no_srlz()) or global tlb purge > > (domain_flush_vtlb_range() and domain_flush_vtlb_all()) can't update > > cpu->arch.{d, i}tlb, VHPT and mTLB. So there is a race here. > > Use sequence lock to avoid this race. > > After inserting tlb entry, check the sequence lock and retry to insert. > > This means that when global tlb purge and tlb insert are issued > > simultaneously, always tlb insert happens after global tlb purge. > > > > There was an attempt to resolve this race by checking only > > vcpu->arch.{d, i}tlb.p bit. However it was incomplete because it > > doesn't take care of VHPT. > > I don't agree with the last paragraph. > > During a flush, p bit was cleared first and then VHPT. > Races were avoided between Xen reads and Xen writes because the clear is > atomic. > There is no races between VHPT walker and Xen because either the walker > reads before the VHPT clear (as if the reads occured before the ptc.ga) or > fails (as if the access occured after the ptc.ga). Just a word after re-reading the message. I don't want to be polemic. I'd just like to establish facts ;-) Tristan. _______________________________________________ Xen-ia64-devel mailing list Xen-ia64-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-ia64-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |