By Jonathan Corbet
December 12, 2012
The 3.8 merge window looks to be an interesting time. In theory, it closes
just before the Christmas holiday, though Linus has threatened to start his
celebrations early. Despite the possibly shortened window, there are,
according to linux-next maintainer Stephen
Rothwell, "
more commits in linux-next than ever before."
So expect to see a lot of changes flowing into the mainline in a relatively
short period of time.
As of this writing, some 3800 of those changes have been merged by
Linus. The most significant user-visible changes include:
- The cpuidle subsystem is now able to
associate different drivers with each CPU. This capability is needed
to support asymmetric architectures like big.LITTLE.
- Linux running as a Microsoft Hyper-V guest now supports memory-use
reduction via the Hyper-V balloon driver.
- Applications accessing huge pages via the mmap() or SYSV IPC
interfaces can now specify which page size they want.
- The x86 architecture code can, finally, support hotplugging of the
initial boot CPU ("CPU0").
- On the other hand, as discussed at the
2012 Kernel Summit, support for the venerable 386 architecture has been
removed from the kernel. Peter Anvin informed Linus of an important
loss of functionality from this change: "Unfortunately there's a
nostalgic cost: your old original 386 DX33 system from early 1991
won't be able to boot modern Linux kernels anymore." Linus was
unmoved, though, and merged the change.
- The XFS filesystem has gained a new verification mechanism that can
detect corrupted data read from the storage device.
- New hardware support includes:
- Processors and systems:
Broadcom BCM281XX SoCs,
Allwinner A1X SoCs,
USI Topkick boards,
ZyXEL NSA-310 boards,
MPL CEC4 boards, and
Samsung EXYNOS5440 SoCs.
Support for SH-Mobile SH7367 and SH7377 CPUs has been removed.
Also removed is support for the
Intel
PXA2xx/PXA3xx Marvell PXA95x architecture
on the assumption that nobody will miss it; anybody who disagrees
may want to do so in the near future.
- Memory-technology devices:
Wondermedia SD/MMC host controllers, and
Realtek PCI-E SD/MMC and Memstick card interfaces.
- Miscellaneous:
Texas Instruments ADS7830 analog-to-digital converters (ADCs),
Texas Instruments ADC081C021/027 ADCs,
Dialog Semiconductor DA9055 ADCs,
Analog Device AD54xx digital-to-analog converters,
ST Microelectronics SPEAr PLGPIO controllers,
Dialog Semiconductor DA9055 GPIO controllers,
Cirrus Logic CLPS711x/EP721x/EP731x-based GPIO controllers,
Technologic Systems TS-5500 digital I/O controllers,
Exar XR17V35x multi-port PCIe UARTs,
ARC (Synopsys) UARTs,
SystemBase PCI Multiport UARTs,
Commtech Fastcom Async-335 and Fastcom Async-PCIe cards,
ACPI enumerated SDHCI controllers,
Firewire-attached TTY devices,
Analog devices ADIS16136 gyroscopes, and
Analog Devices ADIS16480 inertial measurement units.
- Thermal: The kernel has a new thermal governor subsystem
capable of responding when the system gets too hot. A driver has
been added for ST-Ericsson DB8500 thermal regulators.
- USB:
Renesas R-Car USB phys.
- Staging graduations: the IndustryPack bus driver,
Maxim max1363 ADC driver,
Analog Devices AD7793 ADC driver, and
Analog Devices AD7298 ADC driver
have moved out of the staging tree. The RealTek PCI-E card reader
driver has been removed from staging since that functionality is
now provided by a separate mainline driver.
Changes visible to kernel developers include:
- The _devinit, __devinitdata,
__devinitconst,
__devexit, and __devexit_p() macros are on their way
out; many drivers have been fixed to stop using them. In the future,
the CONFIG_HOTPLUG option will no longer exist, so
initialization and finalization code needs to be kept around forever.
- The power management quality-of-service subsystem can now support
device-specific QOS flags. Two flags have been defined in 3.8:
PM_QOS_FLAG_NO_POWER_OFF and
PM_QOS_FLAG_REMOTE_WAKEUP.
- The devfreq subsystem now supports devices that can be suspended (or
placed into an idle state) independently of the rest of the system.
- The UIO driver subsystem has a new generic platform driver allowing
UIO devices to access memory allocated by CMA or the IOMMU subsystem.
- The per-entity load-tracking patch set has been merged; this code
allows the scheduler to better understand which processes (and control
groups) are putting load on the system, thus improving load balancing
and related decisions.
- The callback-free RCU implementation
has been merged, allowing the offloading of some read-copy-update
overhead from a subset of CPUs in the system.
The 3.8 merge window has just begun; there are a lot of subsystem trees yet
to be pulled into the mainline. LWN will continue to follow the kernel
repository as Linus pulls in more patches and establishes the feature set
for the 3.8 release; stay tuned.
(
Log in to post comments)