|  |  | 
  
    |  |  | 
 
  |   |  | 
  
    |  |  | 
  
    |  |  | 
  
    |   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
 |  |  | 
  
    |  |  |