Linus Torvalds released Linux Kernel 3.18 last Sunday:
It’s been a quiet week, and the patch from rc7 is tiny, so 3.18 is out.
I’d love to say that we’ve figured out the problem that plagues 3.17 for a couple of people, but we haven’t. At the same time, there’s absolutely no point in having everybody else twiddling their thumbs when a couple of people are actively trying to bisect an older issue, so holding up the release just didn’t make sense. Especially since that would just have then held things up entirely over the holiday break.
So the merge window for 3.19 is open, and DaveJ will hopefully get his bisection done (or at least narrow things down sufficiently that we have that “Ahaa” moment) over the next week. But in solidarity with Dave (and to make my life easier too let’s try to avoid introducing any _new_ nasty issues, ok?
Linux 3.17 added support for Xbox One controllers, USB device sharing over IP, more secure random numbers, several modifications for perf and more.
Some of the changes made to Linux 3.18 include:
- Performance improvements for the networking stack thanks to bulk network packet transmission, which “allows a relatively small system to drive a high-speed interface at full wire speed, even when small packets are being transmitted.”
- Faster suspend and resume by replacing a 100ms polling loop with proper completion notification. This will mostly be noticeable on systems with a large number of cores. Git pull.
- Berkeley Packet Filter bpf() system call. “The hooks to use this code (in tracing and packet filtering, for example) will take a little longer, but the core support for a “universal virtual machine” in the kernel is now present.”
- Nouveau drivers for Nvidia GPUs now supports basic DisplayPort audio
- Several filesystems improvements, notably for BTRFS and F2FS
- Audio hardware. Codecs: Cirrus Logic CS35L32, Everest ES8328 and Freescale ES8328; others: Generic Freescale sound cards, Analog Devices SSM4567 audio amplifier
New features and improvements specific to the ARM architecture include:
- Allwinner A31/A23 – RTC & Watchdog
- Allwinner A23 – MMC, pinctrl, DMA and I2C
- New boards: Olimex A20-OLinuXino-Lime, Merrii Hummingbird A20, and HSG H702 tablet board.
- Added new clock-type for the cpuclk
- Ethernet: Added support for Rockchip SoC layer device tree bindings for arc-emac driver, and emac nodes to the rk3188 device tree.
- Added driver for Rockchip Successive Approximation Register (SAR) ADC.
- RK808 PMIC: Added regulator driver, clkout driver, and mfd driver.
- Amlogic – Added MesonX support, only Meson6 for now (Amlogic AML8726-MX). DTS for Geniatech ATV1200 media player
- Added basic support for BCM63138 DSL SoC, Texas Instruments AM57xx family, Atmel SAMA5D4, Qualcomm IPQ8064, Renesas r8a7794 SoC,
- New Device tree files for various board and products: Gateworks GW5520, SAMA5D4ek board, i.MX1 Armadeus APF9828, i.MX1 ADS board, Technexion Thunder support (TAO3530 SOM based, Sony Xperia Z1, IFC6540 board, CM-QS600 SoM, etc…
I could find a few changes for MIPS architecture in Linux 3.18 too:
- SEAD3: Nuke PIC32 I2C driver.
- Loongson: Make platform serial setup always built-in
- Netlogic: handle modular USB case & AHCI builds
- tlbex: Fix potential HTW race on TLBL/M/S handlers
- cpu-probe: Set the FTLB probability bit on supported cores
- fix EVA & non-SMP non-FPU FP context signal handling
- Etc.. You can find a few more changes @ http://lwn.net/Articles/623825/
A more thorough changelog for Linux 3.18 will soon be published on Kernelnewbies.org. Remember to also check ARM architecture and drivers sections, for more details about changes related to ARM platforms.