Re: TLB evaluation for Linux

From: Arjan van de Ven
Date: Tue Sep 02 2008 - 11:38:39 EST


On Tue, 2 Sep 2008 10:59:25 -0400 (EDT)
"CHADHA,VINEET" <vineet@xxxxxxx> wrote:

>
> On Tue Sep 02 09:43:53 EDT 2008, Arjan van de Ven
> <arjan@xxxxxxxxxxxxx> wrote:
>
> > On Tue, 2 Sep 2008 00:12:03 -0400 (EDT)
> > "CHADHA,VINEET" <vineet@xxxxxxx> wrote:
> >
>
> > note that linux only does an ipi to processors that actually are
> > currently running a thread of the same program (or a kernel
> > thread).
> > Old versions didn't do this (they also IPI'd idle processors),
> > but
> > on modern cpus and modern kernels that's not supposed to happen
> > anymore
> > (the C-states that flush the tlb anyway now do the kernel side
> > bookkeeping as well to avoid the wakeup+useless flush)
>
> Interesting to know about it.
>
> > one of the problems is that invlpg is rather expensive; in
> > long-ago
> > experiments the threshold was like around a handful of pages
> > already.
> > At that point.. all the bookkeeping isn't likely to be a win.
> > Esp since a tlb refill on x86 is quite cheap.
>
> Yeah that is possible. Do you have link to any published work ? It
> would be still interesting to characterize and compare behavior
> for new workloads scenarios such as virtual machines.
>

I don't have a reference, but I'd not be surprised to see on virtual
machines for this to be even stronger; each invlpg would be a
hypercall, compared to only one for the total flush.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/