logo       

Re: Zero copy transmit: msg#00264

Subject: Re: Zero copy transmit
> Last time I checked, the IA64 processor provides a ptc.g instruction for
> exactly this.  The only hit we take from using it is Intel limits it to
> a single outstanding ptc.g pending machine wide.  This is accomplished with
> a global spinlock.  I would love to convince Intel to change this instruction,
> but that probably will not happen any time soon.

IA64 Linux doesn't use it at least. The 2.5 flush_tlb_mm calls smp_flush_tlb_mm
which ends up doing IPIs. Same for flush_tlb_page - calls flush_tlb_range
which calls sn2_global_tlb_purge, which does something complicated
that also looks like an global IPI. It also takes a global spinlock.

> 
> I will concede that the ptc.g instruction takes a considerable period of
> time on our 64 processor machines, but that comes out to a lot of local
> TLB coherence domains that need to be updated.
> 
> I believe there is a similar instruction for x86.  Could someone verify
> this?

Nope. x86 has to IPI for remote TLB flushes.

-Andi
> 




<Prev in Thread] Current Thread [Next in Thread>