You are here: Home / RTLWS 1999-2017 / RTLWS Submitted Papers / 
2024-04-28 - 16:31

Real Time Linux Workshops

1999 - 2000 - 2001 - 2002 - 2003 - 2004 - 2005 - 2006 - 2007 - 2008 - 2009 - 2010 - 2011 - 2012 - 2013 - 2014 - 2015

15th Real Time Linux Workshop, October 28 to 31, 2013 at the Dipartimento Tecnologie Innovative, Scuola Universitaria Professionale della Svizzera Italiana in Lugano-Manno, Switzerland

Announcement - Call for participation (ASCII)Hotels - Directions - AgendaPaper Abstracts - Presentations - Registration - Abstract Submission - Sponsors - Gallery

Investigating the Network Performance of a Real-Time Linux Kernel

Luca Abeni, University of Trento, Italy
Csaba Kiraly, University of Trento, Italy

The Linux kernel provides a high-performance networking subsystem by processing packets in soft-IRQ contexts. The network drivers use the so called "New API" (NAPI), according to which a hard-IRQ handler just disables the NIC interrupts and triggers a NET_RX soft-IRQ, which will receive the packets from the NIC and process them. If the number of network packets on the NIC is less than a specified threshold, the NIC interrupts are re-enabled, otherwise they are kept disabled and the soft-IRQ is armed again. This implements an interrupt mitigation mechanism that improves the throughput in presence of high packet rates. The preempt-RT patch transforms hard-IRQ handlers in kernel threads, in order to improve the system's determinism and reduce the kernel latencies. However, as usual there is a duality between high throughput and low latencies, and the threaded IRQ architecture risks to decrease the network performance.

This paper compares the network performance of a vanilla Linux kernel with the performance of a real-time version of the same kernel (based on Prempt-RT). Moreover, the impact of the network stack on the execution of real-time applications is evaluated. Finally, an alternative approach, based on processing network packets in the hard-IRQ thread instead of soft-IRQ context, is presented and evaluated, showing how it impacts the network performance and the predictability of real-time applications.