

More Efficient TLB shootdowns - profquail
http://zinascii.com/2015/illumos-5498.html

======
rayiner
Given the cost of TLB shootdowns, the API's should really be asynchronous. You
don't always need all cores to see the same view of the page tables at the
same time:
[https://www.usenix.org/legacy/events/vee05/full_papers/p46-c...](https://www.usenix.org/legacy/events/vee05/full_papers/p46-click.pdf).

------
the8472
Efficient bulk TLB manipulation is also part of the secret sauce behind Azul's
pauseless GC. AIUI they have a custom kernel module to provide more efficient
virtual memory operations than the linux kernel APIs can provide.

~~~
eternalban
What about Linux TLB Big Page [1]?

[1]:
[https://www.kernel.org/doc/Documentation/vm/hugetlbpage.txt](https://www.kernel.org/doc/Documentation/vm/hugetlbpage.txt)

~~~
the8472
huge pages are useful to reduce TLB overhead too, but it's not the same as
batched modifications.

------
zurn
TL;DR it pays off to invalidate a range of pages per inter-processor
interrupt, rather than one page per interrupt, and dtrace can get the numbers
to prove it.

------
kjhughes
What is TLB shootdown?
[http://stackoverflow.com/q/3748384/290085](http://stackoverflow.com/q/3748384/290085)

