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.
We hope to see you there!!!