Linux Kernel 5.12 RC1 releases
The Linux kernel is an open source monolithic Unix-like computer operating system kernel. The Linux family of operating systems is based on this kernel and deployed on both traditional computer systems such as personal computers and servers, usually in the form of Linux distributions, and on various embedded devices such as routers, wireless access points, PBXes, set-top boxes, FTA receivers, smart TVs, PVRs, and NAS appliances. The Android operating system for tablet computers, smartphones, and smartwatches uses services provided by the Linux kernel to implement its functionality. While the adoption on desktop computers is low, Linux-based operating systems dominate nearly every other segment of computing, from mobile devices to mainframes. As of November 2017, all of the world’s 500 most powerful supercomputers run Linux.
The Linux kernel was conceived and created in 1991 by Linus Torvalds for his personal computer and with no cross-platform intentions, but has since expanded to support a huge array of computer architectures, many more than other operating systems or kernels. Linux rapidly attracted developers and users who adopted it as the kernel for other free software projects, notably the GNU Operating System. The Linux kernel has received contributions from nearly 12,000 programmers from more than 1,200 companies, including some of the largest software and hardware vendors.
Larry Ewing, Simon Budig and Anja Gerwinski [Public domain or Attribution], via Wikimedia Commons
Linux Kernel 5.12 RC1 released.
So two weeks have passed since the 5.11 release, and so - like clockwork - the merge window for 5.12 has closed, and 5.12-rc1 is out there for your perusal. That said, we have now have two unusual merge windows in a row: first we had the holiday season, and this time around the Portland area had over a quarter million people without electricity because we had a winter ice storm that took down thousands of trees, and lots of electricity lines. So I was actually without electricity for six days of the merge window, and was seriously considering just extending the merge window to get everything done. As you can tell, I didn't do that. To a large part because people were actually very good about sending in their pull requests, so by the time I finally got power back, everything was nicely lined up and I got things merged up ok. But partly this is also because 5.12 is a smaller release than some previous ones - and that wasn't due to the lack of electricity, that showed independently in the statistics in the linux-next tree. Of course, "smaller" is all relative, but instead of the 12-13+k commits we've had the last few releases, linux-next this time only had 10+k commits lined up. So that helped things a bit. That said, if my delayed merging caused issues for anybody, please holler and explain to me, and I'll be flexible during the rc2 week. But that's _not_ a blanket "I'll take late pulls", that's very much a "if my delayed merge caused problems for some tree, explain why, and I'll work with you". Anyway, on to the actual changes. Even if it was a slightly smaller merge window than previous ones, it's still big enough that appended is just my usual merge log, not the full list of the 10982 non-merge commits by 1500+ people. So it's more of a flavor of the kinds of things that have happened rather than a deep dive. The one thing that perhaps stands out is that this release actually did a fair amount of historical cleanup. Yes, overall we still have more new lines than we have removed lines, but we did have some spring cleaning, removing the legacy OPROFILE support (the user tools have been using the "perf" interface for years), and removing several legacy SoC platforms and various drivers that no longer make any sense. So even if we more than made up for that with all the _new_ drivers and code we added, that kind of cleanup is always nice to see. Linus