Messages in this thread | | | Date | Wed, 21 Jun 2017 15:40:58 +0200 (CEST) | From | Thomas Gleixner <> | Subject | Re: [PATCH v3 11/11] x86/mm: Try to preserve old TLB entries using PCID |
| |
On Wed, 21 Jun 2017, Thomas Gleixner wrote: > > + for (asid = 0; asid < NR_DYNAMIC_ASIDS; asid++) { > > + if (this_cpu_read(cpu_tlbstate.ctxs[asid].ctx_id) != > > + next->context.ctx_id) > > + continue; > > + > > + *new_asid = asid; > > + *need_flush = (this_cpu_read(cpu_tlbstate.ctxs[asid].tlb_gen) < > > + next_tlb_gen); > > + return; > > + } > > Hmm. So this loop needs to be taken unconditionally even if the task stays > on the same CPU. And of course the number of dynamic IDs has to be short in > order to makes this loop suck performance wise.
... not suck ...
| |