|
|
|
|
|
|
|
|
|
|
xen-ia64-devel
[Xen-ia64-devel] in_tpa is not SMP-safe
Hi,
the use of in_tpa is not SMP-safe:
[in vcpu.c:]
#if 1
// TEMPORARY PATCH for match_dtlb uses this, can be removed later
// FIXME SMP
int in_tpa = 0;
#endif
[vcpu_translate]
if (/* is_data && */ vcpu_match_tr_entry(trp,address,rid)) {
if (vcpu->domain==dom0 && !in_tpa) *pteval = trp->page_flags;
else *pteval = vcpu->arch.dtlb_pte;
*itir = trp->itir;
dtlb_translate_count++;
return IA64_NO_FAULT;
}
[vcpu_tpa:]
in_tpa = 1;
fault = vcpu_translate(vcpu, vadr, 1, &pteval, &itir, &iha);
in_tpa = 0;
Should we add a new parameter to vcpu_translate or change the is_data
parameter to flags ?
BTW, I do not really understand it. Why vcpu->arch.dtlb_pte can be wrong ?
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> |
- [Xen-ia64-devel] in_tpa is not SMP-safe,
Tristan Gingold <=
|
|
|
|
|