|
|
Subscribe / Log in / New account

3.8 Merge window part 1

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.

Index entries for this article
KernelReleases/3.8


to post comments

3.8 Merge window part 1

Posted Dec 13, 2012 3:45 UTC (Thu) by yokem_55 (subscriber, #10498) [Link] (1 responses)

It probably came up too late for this article, but some really sadomasochistic folks will be disappointed in the 3.8 kernel as i386 support is no more....

3.8 Merge window part 1

Posted Dec 13, 2012 5:20 UTC (Thu) by pabs (subscriber, #43278) [Link]

It is mentioned in the article:

"support for the venerable 386 architecture has been removed"

3.8 Merge window part 1

Posted Dec 13, 2012 5:00 UTC (Thu) by mathstuf (subscriber, #69389) [Link] (1 responses)

> The devfreq subsystem now supports devices that can be suspended (or placed into an idle state) independently of the rest of the system.

Does this mean that we'll have better video card power management (especially with dual video card laptops) given some code from their end?

3.8 Merge window part 1

Posted Dec 13, 2012 7:49 UTC (Thu) by mjg59 (subscriber, #23239) [Link]

No, it's been possible to do runtime power management of PCI devices for a long time. The problem with GPUs is the higher layers, not the lower ones.

3.8 Merge window part 1

Posted Dec 13, 2012 11:32 UTC (Thu) by BlueLightning (subscriber, #38978) [Link] (4 responses)

Also removed is support for the Intel PXA2xx/PXA3xx architectures on the assumption that nobody will miss it

What?! Is there a link to some more information/discussion about this because I'd certainly miss it...

3.8 Merge window part 1

Posted Dec 13, 2012 13:50 UTC (Thu) by nevets (subscriber, #11875) [Link] (1 responses)

Do you actually own any of that hardware? Are you using the last Linux on that hardware?

Or are you just missing it because you're nostalgic?

3.8 Merge window part 1

Posted Dec 13, 2012 15:07 UTC (Thu) by BlueLightning (subscriber, #38978) [Link]

Yes, sort of and yes :)

I'm the maintainer of the support for Zaurus, iPAQ and other similar era devices (yeah, I know) in OpenEmbedded. After a while if you want to be able to build an up-to-date user space you need to be able to build an up-to-date kernel, and given that we're only now getting to a reasonable level of support in mainline for some of these devices I would hope that we can expect that support to stay there for a reasonable length of time.

3.8 Merge window part 1

Posted Dec 13, 2012 14:28 UTC (Thu) by wildea01 (subscriber, #71011) [Link] (1 responses)

Unless I'm mistaken, this must be a mistake. PXA95x has been removed, but 27X and 3XX look alive and well in mainline.

All those PXAs look alike

Posted Dec 13, 2012 14:33 UTC (Thu) by corbet (editor, #1) [Link]

I don't quite know how I managed that one but yes, it was a mistake. PXA95x is gone, the others remain. Article corrected, apologies for the screwup.


Copyright © 2012, Eklektix, Inc.
This article may be redistributed under the terms of the Creative Commons CC BY-SA 4.0 license
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds