Dates and Events: |
OSADL Articles:
2023-11-12 12:00
Open Source License Obligations Checklists even better nowImport the checklists to other tools, create context diffs and merged lists
2022-07-11 12:00
Call for participation in phase #4 of Open Source OPC UA open62541 support projectLetter of Intent fulfills wish list from recent survey
2022-01-13 12:00
Phase #3 of OSADL project on OPC UA PubSub over TSN successfully completedAnother important milestone on the way to interoperable Open Source real-time Ethernet has been reached
2021-02-09 12:00
Open Source OPC UA PubSub over TSN project phase #3 launchedLetter of Intent with call for participation is now available |
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 - Agenda - Paper 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.