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.35 kernel was released on August 2, after 79 days of development, 9800 changes, and participation by over 1100 developers representing almost 180 companies (that we know about). Some of the key features in this release include:
- The receive packet steering and receive flow steering mechanisms have been added to the networking subsystem. These technologies (contributed by Google) will help improve high-end network scalability.
- The memory compaction patch set has been merged. This should lead to less memory fragmentation and higher success rates for large allocations while improving memory management performance.
- The cpuidle "menu" governor now features idle pattern detection which tries to be smarter about sleep-state selection based on recent system history.
- The rapidly-developing Btrfs filesystem now has basic direct I/O support.
See the KernelNewbies 2.6.35 page for lots of details about what's in this release, or this article for statistics on the 2.6.35 development cycle and who participated in it.
Near-term forecast: the 2.6.36 kernel should be released sometime in November, though it would not be entirely surprising if Linus tried to get it finished just prior to the 2010 Kernel Summit, held at the beginning of the month. The merge window was closed with the (unannounced) release of 2.6.36-rc1 on August 15. Some of the more significant new features in this release will be:
- The AppArmor security module. AppArmor provides pathname-based mandatory access control; it was initially championed by Novell some years ago. Novell has moved on, but Canonical has picked this code up, integrated it into the Ubuntu distribution, and (now) merged it into the mainline kernel.
- fanotify - a mechanism allowing anti-malware scanning software to intercept file-oriented system calls and optionally block access to undesireable data.
- A new suspend mechanism intended to address the needs of the Android project (but which Android has not committed to using).
- A number of infrared controller drivers from the LIRC project; these drivers have long been shipped by distributions despite their out-of-tree status, so this is a good development.
- A new out-of-memory killer which, with luck, will improve the kernel's response when it runs completely out of RAM.
- Concurrency-managed workqueues have been merged; this is an important scalability patch which should reduce kernel threads and reduce CPU contention on larger systems.
Overall, some 7770 changes were merged before the 2.6.36-rc1 release. Now we are into the stabilization period which, hopefully, will see the removal of any remaining bugs.
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 |




