Implementation of fast address-space switching and TLB sharing on the StrongARM processor
Authors
National ICT Australia Ltd.
Sydney
NSW 2052
Australia
School of Computer Science and Engineering
The University of New South Wales
Sydney 2052
Australia
University of Karlsruhe
DE
Abstract
The StrongARM processor features virtually-addressed caches and a TLB without address-space tags. A naive implementation therefore requires flushing of all CPU caches and the TLB on each context switch, which is very costly. We present an implementation of fast context switches on the architecture in both Linux and the L4 microkernel. It is based on using domain tags as address-space identifiers and delaying cache flushes until a clash of mappings is detected. We observe a reduction of the context-switching overheads by about an order of magnitude compared to the naive scheme presently implemented in Linux.
We also implemented sharing of TLB entries for shared pages, a natural extension of the fast-context-switch approach. Even though the TLBs of the StrongARM are quite small and a potential bottleneck, we found that benefits from sharing TLB entries are generally marginal, and can only be expected to be significant under very restrictive conditions.
BibTeX Entry
@inproceedings{Wiggins_TUH_03, address = {Aizu-Wakamatsu City, Japan}, author = {Adam Wiggins and Harvey Tuch and Volkmar Uhlig and Gernot Heiser}, booktitle = {Asia-Pacific Computer Systems Architecture Conference}, month = sep, paperurl = {https://trustworthy.systems/publications/papers/Wiggins_TUH_03.pdf}, publisher = {Springer}, title = {Implementation of Fast Address-Space Switching and {TLB} Sharing on the {StrongARM} Processor}, year = {2003} }