ELIMINATING RECEIVE LIVELOCK IN AN INTERRUPT-DRIVEN KERNEL

Citation
Jc. Mogul et Kk. Ramakrishnan, ELIMINATING RECEIVE LIVELOCK IN AN INTERRUPT-DRIVEN KERNEL, ACM transactions on computer systems, 15(3), 1997, pp. 217-252
Citations number
30
Categorie Soggetti
Computer Sciences","Computer Science Theory & Methods
ISSN journal
07342071
Volume
15
Issue
3
Year of publication
1997
Pages
217 - 252
Database
ISI
SICI code
0734-2071(1997)15:3<217:ERLIAI>2.0.ZU;2-J
Abstract
Most operating systems use interface interrupts to schedule network ta sks. Interrupt-driven systems can provide low overhead and good latenc y at low offered load, but degrade significantly at higher arrival rat es unless care is taken to prevent several pathologies. These are vari ous forms of receive livelock, in which the system spends all of its t ime processing interrupts, to the exclusion of other necessary tasks. Under extreme conditions, no packets are delivered to the user applica tion or the output of the system. To avoid livelock and related proble ms, an operating system must schedule network interrupt handling as ca refully as it schedules process execution. We modified an interrupt-dr iven networking implementation to do so; this modification eliminates receive livelock without degrading other aspects of system performance . Our modifications include the use of polling when the system is heav ily loaded, while retaining the use of interrupts under lighter load. We present measurements demonstrating the success of our approach.