Making RCU Respect Your Device's Battery Lifetime
Back in the 1990s, energy efficiency was not even on the list of RCU-related concerns. Systems using RCU at that time dealt with either large quantities of heavy equipment or large financial flows, so that the energy consumption of the entire server (let alone RCU's contribution) was way down in the noise. This situation changed dramatically with the 2002 introduction of RCU into the Linux kernel. Since then, RCU's energy-efficiency code has been rewritten more than five times. The most recent rewrite was motivated by workloads where RCU was leaving tens of percent of potential energy savings on the table. This talk will give a brief overview of how energy efficiency came to RCU, the current situation, future prospects, and generally applicable lessons learned.
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.