Correct, fast, maintainable: choose any three!

  • Authors:
  • Bernard Blackham;Gernot Heiser

  • Affiliations:
  • NICTA and University of New South Wales, Sydney, Australia;NICTA and University of New South Wales, Sydney, Australia

  • Venue:
  • Proceedings of the Asia-Pacific Workshop on Systems
  • Year:
  • 2012

Quantified Score

Hi-index 0.00

Visualization

Abstract

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 fast-path 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 the 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.