Virtualization was in use before most linux.conf.au attendees were born, in fact, virtualization was in existence before the speaker was in high school. Furthermore, Linux has been running on hypervisors of various types for about 20 years. So one might think that the Linux kernel would have long since completely adapted itself to the realities of virtualization.
One would be wrong.
Virtualization provides additional challenges to concurrent code, for example due to the hypervisor preempting "preempt-disabled" guest-OS code, and even preempting guest-OS code that is under the naive delusion that interrupts have been disabled. Such preemption can amplify concurrency bugs, and such amplification becomes all the more destructive as people become comfortable with increasing levels of consolidation, resulting in higher CPU utilization and in turn higher probabilities and durations for hypervisor preemption.
This talk will look at a few RCU changes that virtualization has motivated and might motivate in the future.
Paul E. McKenney is a Distinguished Engineer with the IBM Linux Technology Center, where he maintains the RCU implementation within the Linux kernel. He has been coding for four decades, and more than half of that on parallel hardware. His prior lives include working on the DYNIX/ptx kernel at Sequent, work on packet radio, Internet protocols, and system administration at SRI International, and work on soft-realtime systems as a self-employed contract programmer. His hobbies include what passes for running at his age (AKA hiking) along with the usual house-wife-and-grown-kids habit.