xen-ia64-devel
Re: [Xen-ia64-devel] Re: [PATCH]: ptc.ga for SMP-g
Le Jeudi 30 Mars 2006 11:08, Tian, Kevin a écrit :
> From: Tristan Gingold [mailto:Tristan.Gingold@xxxxxxxx]
>
> >Sent: 2006年3月30日 16:56
> >
> >> >Can you elaborate ? Do you have a disaster scenario ?
> >> >vcpu_purge_tr_entry only clears the p bit.
> >>
> >> I think it's not safe for one vcpu to operate date structure on another
> >> vcpu. For example, current vcpu is doing vcpu_match_tr_entry. Just
> >
> >after
> >
> >> checking _trp->p, then another vcpu invokes vcpu_purge_tr_entry to
> >
> >clear
> >
> >> _trp->p. In this case, vcpu_match_tr_entry should return false however
> >
> >it
> >
> >> may return true based on old knowledge since the whole check is not
> >
> >atomic.
> >This is as if the purge was done a few cycles after the checks.
>
> OK, maybe we can take another extreme case. :-) Say current vcpu
> doesn't check the vtlb entry, instead it tries to update that entry and
> more interesting is that it wants to set present bit. Now if another vcpu
> clears present bit of this entry before current vcpu's update, finally that
> entry will be in present state again. That's one race condition.
Correct. There is indeed a race between purge and insert.
> The
> importance is that one vcpu doesn't know whether another vcpu is operating
> that
> context. However with IPI's help, all modifications happen on current
> context. To avoid race with interrupted context, IPI handler may even raise
> a softirq to handle purge only before resuming to guest. How do you
> think?
For sure, this is almost the safest. But there is still a race-condition: if
vcpu migrates during the IPI, the tlb can be modified by two cpus.
> >The main problem with IPI is migration. However, currently migration
> >doesn't
> >work well. I think it is ok to migrate a vcpu from CPU X to CPU Y, but
> >we
> >don't support migrating back from CPU Y to CPU X.
>
> Elaboration? Curious about the reason...
This is not an SMP-g issue, but an SMP issue.
After migration to CPU Y, the VHPT for CPU X is not updated. When it migrates
again to CPU X, it has an oudated VHPT.
So, in short migration is *not* handled.
Tristan.
_______________________________________________
Xen-ia64-devel mailing list
Xen-ia64-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-ia64-devel
|
<Prev in Thread] |
Current Thread |
[Next in Thread>
|
RE: [Xen-ia64-devel] Re: [PATCH]: ptc.ga for SMP-g, Tian, Kevin
- Re: [Xen-ia64-devel] Re: [PATCH]: ptc.ga for SMP-g,
Tristan Gingold <=
RE: [Xen-ia64-devel] Re: [PATCH]: ptc.ga for SMP-g, Tian, Kevin
RE: [Xen-ia64-devel] Re: [PATCH]: ptc.ga for SMP-g, Xu, Anthony
RE: [Xen-ia64-devel] Re: [PATCH]: ptc.ga for SMP-g, Xu, Anthony
RE: [Xen-ia64-devel] Re: [PATCH]: ptc.ga for SMP-g, Xu, Anthony
RE: [Xen-ia64-devel] Re: [PATCH]: ptc.ga for SMP-g, Tian, Kevin
|
|
|