Implementation of Fast Address-Space Switching and TLB Sharing on the StrongARM Processor

The StrongARM processor features virtually-addressedcaches 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.

[1]  J. Liedtke On -Kernel Construction , 1995 .

[2]  Carl Staelin,et al.  lmbench: Portable Tools for Performance Analysis , 1996, USENIX Annual Technical Conference.

[3]  Trent Jaeger,et al.  Achieved IPC performance (still the foundation for extensibility) , 1997, Proceedings. The Sixth Workshop on Hot Topics in Operating Systems (Cat. No.97TB100133).

[4]  Jochen Liedtke,et al.  On micro-kernel construction , 1995, SOSP.

[5]  Gernot Heiser,et al.  Itanium Page Tables and TLB , 2003 .

[6]  Gernot Heiser,et al.  Fast address-space switching on the StrongARM SA-1100 processor , 2000, Proceedings 5th Australasian Computer Architecture Conference. ACAC 2000 (Cat. No.PR00512).

[7]  John Murray Inside Microsoft Windows CE , 1998 .

[8]  D. B. Davis,et al.  Intel Corp. , 1993 .

[9]  Jochen Liedtke,et al.  The mungi single‐address‐space operating system , 1998, Softw. Pract. Exp..