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