The 3.12 merge window opens
User-visible features merged for 3.12 so far include:
- The Lustre filesystem, added in 3.11, is now enabled in the build
system. Quite a bit of cleanup work for Lustre has been merged for
3.12.
- The long-deprecated /proc/acpi/event interface has been
removed. If anybody actually needed this file, they should raise a
fuss during the 3.12 development cycle.
- The pstore mechanism (which stores
crash information in a persistent storage location) is now able to
store compressed data.
- The full-system idle detection patch
set has been pulled. This work enables the kernel to detect when the
entire system is idle and turn off the clock tick, thus improving the
performance when the full dynamic tick feature is used.
- The "paravirtualized ticket spinlocks" mechanism allows for more
efficient locking in virtualized guests. In short, if a spinlock is
unavailable for anything more than a brief period, the lock code will
stop spinning and call into the hypervisor to simply wait until the
lock becomes available again.
- New hardware support includes:
- Audio:
Wolfson Microelectronics WM8997 codecs,
Atmel AT91ASM9x5 boards with WM8904 codecs,
TI PCM1792A and PCM1681 codecs,
Asahi Kasei Microdevices AK4554 audio chips,
Renesas R-Car SoC audio controllers, and
Freescale S/PDIF and SSI AC'97 controllers.
- Block:
ATTO Technology ExpressSAS RAID adapters.
The ATA layer has also gained the ability to take advantage of
newer solid-state drives
that support the queued version of the TRIM command, removing
much of the cost of TRIM operations.
- Hardware monitoring and related:
Dialog Semiconductor DA9063 regulators,
Marvell 88PM800 power regulators,
Freescale PFUZE100 PMIC-based regulators, and
Measurement Specialties HTU21D humidity/temperature sensors.
- Miscellaneous:
Humusoft MF624 DAQ PCI cards,
Xillybus generic FPGA interfaces,
Digi EPCA, Neo and Classic serial ports,
ST ASC serial ports,
Nuvoton NAU7802 analog-to-digital converters,
TI TWL6030 analog-to-digital converters,
TI Palmas series pin controllers,
Avago APDS9300 ambient light sensors, and
Bosch BMA180 triaxial acceleration sensors.
- Networking:
Realtek RTL8188EU wireless interfaces.
- Serial peripheral interface:
Freescale DSPI controllers,
Energy Micro EFM32 SoC-based SPI controllers,
Blackfin v3 SPI controllers, and
TI DRA7xxx QSPI controllers.
- USB: Faraday FOTG210 OTG controllers and GCT GDM724x LTE chip-based USB modem devices.
- Audio:
Wolfson Microelectronics WM8997 codecs,
Atmel AT91ASM9x5 boards with WM8904 codecs,
TI PCM1792A and PCM1681 codecs,
Asahi Kasei Microdevices AK4554 audio chips,
Renesas R-Car SoC audio controllers, and
Freescale S/PDIF and SSI AC'97 controllers.
Changes visible to kernel developers include:
- There is a new reference count called a "lockref", defined in
<linux/lockref.h>. It combines a spinlock and a
reference count in a way that allows changes to the reference count to
be made without having to take the lock. See this article for details on how
lockrefs work.
- The S390 architecture has been converted to the generic
interrupt-handling mechanism. Since S390 was the last holdout, this
mechanism
will become mandatory and the associated CONFIG_GENERIC_HARDIRQS
configuration option will go away.
- There is a new mechanism for debugging kobject lifecycle issues; it
works by delaying the calling of the release() function when
the reference count drops to zero. Most of the time,
release() is called while the driver is shutting down the
associated device, but there is no guarantee of that. Turning on
CONFIG_DEBUG_KOBJECT_RELEASE will help find cases where the driver is
not prepared for a delayed release() call.
- The PTR_RET() function has been renamed PTR_ERR_OR_ZERO(); all internal users have been changed.
Your editor predicts that the merge window will close on September 15,
just before the start of LinuxCon and the Linux Plumbers Conference.
Index entries for this article | |
---|---|
Kernel | Releases/3.12 |
Posted Sep 7, 2013 8:14 UTC (Sat)
by chantecode (subscriber, #54535)
[Link] (1 responses)
"This work enables the kernel to detect when the entire system is idle and turn off the clock tick, thus improving the performance when the full dynamic tick feature is used. "
The goal of this feature is actually not to improve the performances but to improve powersaving. The cpu that handles timekeeping wasn't allowed to shutdown its tick until now. With this patch now it can.
-Frederic.
Posted Sep 10, 2013 2:25 UTC (Tue)
by jzbiciak (guest, #5246)
[Link]
I guess this is a hair-split: If I recall the original article correctly, this work reduces the performance impact of the full-system-idle detection step, so, in that sense improves performance. As a result, because it's cheap enough, it becomes reasonable to detect when the whole system is idle so that that last processor can shut its tick off. If I understood correctly, without this optimization, you would either need to keep the last processor on, or pay a performance penalty. Or am I oversimplifying / misunderstanding?
The 3.12 merge window opens
The 3.12 merge window opens