KernelNewbies:

WARNING: This document may not be completely finished at the time of the release. Sorry. You can look at the LWN list of 2.6.25 features ([http://lwn.net/Articles/266721 1], [http://lwn.net/Articles/267849/ 2], and [http://lwn.net/Articles/268923/ 3])

Linux kernel version 2.6.25 Released ([http://kernel.org/pub/linux/kernel/v2.6/ChangeLog-2.6.25 full SCM git log])

TableOfContents()

1. Short overview (for news sites, etc)

2. Important things (AKA: the cool stuff)

2.1. RCU Preempt support

Recommended LWN article: [http://lwn.net/Articles/253651/ "The design of preemptible read-copy-update"]

[http://en.wikipedia.org/wiki/Read-copy-update RCU] is a very powerful locking scheme used in Linux to scale to [http://lkml.org/lkml/2007/5/4/314 very large] number of CPUs on a single system. However, it wasn't well suited for the Real Time patchsets that have been developed to make Linux a RT OS, because some parts weren't preemptible, causing latencies too big for RT workloads. In 2.6.25, RCU can be preempted, eliminating that source of latencies and making Linux a bit more RT-ish.

Code: [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e260be673a15b6125068270e0216a3bfbfc12f87 (commit)]

2.2. FIFO ticket spinlocks

Recommended article: [http://lwn.net/Articles/267968/ "Ticket spinlocks"]

In certain workloads, spinlocks can be unfair, ie: a process spinning on a spinlock can be starved up to 1,000,000 times. Usually starvation in spinlocks is not a problem, because it becomes a performance problem before any starvation is noticed, but testing has showed the contrary. And it's always possible to find an obscure corner case that will generate a lot of contention on some lock, and the processor that will grab the lock does it randomly. With the new spinlocks, the processes grab the spinlock in FIFO order. Spinlocks configured to run in more than 255 CPUs will also use a 32-bit value (instead of the 16 bits used when NR_CPUS < 255) that allows a theoretical limit of up to 65536 processors.

Code: [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=314cdbefd1fd0a7acf3780e9628465b77ea6a836 (commit)]

2.3. Better process memory usage measurement

Recommended LWN article: [http://lwn.net/Articles/230975/ "How much memory are applications really using?"]

Measuring how much memory processes are using is more difficult than it looks, specially when processes are sharing the memory used. Features like /proc/$PID/smaps (added in [http://kernelnewbies.org/Linux_2_6_14 2.6.14]) help, but it has not been enough. 2.6.25 adds new statistics to make this task easier. A new /proc/$PID/pagemaps file is added for each process. In this file the kernel exports (in binary format) the physical page localization for each page used by the process. Comparing this file with the files of other processes allows to know what pages they are sharing. Another file, /proc/kpagemaps, exposes another kind of statistics about the pages of the system. The author of the patch, Matt Mackall, proposes two new statistic metrics: "proportional set size" (PSS) - divide each shared page by the number of processes sharing it; and "unique set size" (USS) (counting of pages not shared). The first statistic, PSS, has also been added to each file in /proc/$PID/smaps. In [http://selenic.com/repo/pagemap/ this HG repository] you can find some sample command line and graphic tools that exploits all those statistics.

Code: (commit [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=1e88328111aae3ea408f346763ba9f9bad71f876 1], [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=304daa8132a95e998b6716d4b7bd8bd76aa152b2 2], [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=161f47bf41c5ece90ac53cbb6a4cb9bf74ce0ef6 3], [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=85863e475e59afb027b0113290e3796ee6020b7d 4])

2.4. Memory Resource Controller

Recommended LWN article: [http://lwn.net/Articles/243795/ "Controlling memory use in containers"]

The memory resource controller is a cgroups-based feature. Cgroups, aka "Control Groups", is a feature that was merged in [http://kernelnewbies.org/Linux_2_6_24 2.6.24], and its purpose is to be a generic framework where several "resource controllers" can plug in and manage different resources of the system such as process scheduling or memory allocation. It also offers a unified user interface, based on a virtual filesystem where administrators can assign arbitrary resource constraints to a group of chosen tasks. For example, in [http://kernelnewbies.org/Linux_2_6_24 2.6.24] they merged two resource controllers: Cpusets and Group Scheduling. The first allows to bind CPU and Memory nodes to the arbitrarily chosen group of tasks, aka cgroup, and the second allows to bind a CPU bandwidth policy to the cgroup.

The memory resource controller isolates the memory behavior of a group of tasks -cgroup- from the rest of the system. It can be used to:

The configuration interface, like all the cgroups, is done by mounting the cgroup filesystem with the "-o memory" option, creating a randomly-named directory (the cgroup), adding tasks to the cgroup by catting its PID to the 'task' file inside the cgroup directory, and writing values to the following files: 'memory.limit_in_bytes', 'memory.usage_in_bytes' (memory statistic for the cgroup), 'memory.stats' (more statistics: RSS, caches, inactive/active pages), 'memory.failcnt' (number of times that the cgroup exceeded the limit), and 'mem_control_type'. OOM conditions are also handled in a per-cgroup manner: when the tasks in the cgroup surpass the limits, OOM will be called to kill a task between all the tasks involved in that specific cgroup.

Code: (commit [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=1b6df3aa457690100f9827548943101447766572 1], [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=8cdea7c05454260c0d4d83503949c358eb131d17 2], [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e552b6617067ab785256dcec5ca29eeea981aacb 3], [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=78fb74669e80883323391090e4d26d17fe29488f 4], [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=8a9f3ccd24741b50200c3f33d62534c7271f3dfc 5], [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=66e1707bc34609f626e2e7b4fe7e454c9748bad5 6], [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=67e465a77ba658635309ee00b367bec6555ea544 7], [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=0eea10301708c64a6b793894c156e21ddd15eb64 8], [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=c7ba5c9e8176704bfac0729875fa62798037584d 9], [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=8697d33194faae6fdd6b2e799f6308aa00cfdf67 10], [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=bed7161a519a2faef53e1bce1b47595e297c1d14 11], [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e1a1cd590e3fcb0d2e230128daf2337ea55387dc 12])

2.5. EXT4 update

Recommended article: [http://lwn.net/Articles/266274/ "A better ext4"]

EXT4 mainline snapshot gets an update with a bunch of features: Multi-block allocation, large blocksize up to PAGEZIZE (Shouldn't this be "PAGESIZE"? -zamb), journal checksumming, large file support, large filesystem support, inode versioning, and allow in-inode extended attributes on the root inode. These features should be the last ones that require on-disk format changes. Other features that don't affect the disk format, like delayed allocation, have still to be merged.

Code: (commit [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=c9de560ded61faa5b754137b7753da252391c55a 1], [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=0040d9875dcccfcb2131417b10fbd9841bc5f05b 2], [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=0fc1b451471dfc3cabd6e99ef441df9804616e63 3], [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=c14c6fd5c56a0d0495d8a7c0f2bc330be658663e 4], [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=25ec56b518257a56d2ff41a941d288e4b5ff9488 5], [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=725d26d3f09ccb5bac4b4293096b985a312a0d67 6], [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=7a224228ed79d587ece2304869000aad1b8e97dd 7], [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=8180a5627d126362c2f64e4fa886d6f608d9632a 8], [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=818d276ceb83aa9fdebb5e0a53188290312de987 9], [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=8e85fb3f305b24b79c6d9cb7a56d22b062335ad3 10], [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=afc7cbca5bfd556c3e12d3acefbee5ab0cbd4670 11])

2.6. MN10300/AM33 architecture support

The MN10300/AM33 architecture is now supported under the "mn10300" subdirectory. 2.6.25 adds support MN10300/AM33 CPUs produced by MEI. It also adds board support for the ASB2303 with the ASB2308 daughter board, and the ASB2305. The only processor supported is the MN103E010, which is an AM33v2 core plus on-chip devices. Code: [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b920de1b77b72ca9432ac3f97edb26541e65e5dd (commit)]

3. Subsystems

3.1. Various

* blktrace: Add blktrace ioctls to SCSI generic devices [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=6da127ad0918f93ea93678dad62ce15ffed18797 (commit)] * io context sharing: preliminary support [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=d38ecf935fcb10264a6bc190855d9595165e6eeb (commit)] * io_context sharing - cfq changes [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=66dac98ed0de7a1125fb0dd7907f238f6b9d2f60 (commit)] * block: cfq: make the io contect sharing lockless [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=4ac845a2e9a816ed5a7b301f56dcc0a3d0b1ba4d (commit)] * io_context sharing - anticipatory changes [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=521f3bbdba6b92582ef8047df01b156668343542 (commit)] * kernel: add CLONE_IO to specifically request sharing of IO contexts [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=fadad878cc0640cc9cd5569998bf54b693f7b38b (commit)]

* rcu: add support for dynamic ticks and preempt rcu [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=2232c2d8e0a6a31061dec311f3d1cf7624bc14f1 (commit)] * rcupreempt: fix hibernate/resume in presence of PREEMPT_RCU and hotplug [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=ae778869ae4549628b9e83efe958c3aaa63ed1b9 (commit)]

* Enhanced partition statistics: core statistics [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=ea5c48ab2a76559d4af39e1f7de137c0851ac0a5 (commit)] * Enhanced partition statistics: update partition statitics [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=6f2576af5ba5913538fda7dfb7c6a17771025477 (commit)] * Enhanced partition statistics: sysfs [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=34e8beac92c27d292938065f8375842d2840767c (commit)] * Enhanced partition statistics: procfs [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=28f39d553ee242000e62f6c589ee3dc6de3f9aaa (commit)]

* cpu-hotplug: refcount based cpu hotplug [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=d221938c049f4845da13c8593132595a6b9222a8 (commit)] * softlockup: automatically detect hung TASK_UNINTERRUPTIBLE tasks [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=82a1fcb90287052aabfa235e7ffc693ea003fe69 (commit)]

* hugetlb: allow sticky directory mount option [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=75897d60a54ccee94253312107f941a83b5077cb (commit)] * slob: reduce external fragmentation by using three free lists [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=20cecbae44528d347c46e71f40650b75e0dcbc8e (commit)] * writeback: speed up writeback of big dirty files [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=8bc3be2751b4f74ab90a446da1912fd8204d53f7 (commit)] * capabilities: introduce per-process capability bounding set [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=3b7391de67da515c91f48aa371de77cb6cc5c07e (commit)] * Add 64-bit capability support to the kernel [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e338d263a76af78fe8f38a72131188b58fceb591 (commit)] * pm qos infrastructure and interface [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=d82b35186eaa816267f044bd70cc0acb3c7971a3 (commit)] * latency.c: use QoS infrastructure [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=f011e2e2df3393c16b0fdc48e855e909b7e021ee (commit)] * SIGIO-driven I/O with inotify queues [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=bcfbf84d4067674b0740a39605f8057622ad5230 (commit)] * get rid of NR_OPEN and introduce a sysctl_nr_open [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=9cfe015aa424b3c003baba3841a60dd9b5ad319b (commit)] * oom: add sysctl to enable task memory dump [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=fef1bdd68c81b71882ccb6f47c70980a03182063 (commit)] * brk randomization: introduce CONFIG_COMPAT_BRK [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=32a932332c8bad842804842eaf9651ad6268e637 (commit)] * SLUB: Alternate fast paths using cmpxchg_local [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=1f84260c8ce3b1ce26d4c1d6dedc2f33a3a29c0c (commit)] * SLUB: Support for performance statistics [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=8ff12cfc009a2a38d87fa7058226fe197bb2696f (commit)] * Allow executables larger than 2GB [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=abe8be3abe4c2043bd766f32d7eba62c12dbb0b3 (commit)] * The scheduled 'time' option removal [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a36219ac93b3fd029f5e800642226c57796c152f (commit)] * Remove a.out interpreter support in ELF loader [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=d20894a23708c2af75966534f8e4dedb46d48db2 (commit)] * CONFIG_HIGHPTE vs. sub-page page tables. [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=2f569afd9ced9ebec9a6eb3dbf6f83429be0a7b4 (commit)]

* rewrite rd [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=9db5579be4bb5320c3248f6acf807aedf05ae143 (commit)], [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=75acb9cd2ef0bbb463098fdd40cbcdda79d45fa3 (commit)]

* Change dmapool free block management [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a35a3455142976e3fffdf27027f3082cbaba6e8c (commit)] * UBI: add auto-resize feature [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=4ccf8cffa963c7b5bdc6d455ea9417084ee49aa8 (commit)] * futex: Add bitset conditional wait/wakeup functionality [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=cd689985cf49f6ff5c8eddc48d98b9d581d9475d (commit)] * Hibernation: Introduce SNAPSHOT_GET_IMAGE_SIZE ioctl [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=af508b34d27e3341287d89e0eae6752fdb1b873f (commit)] * Hibernation: Mark SNAPSHOT_SET_SWAP_FILE ioctl as deprecated (rev. 2) [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=96f737490cfc368fdafe49769f52fc8460f9349f (commit)] * Suspend: Testing facility (rev. 2) [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=0e7d56e3d9d7e37c79d0e05ffb3994e34beb3bbc (commit)] * Hibernation: New testing facility (rev. 2) [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=4cc79776c9ea431790e04fcacbebb30d28eb1570 (commit)] * virtio: PCI device [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=3343660d8c62c6b00b2f15324ef3fcb6be207bfa (commit)] * virtio: balloon driver [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=6b35e40767c6c1ac783330109ae8e0c09ea6bc82 (commit)] * pm qos infrastructure and interface [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=d82b35186eaa816267f044bd70cc0acb3c7971a3 (commit)] * latency.c: use QoS infrastructure [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=f011e2e2df3393c16b0fdc48e855e909b7e021ee (commit)] * Linux Kernel Markers: support multiple probes [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=fb40bd78b0f91b274879cf5db8facd1e04b6052e (commit)] * CONFIG_HIGHPTE vs. sub-page page tables. [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=2f569afd9ced9ebec9a6eb3dbf6f83429be0a7b4 (commit)] * timerfd: new timerfd API [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=4d672e7ac79b5ec5cdc90e450823441e20464691 (commit)] * xen: Implement getgeo for Xen virtual block device. [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=597592d951cdca8e5edb29f7e8174f633a69685a (commit)]

* md: allow devices to be shared between md arrays [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=c5d79adba7ced41d7ac097c2ab74759d10522dd5 (commit)] * md: allow a maximum extent to be set for resyncing [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=c620727779f7cc8ea96efb71f0651a26349e59c1 (commit)] * md: support 'external' metadata for md arrays [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e691063a61f7f72a7d2882eb744b07a520cde23b (commit)]

3.2. Filesystems

3.3. Networking

* mac80211: adding MAC80211_HT_DEBUG config variable [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=82b3cad942ebf1f64798e6ec3c46c277822e1fce (commit)] * mac80211: adding 802.11n HT framework definitions [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=10816d40f2e9500057cb46d7608a362a1d10bb9b (commit)] * mac80211: adding 802.11n essential A-MPDU addBA capability [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=9f985b0eee4070e494b9d62313da982cfef9b5e3 (commit)] * mac80211: adding 802.11n IEs handling [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=c715350828b12ce3b29e655fec7a7d6b22245d00 (commit)] * mac80211: adding 802.11n essential A-MSDU Rx capability [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=fd4c7f2fce1737105208c564e1458c885918982d (commit)] * mac80211: adding 802.11n configuration flows [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=d3c990fb26b78f60614885d9ecaf7b7686b7b098 (commit)] * mac80211: add PID controller based rate control algorithm [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=ad01837593338f13508463fa11c8dbf8109a1e5d (commit)] * mac80211: make PID rate control algorithm the default [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=c21b39aca4f8f4975784e54cd3a1b80bab80dcc0 (commit)] * cfg80211/nl80211: introduce key handling [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=41ade00f21a72d30911c6351a93823a491fffa39 (commit)] * mac80211: support adding/removing keys via cfg80211 [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e8cbb4cbeb7642d179b01c35adf036ddb65f3dd0 (commit)] * mac80211: support getting key sequence counters via cfg80211 [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=62da92fb75c346b503bca765fd1337e08771c9fe (commit)] * cfg80211/nl80211: add beacon settings [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=ed1b6cc7f80f831e192704b05b9917f9cc37be15 (commit)] * cfg80211/nl80211: station handling [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=5727ef1b2e797a1922f5bc239b6afb2b4cfb80bc (commit)] * cfg80211/nl80211: implement station attribute retrieval [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=fd5b74dcb88cfc109d6576b22deaef6f47f82c12 (commit)] * mac80211: implement station stats retrieval [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=7bbdd2d987971f9d123a2db89ed921bf02e34f9a (commit)] * mac80211: add beacon configuration via cfg80211 [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=5dfdaf58d61f06a458529430c24b1191ea4d1a27 (commit)] * mac80211: implement cfg80211 station handling [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=4fd6931ebe24640bec72b91ba612325843a5e3cc (commit)]

* [IPSEC]: Allow async algorithms [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=6fbf2cb77461a0cd0675228d20dd0f70d7b2251f (commit)] * [IPSEC]: Add support for combined mode algorithms [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=1a6509d991225ad210de54c63314fd9542922095 (commit)]

3.4. Crypto

3.5. Security

* Smack: Simplified Mandatory Access Control Kernel [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e114e473771c848c3cfec05f0123e70f1cdbdc99 (commit)] * Smack: unlabeled outgoing ambient packets [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=4bc87e62775052aac0be7574d5f84ff06f61c6b4 (commit)]

3.6. Architecture-specific changes

4. Drivers

4.1. Graphics

4.2. SATA/IDE

4.3. Sound

4.4. SCSI

4.5. Network

4.6. V4L/DVB

4.7. I2C

4.8. HID

4.9. Input

4.10. USB

4.11. RDMA

* rdma: SVCRDMA Core Transport Services [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=377f9b2f4529e0ac702fd7b91e216afd0adc959e (commit)]

* rdma: makefile [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=4b8449af75fa2e2d9736ec503a818be626a4e763 (commit)]

* rdma: SVCRDMA sendto [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=c06b540a54ad01d2fda8cfb5d8823b9b3d8d1cb2 (commit)]

* rdma: SVCRMDA Header File [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=d21b05f101ae732d9bc322f13eea2f59c0aa60f5 (commit)]

* rdma: SVCRDMA recvfrom [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=d5b31be6823320d81570e0199acd60d3a3f75d85 (commit)]

* rdma: ONCRPC RDMA protocol marshalling [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=ef1eac0a3fa86b06aa2d87021f157d13abc1903f (commit)]

* rdma: SVCRDMA Transport Module [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=ef7fbf59e6f780a0fa03536839e3c42e9ce40ad1 (commit)]

4.12. Hwmon

4.13. MTD

4.14. ACPI

4.15. RTC/W1

4.16. Leds

4.17. Various

* nozomi driver [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=20fd1e3bea554620d489f3542496639c1babe0b3 (commit)] * firewire: fw-ohci: Apple UniNorth 1st generation support [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=11bf20ad028880a56689f086bfbabfd88b2af38b (commit)]

* gpiolib: add drivers/gpio directory [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a9c5fff542544c8595bb12efeb278a96d99386fc (commit)] * gpiolib: add gpio provider infrastructure [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=d2876d08d86f22ce1f276fc29f6baec8b53e32c6 (commit)] * gpiolib: pcf857x i2c gpio expander support [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=15fae37d9f5f21571a9618d8353164b6ddfea6f6 (commit)] * gpiolib support for the PXA architecture [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=1c44f5f16fee880b294f8068354bfb9dddf1349b (commit)] * gpiolib: pca9539 i2c gpio expander support [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=9e60fdcf0c2905d7a8fc4cb2b3711ea5c5acaae1 (commit)] * gpiolib: avr32 at32ap platform support [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b98348bdd08dc4ec11828aa98a78edde15c53cfa (commit)] * drivers-edac: add Cell MC driver [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=48764e4143c06672fc072eb482fdc4c75ee0f968 (commit)] * drivers-edac: add marvell mv64x60 driver [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=4f4aeeabc061826376c9a72b4714d062664999ea (commit)] * drivers-edac: add freescale mpc85xx driver [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a9a753d53204bf0f42841f65679c7e1711833bcf (commit)] * [WATCHDOG] Add support for SB1 hardware watchdog [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=75c752e6c3147f596c13365b200b91d754b66f59 (commit)] * [WATCHDOG] HP ProLiant WatchDog driver [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=7f4da4745c34287938ce76b92b23409adeecb5b8 (commit)]

* memstick: initial commit for Sony MemoryStick support [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=baf8532a147d5b76681ce040e2c8f25a3f0e718d (commit)], add support for JMicron jmb38x MemoryStick host controller [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=60fdd931d577fcca351930fda4cde26ce07d35af (commit)]

KernelNewbies: Linux_2_6_25 (last edited 2008-03-30 22:26:24 by diegocalleja)