Real Time track

This fall will mark the fifth anniversary of the -rt patchset. This patchset provides aggressive levels of real-time response and has seen significant production use. Many -rt components have been accepted into mainline, including timekeeping, futex priority inheritance, preemptable RCU, and much else besides. Nevertheless, the -rt patchset still includes a not-inconsiderable quantity of code, leading to the question of how it might best be fully merged.

We are fortunate to have Nivedita Singhvi, who is IBM’s real-time-Linux architect, and who has also worked on virtualization and networking, as the runner for the “Real Time” microconference. Nivedita has put together an excellent set of topics to help shed some light on the -rt merge question.

Nivedita’s first topic is “The State of preempt-rt” by Thomas Gleixner, who has co-maintained the -rt patchset for much of its existence. Thomas will outline what still remains in the out-of-tree -rt patchset and what changes are required in order to merge it. Perhaps the final merge is close at hand? He will also provide an overview of his current development work, primarily advances in threaded interrupt handlers.

For her second topic, Nivedita selected “Running Without Systems Management Interrupts” by Keith Mannthey. Systems management interrupts (SMIs) are used by x86 systems to handle exceptional conditions, such as correctable memory errors or thermal management. Unfortunately, SMIs can extend for many tens of microseconds or even many milliseconds, and some implementations use SMIs to periodically poll for exceptional conditions, which makes it impossible to meet aggressive real-time scheduling deadlines. Keith will therefore discuss what is required, both in the kernel and in userspace, to eliminate non-fatal SMIs, thus enabling aggressive real-time response.

The third topic is “Real-Time Benchmarking – an Open, Cross-Language Micro-Benchmark Suite” by Vernon Mauery. Linux’s real-time response has improved impressively over the past decade, but retaining this response will require test suites that developers can easily run. Furthermore, it will be necessary to compare different platforms and different operating systems on an equal footing. Vernon proposes a benchmark suite to help achieve this goal.

The fourth and final topic is “Networking and Real Time” by Nivedita Singhvi. The days when real-time systems were isolated computers controlling a process seem to be coming to a close: today’s real-time systems must communicate with each other as well as with non-real-time systems. In some cases, large volumes of data must be sent over multiple connections, which means that attention must be paid to both the throughput and the latency of Linux’s networking stack. Nivedita will discuss the key latency and throughput bottlenecks and discuss possible solutions.

Proposals for this track

* Real-Time Benchmarking - an Open, Cross-Language Micro-Benchmark Suite

Discussion on a new real-time micro-benchmark suite and how it can help real-time overcome some challenges it faces, such as making apples-to-apples comparisons with other platforms, and how various programming languages compare in the real-time arena.
Real Time 06/22/2009
Vernon Mauery

* Running without Systems Management Interrupts

Describe the implementation, benefits and trade-offs of running without non-fatal System Management Interrupts in a Real-Time Enterprise level environment.
Real Time 06/23/2009
Keith Mannthey

* The state of preempt-rt

Overview over the state of preempt-rt, the mainline merge status and key changes required.
Real Time 06/14/2009
Thomas Gleixner

* Threaded interrupt handlers

State of threaded interrupt handlers in mainline. What is there and what needs to be dome.
Real Time 06/14/2009
Thomas Gleixner