Bare-Metal Multicore Performance in a General-Purpose Operating System (Adventures in Ubiquity)
Channel: Linux.conf.au 2015 -- Auckland, New Zealand
Date: 16/01/2015

Paul McKenney
http://lca2015.linux.org.au/schedule/30141/view_talk
Database, high-performance computing (HPC), and real-time developers have often asked: "Can't you get the kernel out of the way?". Recent adaptive-idle work permits just that: Linux is there when you need it, but if you follow a few simple rules, it is out of your way otherwise.  This approach will provide bare-metal multicore performance and scalability to databases as well as to HPC and real-time applications.

A key part of any project is validation.  Now some people will tell you that Linux-kernel testing doesn't really start until Fengguang Wu subjects your code to his 0-day testing.  Other people will say that testing doesn't really start until Stephen Rothwell does -next integration testing.  Still others claim that testing doesn't really start until your code is accepted into mainline.  Yet other people claim that testing doesn't really start until the distros run their entrprise test suites.  But I am here to tell you that testing doesn't really start until your code is enabled by default by major distros.  At that point, your code becomes ubiquitous, which means that (through no fault of their own!) people start using your code for purposes you had not fully considered, which is usually an excellent way to find new and different corner cases that your code does not yet handle properly.  This talk will describe a few interesting adventures with a few surprising corner cases.