Linux Weather Forecast
Welcome to the Linux Weather Forecast
This page is an attempt to track ongoing developments in the Linux development community that have a good chance of appearing in a mainline kernel and/or major distributions sometime in the near future. Your "chief meteorologist" is Jonathan Corbet, Executive Editor at LWN.net. If you have suggestions on improving the forecast (and particularly if you have a project or patchset that you think should be tracked), please add your comments to the Discussion page. There's a blog that reports on the main changes to the forecast. You can view it directly or use a feed reader to subscribe to the blog feed. You can also subscribe directly to the changes feed for this page to see feed all forecast edits.
Forecast Summaries
Current conditions: the 2.6.33 kernel was released on February 24, 2010. This development cycle, like its immediate predecessors, saw the merging of almost 11,000 individual changes from almost 1200 individual developers representing over 180 companies. See this article for more details on this kernel and where the code came from.
Some of the more interesting changes in this kernel include:
- A number of tracing improvements, including dynamic tracing, allowing the placement of arbitrary trace points (for use with ftrace or perf events) at run time.
- There is a new block I/O bandwidth controller, giving the system administrator a great deal of control over how the bandwidth of block devices is divided up among competing processes. This controller is a work in progress, with significant chunks to be added in future development cycles.
- The network stack has gained support for the TCP cookie transactions protocol extension. TCPCT increases the scalability of the network stack and makes it more resistant to denial of service attacks.
- The DRBD distributed block device implementation has been merged.
- The Nouveau driver - a reverse-engineered driver for NVIDIA chipsets - has been merged. See this article for more information on the merging of Nouveau.
- There is a new compressed cache mechanism; it enables better use of memory (especially for hosts carrying a number of virtualized guests) by compressing memory contents and eliminating pages with duplicate contents.
- The device mapper has a new "snapshot merge" target. It's purpose is to allow a filesystem to be rolled back to a previous, snapshotted state. It can be used, for example, to undo an operating system upgrade which did not go well.
- A low-level spinlock renaming patch was merged. This change will not be visible to Linux users; indeed, even most kernel developers are unlikely to notice it. But this change is an important step toward the eventual merging of the remainder of the realtime preemption tree, bringing full, deterministic realtime performance to the Linux kernel.
Beyond that, of course, the kernel has seen the addition of dozens of new drivers, as usual, and many other fixes and improvements. See the KernelNewbies 2.6.33 page for a lot more information.
Near-term forecast: the 2.6.34 kernel can be expected sometime around early to mid May, 2010. The merge window for this development cycle was closed with the release of 2.6.34-rc1 on March 8. By some reckoning, this might be seen as a relatively boring development cycle, with fewer than the usual number of exciting features. That said, there are some notable changes queued up for 2.6.34, including:
- Asynchronous suspend and resume: a feature which will make it easier for systems to suspend peripherals which are not currently in use, saving power in a range of systems from embedded gadgets through to large data centers.
- More enhancements to the rapidly-developing tracing and performance events monitoring subsystem within the kernel. Dynamic tracing has gotten more flexible, there is a new facility for monitoring lock contention, and support for Python scripting has been added.
- The "vhost_net" interface will enable higher I/O performance for virtualized guest systems.
- The "VGA switcheroo" feature will allow Linux to make full use of systems with more than one built-in graphical processor.
- The LogFS filesystem has been merged; LogFS is intended for use on solid-state storage devices.
We may yet see a few more features added to 2.6.34; Linus Torvalds allowed for that possibility when he closed the merge window a little sooner than usual. For the most part, though, this kernel is feature-complete and is now in the stabilization phase.
Specific Areas of Interest
The forecast has been divided into a number of specific subject areas.
- Core Kernel Developments: schedulers, real-time support, event management, and memory management.
- Virtualization and containers: Xen, KVM, control groups, etc.
- Filesystems: ext4, btrfs, and other ways of storing data.
- Security: technologies and enhancements for keeping Linux systems secure.
- Networking: Network channels and other technologies for connecting systems together.
- Hardware Support: Topics of interest in hardware support.
- Miscellaneous: Topics which do not fit under any other heading.
- User Space: user-space code which forms an important part of the low-level platform.

This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License.
Core Kernel
By "core kernel," I mean code which affects the kernel as a whole and which isn't tightly associated with a single subsystem. The core of the Linux kernel is quite small, and it has also been surprisingly stable in recent times. The CPU scheduler has seen mostly incremental changes, and the core memory management code has seen few fundamental changes for years. On the other hand, there is still interest in a number of areas, including real time, asynchronous I/O, fast booting, and more.
Virtualization
Virtualization and containers are complimentary efforts which seek to allow different tasks to be isolated from each other on the same host system. In virtualization, the guest systems appear to be running on their own hardware; each guest system runs its own kernel. The container approach runs all guests under the same kernel in a way that isolates them from each other. Virtualization gives more complete isolation and allows guests to be running a different operating system than the host; containers, however, tend to be far more efficient.
Filesystems
Filesystems, of course, are a crucial part of any operating system; they are the code which maintains our persistent data. Reliability is of especially high importance in filesystems, since any mistakes can lead to lost data or (even worse) subtly corrupted data which is not discovered for a long time. But filesystems are also a performance-critical part of the system; a poorly-written filesystem will result in substandard performance for almost any kind of workload.
Security
Security is a difficult and complicated problem, which must be addressed at several levels. The technologies discussed in this page are mainly concerned with mandatory access control - the hardening of the system so that no component of that system may go beyond its permitted capabilities. The largest value of MAC schemes is often seen when a system component is compromised as a result of an internal bug. If the MAC system has been set up properly, the compromised application should not enable the attacker to take control of the system as a whole.
Miscellaneous Topics
Contents |




