Correct, fast, maintainable

Bernard Blackham, Gernot Heiser
2012 Proceedings of the Asia-Pacific Workshop on Systems - APSYS '12  
The common-case IPC handler in microkernels, referred to as the fastpath, is performance-critical and thus is often optimised using hand-written assembly. However, compiler technology has advanced significantly in the past decade, which suggests that we should re-evaluate this approach. We present a case study of optimising the IPC fastpath in the seL4 microkernel. This fastpath is written in C and relies on an optimising C compiler for good performance. We present our techniques in modifying
more » ... e C sources to assist with compiler optimisation. We compare our results with a hand-optimised assembly implementation, which gains no extra benefit from hand-tuning.
doi:10.1145/2349896.2349909 dblp:conf/apsys/BlackhamH12 fatcat:hnkuzcni2nhwxabqcus3xwks44