Real-Time Response on Multicore Systems: It Is Bigger Than I Thought
Five years ago, I published a Linux Journal article entitled "SMP and Embedded Real Time" (http://www.linuxjournal.com/article/9361) stating that SMP systems could in fact support real-time workloads. This article was not well-received in all segments of the real-time community, but there are nevertheless quite a few SMP real-time systems in use today offering scheduling latencies of a few tens of microseconds.
So perhaps you can imagine my surprise when in early 2012 I received a bug report stating that the Linux kernel's RCU implementation was causing 200-microsecond latency spikes. The root cause? I simply hadn't been thinking big enough. This talk tells the story of the ensuing adventure.
Paul E. McKenney has been coding for almost four decades, more than half of that on parallel hardware, where his work has earned him a reputation among some as a flaming heretic. Over the past decade, Paul has been an IBM Distinguished Engineer at the IBM Linux Technology Center, where he maintains the RCU implementation within the Linux kernel, dealing with a variety of workloads presenting highly entertaining performance, scalability, real-time response, and energy-efficiency challenges. Prior to that, he worked on the DYNIX/ptx kernel at Sequent, and prior to that on packet-radio and Internet protocols (but long before it was polite to mention Internet at cocktail parties), system administration, business applications, and real-time systems. His hobbies include what passes for running at his age along with the usual house-wife-and-kids habit.