By Jonathan Corbet
March 21, 2012
The release of the 3.3 kernel on March 18 has led inevitably to the opening
of the merge window for the 3.4 development cycle. As of this writing,
some 3,500 non-merge changesets have been pulled into the mainline; this
cycle, in other words, has just begun.
Some of the user-visible features
merged for 3.4 include:
Also worth noting: the "ramster" transcendent memory functionality was
briefly added to the staging tree before being removed; various other
changes had caused it to be seriously broken. Ramster can be thought of as
a way of sharing memory across machines; a system with spare pages can host
data for another that is under memory pressure. See this article for more details and this article for an exposition of the vision
behind Ramster. Adding this functionality requires carving a number of
features out of the OCFS2 filesystem and making them globally available.
One assumes these patches will return for 3.5.
Changes visible to kernel developers include:
- Jump labels have been rebranded again; after a false start they are now known as "static
keys". Details can be found in the new Documentation/static-keys.txt file.
- The (now) unused get_driver() and put_driver()
functions have been removed from the kernel.
- The debugfs filesystem understands the uid=, gid=,
and mode= mount options, allowing the ownership and
permissions for the filesystem to be set in /etc/fstab.
- The zsmalloc allocator has been added
to the staging tree; the older "xvmalloc" allocator has been removed.
- The Android "alarm" driver has been added to the staging tree.
- The deferred driver probing mechanism
has been merged.
- The list of power management stages continues to grow; the kernel has
new callbacks called suspend_late(), resume_early(),
freeze_late(), thaw_early(),
poweroff_late(), and restore_early() for operations
that must be performed at just the right time.
- The "IRQ domain" abstraction has been merged; IRQ domains make it
easier to manage interrupts on systems with more than one interrupt
controller. See Documentation/IRQ-domain.txt for more
information.
- The long-unused second argument to kmap_atomic() has been
removed. Thanks to some preprocessor trickery, calling
kmap_atomic() with two arguments still works, but a
deprecation warning will result.
- There is a new mechanism for the autoloading of drivers for specific
x86 CPU features. Such drivers should declare a
MODULE_DEVICE_TABLE with the x86cpu type; see the
comments at the head of arch/x86/kernel/cpu/match.c for
details.
The 3.4 merge window can be expected to continue until roughly
April 2. There are a lot of subsystem trees yet to be pulled, so one
can expect a large number of changes to go in between now and then.
(
Log in to post comments)