Fast Interrupt Priority Management in Operating System Kernels
Daniel Stodolsky & J. Bradley Chen Brian N. Bershad
School of Computer Science Department of Computer Science
Carnegie Mellon University and Engineering
Pittsburgh, Pennsylvania University of Washington
Seattle, Washington
Abstract
In this paper we describe a new, low-overhead technique for
manipulating processor interrupt state in an operating system kernel.
Both uniprocessor and multiprocessor operating systems protect against
uniprocessor deadlock and data corruption by selectively enabling and
disabling interrupts during critical sections. This happens
frequently during latency-critical activities such as IPC, scheduling,
and memory management. Unfortunately, the cycle cost of modifying the
interrupt mask has increased by an order of magnitude in recent
processor architectures. In this paper we describe optimistic
interrupt protection, a technique which substantially reduces the cost
of interrupt masking by optimizing mask manipulation for the common
case of no interrupts. We present results for the Mach 3.0
microkernel operating system, although the technique is applicable to
other kernel architectures, both micro and monolithic, that rely on
interrupts to manage devices.
Download the full text of this paper in
ASCII form (22,848 bytes).
To Become a USENIX Member, please see our
Membership Information.