Messages in this thread |  | | Date | Tue, 2 Sep 2008 06:43:53 -0700 | | From | Arjan van de Ven <> | | Subject | Re: TLB evaluation for Linux |
| |
On Tue, 2 Sep 2008 00:12:03 -0400 (EDT) "CHADHA,VINEET" <vineet@ufl.edu> wrote:
> Hi, > > I have been working to evaluate TLB performance for Linux O/S and > virtualized workloads(such as Xen) in a Full system simulator(e.g. > simics). While my evaluation is in nascent stage, I do notice that > most of the IPIs in multi-core environments cause complete TLB > Flush.
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) > > I want to evaluate cost of TLB shootdown including re-population > vs. each entry shootdown (invlpg). While a similar study has been > done in other kernels (e.g. L4 kernel), I am not aware if it has > been done for Linux O/S. >
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.
-- If you want to reach me at my work email, use arjan@linux.intel.com For development, discussion and tips for power savings, visit http://www.lesswatts.org
|  |