What are the various kernel trees for ?
Trees are collections of patches which are generally focussed on addressing a particular need or interest. They help the linux development process in by providing 'places' for work to be developed, and eventually promoted from tree to tree, progressing towards eventual inclusion in mainline.
. Maintainer: Linus Torvalds Goal is to release a new kernel every 8-12 weeks. Once release 2.6.X is released, 2.6.X+1 is opened for 2 weeks, and patches are merged, often from -mm and other maintainer trees, but also from LKML directly. After the 2 week 'open-season', -rc1 is released, which begins the slow freeze from 'slushy', and hardening slowly as -rc2, and successors are released, as Linus sees fit. These are also called current, and mainline Once new releases are made, other trees are re-based against the new release.
submitted to email@example.com
. Maintainer: Adrian Bunk This tree operates identically to -stable, except its 1 version older. This started with 2.6.16, it may also refer to 2.6.17 once 2.6.18 is released, and 2.6.18.y is reopened as -stable.
New patches enter -mm whenever Andrew thinks its warranted, but generally is done in-phase with open-season. This is probably due to the preferences of the various maintainers who push patchsets to him.
. Maintainer: Ingo Molnar. Realtime-preempt is a set of patches for the latest version of the Linux kernel. They bring the pre-emption capability to the next level. It's goal is to make the full fledged Linux kernel have as close to real-time response as possible. (As a warning, though, the realtime preempt patches are under going heavy development and have been for some times. It's not unusual for Ingo to update the realtime-preempt patch several times a day, or even within hours of each other. ) The -rt tree has been the nursery for several large feature sets, which have matured there, and have since been added to mainline. Notable amongst them are:
2.5 kernel (historical)
2.4 kernel (historical)
. Maintainer: Alan Cox. Ultra-stable tree for 2.4 series with fixes (security, functionality) for the last stable version. Some of the fixes have already been merged in Linus's tree (the 'official' development tree - at kernel.org), while some others are pending.
. Maintainer: Rik van Riel. Rmap has a reverse mapping from page frames to virtual mappings mostly in order to make a more predictable VM, to get rid of some worst case VM behaviours and smooth things out. The reverse mappings provide infrastructure to make a more flexible VM possible ... which means that VM strategies in -rmap often change. The core work in this tree was merged into linux 2.5
You can also browse the available git trees here: http://www.kernel.org/git/