Eliminating receive livelock in an interrupt-driven kernel
Open Access
- 1 August 1997
- journal article
- Published by Association for Computing Machinery (ACM) in ACM Transactions on Computer Systems
- Vol. 15 (3) , 217-252
Abstract
Most operating systems use interface interrupts to schedule network tasks. Interrupt-driven systems can provide low overhead and good latency at low offered load, but degrade significantly at higher arrival rates unless care is taken to prevent several pathologies. These are various forms of receive livelock , in which the system spends all of its time processing interrupts, to the exclusion of other necessary tasks. Under extreme conditions, no packets are delivered to the user application or the output of the system. To avoid livelock and related problems, an operating system must schedule network interrupt handling as carefully as it schedules process execution. We modified an interrupt-driven 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 heavily loaded, while retaining the use of interrupts ur.Jer lighter load. We present measurements demonstrating the success of our approach.Keywords
This publication has 12 references indexed in Scilit:
- Lazy receiver processing (LRP)1996
- Making paths explicit in the Scout operating system1996
- Dynamics of TCP traffic over ATM networksIEEE Journal on Selected Areas in Communications, 1995
- Operating system support for a video-on-demand file serviceMultimedia Systems, 1995
- Giving applications access to Gb/s networkingIEEE Network, 1993
- Performance considerations in designing network interfacesIEEE Journal on Selected Areas in Communications, 1993
- Hardware/software organization of a high-performance ATM host interfaceIEEE Journal on Selected Areas in Communications, 1993
- Random early detection gateways for congestion avoidanceIEEE/ACM Transactions on Networking, 1993
- Efficient use of workstations for passive monitoring of local area networks1990
- The packer filter: an efficient mechanism for user-level network code1987