Linus Torvalds released Linux Kernel 3.19 yesterday:
So nothing all that exciting happened, and while I was tempted a couple of times to do an rc8, there really wasn’t any reason for it.
Just as an example, Sasha Levin used KASan and found an interesting bug in paravirtualized spinlocks, but realistically it’s been around forever, and it’s not even clear that it can really ever trigger in practice. We’ll get it fixed, and mark it for stable, and tempting as it was, it wasn’t really a reason to delay 3.19.
And the actual fixes that went in (see appended shortlog) were all fairly small, with the exception of some medium-sized infiniband changes that were all reverting code that just wasn’t ready.
So it’s out there – go and get it. And as a result, the merge window for 3.20 is obviously also now open.
Linux 3.18 improved performance of the network stack, received BTRFS and EXT-4 file systems improvements, introduced overlayfs for live CDs, and more.
Some changes made to Linux 3.19 include:
- Btrfs: support scrubbing and fast device replacement in RAID 5&6Btrfs – Added support for fast & live device replacement (see btrfs-replace), much faster and efficient than adding the new device and removing the old one in separated commands. This feature could not fast-replace devices from file systems using RAID 5 & 6, this release has removed that limitation. Support for the process of scrubbing a btrfs filesystem (with btrfs-scrub) has also been added for RAID 5&6 file systems.
- Support for Intel Memory Protection Extensions – Intel’s Memory Protection Extension (MPX) is a set of CPU instructions which brings increased robustness to software by checking pointer references usurped maliciously at runtime by buffer overflows. This Linux release adds support in the Linux kernel, although CPUs with MPX support are not sold yet (To be introduced with Intel Skylake and Goldmont microarchitectures). LWN article: Supporting Intel MPX in Linux
- SquashFS adds LZ4 Compression Support
- Work on year 2038 bug – do_settimeofday(), timekeeping_inject_sleeptime(), and mktime() now have 2038-safe replacements
- The networking layer has a new subsystem for offloading switching and routing duties to suitably capable hardware
- Audio – Intel Baytrail-based audio devices, Samsung Exynos7 I2S controllers, NXP Semiconductors TFA9879 amplifiers, and Texas Instruments TS3A227E headset chips.
Some of the new features and improvements specific to the ARM architecture include:
- Simple Framebuffer and USB phy driver support for usb0 for Allwinner A10 / A10s / A13 / A20 / A31 / A23
- NAND Flash driver for Allwinner A10 & A20
- DMAengine driver for Allwinner A23 (Shared with A31)
- Allwinner A80 – initial machine support, basic clocks and reset, pinctrl driver, extra UART, I2C, LEDS
- New boards: Mele M3, LeMaker Banana Pi, Merrii A80 Optimus Board, Olimex A20-OLinuXino-Lime2
- RK3288 – Basic SMP support
- Device tree for MarsBoard RK3066
- Added support for rk3066-tsadc variantof rockchip_saradc
- Add support for the mmc clock phases using the framework
- Added DTSI for Meson8 SoCs
- Driver for Meson IR remote control
- Support for Meson SPIFC
- Basic support for MT6592, MT8127 and MT8135
- DTS for 8127 Moose board, MT8125 evaluation board, and MT6592-EVB
- Added Device tree for Juno and AMD Seattle platform
- Added framework for legacy instruction emulation, secomp suport, SMBIOS/DMI support, etc…
- Atmel AT91 architecture has gotten rid of board files, and is now fully converted to device tree
- Other new device tree files: Altera Arria10 SoC, Synology DS213j/DS414, Braodcom BCM5301X devices (Asus RT-N18U, Buffalo WZR-1750DHP, Buffalo WZR-600DHP2, Netgear R6300 V2 ), DLink DIR665, Raspberry Pi model B+, Freescale LS1021A, TBS2910 Matrix ARM mini PC, NHK15 board (nomadik)
Some changes have been listed for MIPS architecture too:
- BMIPS: Add PRId for BMIPS5200 (Whirlwind)
- Enable VDSO randomization
- Loongson-3 – Add PHYS48_TO_HT40 support, Add RS780/SBX00 HPET support, Add oprofile support
- Loongson1B – Add a clockevent/clocksource using PWM Timer
- Loongson – Allow booting from any core
- Support for hybrid FPRs
- ath25 – Add basic AR2315 SoC support, add AR2315 PCI host controller driver, add basic AR5312 SoC support
- bcm3384 – Initial commit of bcm3384 platform support
- ralink – add mt7628an support, add rt2880 pci driver, add support for MT7620n
A more detailed changelog for Linux 3.19 will soon be available on Kernelnewbies.org. You can also checkout ARM architecture and drivers sections for more details about changes related to ARM, MIPS and other platforms.
Jean-Luc started CNX Software in 2010 as a part-time endeavor, before quitting his job as a software engineering manager, and starting to write daily news, and reviews full time later in 2011.