Linux 3.16 Released
Linus Torvalds announced the release of Linux Kernel 3.16 over the week-end:
So nothing particularly exciting happened this week, and 3.16 is out there.
And as usual (previous release being the exception) that means that the merge window for 3.17 is obviously open. And for the third time in a row, the timing sucks for me, as I have travel coming up the second week of the merge window. Many other core developers will be traveling too, since it’s just before the kernel summit in Chicago.
So we’ll see how the next merge window goes, but I’m not going to worry about it overmuch. If I end up not having time to do all the merges, I might delay things into the week of the kernel summit, but I’ll hope to get most of the big merging done this upcoming week before any travel takes place, so maybe it won’t come to that. So this is just a heads-up that the merge window *might* be extended.
Anyway, back to the changes since -rc7: it’s really fairly small stuff randomly all over, with a third being architecture updates, a third drivers, and a third “misc” (mainly mm and networking). The architecture stuff is small ARM updates (mostly DT), some x86 Xen fixups, some random small powerpc things. The shortlog gives a good idea of what kind of stuff it all is, but it’s really just 83 commits (plus merges and the release commit) and about a third of them are marked for stable.
So while 3.16 looked a bit iffy for a while, things cleared up nicely, and there was no reason to do extra release candidates like I feared just a couple of weeks ago.
Kernel 3.15 brought various file systems improvements, faster resume from suspend, etc… Some of Linux 3.16 main changes include:
- Various KVM improvements: optimizations, support for migration, and GDB support for s390, little-endian support for POWER8, as well as MIPS improvements.
- Xen – Virtual network interfaces now have multi-queue support for much better performance.
- Goldfish virtual platform now has 64-bit support.
- Hugepage migration has been turned off for all architectures except x86_64 since it is only tested on that architecture and there are bugs for some of the others.
- Automatic NUMA balancing has been turned off for 32-bit x86. Existing 32-bit NUMA systems are not well supported by the code and the developers did not think the effort to support them would be worthwhile.
- EFI – The kernel EFI code will now handle Unicode characters, and initial support for ARM64 (aarch64) had been added.
- NFS – Patches to make loopback NFS mounts work reliably have been merged through the NFS tree. External data representation (XDR) handling in NFS has been reworked to support access control lists (ACLs) larger than 4KB. It also returns readdir() results in chunks larger than 4KB giving better performance on large directories.
- Modules now have the read-only (RO) and no-execute (NX) bits set on their data sections much earlier in the loading process, before parsing any module arguments. This will further reduce the time window in which a misbehaving (or malicious) module can modify or execute its data.
- Support for TCP fast open over IPv6 has been added.
- Support for busy polling on stream control transmission protocol (SCTP) sockets has been added. Busy polling is set on a socket using the SO_BUSY_POLL socket option; it can reduce the latency of receives on high-traffic interfaces that support the option.
New features and improvements specific to the ARM architecture include:
- AllWinner – All platforms: AXP20x PMIC and MMC support, 5 drivers + SMP reworked for AllWinner A31, touchscreen drivers for AllWinner A10. DTS added for Mele M9 and R7. You can read details about AllWinner changes here.
- Rockchip – RK3xxx SoC I2C drivers
- Xen on ARM systems now supports suspend and resume.
- Hibernation support added for ARM targets.
- Initial support for ARM64 (aarch64) had been added
- SMP support has been added for Marvell Armada 375 and 38x SoCs. SMP has been reworked for the Allwinner A31 SoC.
- New ARM SoC added: ST Microelectronics STiH407; Freescale i.MX6SX; Samsung Exynos 3250, 5260, 5410, 5420, and 5800; and LSI Axxia AXM55xx.
- Nouveau driver has initial support for NVIDIA Tegra K1 GK20A devices.
- Various changes for Atmel AT91, Marvell Armada, Fresscale i.MX, Samsung Exynos, and TI AM43xx SoCs.
Further details on Linux 3.16 will eventually be available on Kernelnewbies.org. For more details about ARM changes, remember to also check ARM architecture and drivers sections.