|
|
|
|
|
|
|
|
|
|
xen-ia64-devel
RE: [Xen-ia64-devel] Some things to be considered for ptc.ga emulation
> Tristan Gingold
>Sent: 2006?4?6? 15:28
>+void vhpt_flush_address_remote(int cpu,
>+ unsigned long vadr, unsigned long addr_range)
>+{
>+ while ((long)addr_range > 0) {
>+ /* Get the VHPT entry. */
>+ unsigned int off = ia64_thash(vadr) - VHPT_ADDR;
>+ volatile struct vhpt_lf_entry *v;
>+ v =__va(per_cpu(vhpt_paddr, cpu) + off);
>+ v->ti_tag = INVALID_TI_TAG;
> addr_range -= PAGE_SIZE;
> vadr += PAGE_SIZE;
> }
I have a concern about this,
This method seems be Ok if only modifying v->ti_tag, which is an atomic
operation on bus.
The possible optimization maybe check tag before setting it to invalid,
(this is unreasonable to purge a irrelevant tlb mapping)
There is a time between checking tag and setting it to invalid, this may
cause race condition.
Thanks,
Anthony
_______________________________________________
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] Some things to be considered for ptc.ga emulation, (continued)
- RE: [Xen-ia64-devel] Some things to be considered for ptc.ga emulation, Tian, Kevin
- RE: [Xen-ia64-devel] Some things to be considered for ptc.ga emulation, Tian, Kevin
- RE: [Xen-ia64-devel] Some things to be considered for ptc.ga emulation, Tian, Kevin
- RE: [Xen-ia64-devel] Some things to be considered for ptc.ga emulation, Tian, Kevin
- RE: [Xen-ia64-devel] Some things to be considered for ptc.ga emulation, Xu, Anthony
- RE: [Xen-ia64-devel] Some things to be considered for ptc.ga emulation, Xu, Anthony
- RE: [Xen-ia64-devel] Some things to be considered for ptc.ga emulation,
Xu, Anthony <=
- RE: [Xen-ia64-devel] Some things to be considered for ptc.ga emulation, Xu, Anthony
|
|
|
|
|