This paper shows how the author managed to bring low-latency while maintaining good performance to the Linux kernel. Using commodity Operating Systems enables to take advantage of the existing applications and APIs, but some work needs to be done when real-time is needed. The author first shows that three points need high efficiency to get low-latency : timers, kernel preemption and scheduler. The second part of the article details the solutions implemented in Time-Sensitive Linux (TSL) : firm timers, reduction of the size of the non-preemptable parts of the kernel and implementation of a proportion-period and a priority-based scheduler. Stress tests are then made to observe the implications of these modifications. A significantly lower latency is observed, and the overhead introduced is low enough to be ignored in most applications.

This article shows how it is possible to use classical Operating Systems with real-time constraints, and provides good hints on the parts of the kernel that have to be modified. However, I think that some comparisons with other real-time OSs should have been provided. The reader should not be assumed to be familiar with the performance of RT kernels, and I think it would have eased the appreciation of the author's work and the usability of the modified kernel in real-world situations. The author also mentions patches to the Linux kernel that were used as part of his work. I think the implications of these modifications should have been explained better, and how his own modifications interfere with these patches.

I found this article very interesting because I think it gave me strong insights of the areas of a kernel that need to be highly efficient for real-time applications. As Operating Systems and applications become more and more complex, I think the approach described here consisting in using commodity OSs for real-time will become more and more important. This is far easier with an open system such as Linux than with proprietary OSs. However, the lack of extensive comparisons with RT kernels does not validate the usability of this approach in real-world situations, and the low number of results (47) when searching "Time Sensitive Linux" on Google seems to indicate that it has not been extensively used since 2002.