Linux Kernel Report (John Corbet)

Most people don’t use mainline kernels, not even stable tree, but distributor kernel. Stable updates are now a bit more formalized: every kernel is kept in stable for 1 cycle (i.e. 3.5 until 3.7 is released). Once a year a kernel is chosen for long-term (= 2 years), and occasionally one for even longer term.

Who contributes?

Over the long term, the number of contributors without affiliation is dropping slowly. Why? Easy problems have all been solved, the kernel is getting hard to come into, so difficult for volunteers. Also, if you are a volunteer contributor, you run a high chance of getting hired.

In recent years we see mobile and embedded corporate contributors picking up (TI, Samsung, Linaro). That is because mobile is becoming important, but also because those companies have become dedicated to working with the community.

ARM mess: industry was starting to contribute back (like we asked), but they added a lot of code which was not so nice but was still accepted because we wanted this support in the mainline. It’s getting cleaned up.

Testing is problematic, because problems tend to be hardware and workload dependent – so can’t be tested automatically. There are some tools to help with testing, e.g. linsched which simulates the scheduler on a bunch of workloads. However, regressions aren’t tracked. Regressions are important because they break things that work now. Regression tracking tells you if you’re going in the right direction. We don’t know that anymore.

Innovation: interesting stuff is now done on Linux first (this used to be different), including which problems are the right problems that need to be solved. This means the kernel ABI is no longer easy (just follow Posix and/or Solaris) – we have to invent new things and then we’re stuck with whatever we decide to go for.