5 ms·
More Efficient TLB shootdowns
- rayiner 12y agoGiven 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-click.pdf https://www.usenix.org/legacy/events/vee05/full_papers/p46-c....
- the8472 12y agoEfficient 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 12y agoWhat 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 12y agohuge pages are useful to reduce TLB overhead too, but it's not the same as batched modifications.
- zurn 12y agoTL;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 12y agoWhat is TLB shootdown? http://stackoverflow.com/q/3748384/290085 http://stackoverflow.com/q/3748384/290085