KernelNewbies:

Linux 2.6.31 kernel still not released

Spam: Valerie Aurora has publised on LWN [http://lwn.net/Articles/342892/ a great article explaining some parts of the deep internals of btrfs]. Since btrfs is expected to replace Ext4 at some point, it's an interesting read.

1. Prominent features (the cool stuff)

1.1. USB 3

Contributor: Sarah Sharp (Intel)

Code: drivers/usb/host/xhci*

1.2. CUSE (character devices in userspace) and OSS Proxy

Contributor: Tejun Heo (SUSE)

CUSE is an extension of FUSE allowing character devices to be implemented in userspace.

This can be used for many things, for example proxying OSS audio to ALSA or to an audio system which forwards the sound through the network. ALSA contains OSS emulation but sadly the emulation is behind multiplexing layer (which is in userland) which means that if your sound card doesn't support multiple audio streams (most modern cards don't), only either one of ALSA or OSS interface would be usable at any given moment.

OSS Proxy uses CUSE to implement the OSS interface - /dev/dsp, /dev/adsp and /dev/mixer. From the POV of the applications, these devices are proper character devices and behave exactly the same way so it can be made quite versatile, it also makes the ALSA OSS emulation less necesary. The app sends the audio to these devices, and OSS Proxy forwards it to a "slave". Currently there's only one slave implemented - ossp-padsp, which as the name suggests forwards the sound to pulseaudio.

Code: CUSE [http://git.kernel.org/linus/151060ac13144208bd7601d17e4c92c59b98072f (commit)] OSS Proxy home and code: http://userweb.kernel.org/~tj/ossp/

1.3. Improve desktop interactivity under memory pressure

PROT_EXEC pages are pages that normally belong to some currently running executables and their linked libraries, they shall really be cached aggressively to provide good user experiences. But due to memory management scalability work in recent kernel versions, there're some (commonly used) workloads which could send these pages to the list of unactive pages backed by the filesystem (ie, not anonymous pages, like those which came from malloc) where they can get flushed out of the working set. The result is a desktop environment with poor interactivity: the applications become unresponsive because they are waiting to get their executable/library code mapped again into memory.

In this version, some heuristics have been used to make much harder to get the mapped executable pages out of the list of active pages. The result is an improved desktop experience: Benchmarks on memory tight desktops show clock time and major faults reduced by 50%, and pswpin numbers are reduced to ~1/3, that means X desktop responsiveness is doubled under high memory/swap pressure. Memory flushing benchmarks in a file server shows the number of major faults going from 50 to 3 during 10% cache hot reads. See the commit link for more details and benchmarks.

Code: [http://git.kernel.org/linus/56e49d218890f49b0057710a4b6fef31f5ffbfec (commit 1], [http://git.kernel.org/linus/6fe6b7e35785e3232ffe7f81d3893f1316710a02 2], [http://git.kernel.org/linus/8cab4754d24a0f2e05920170c845bd84472814c6 3)]

1.4. Performance Counters

Contributors: Thomas Gleixner, Ingo Molnar (Red Hat), Peter Zijlstra, Mike Galbraith, Paul Mackerras, Wu Fengguang (Intel), Robert Richter (AMD), Arnaldo Carvalho de Melo (Red Hat), Frederic Weisbecker, Anton Blachard and probably others.

The Performance Counter subsystem provides an abstraction of special performance counter hardware registers available on most modern CPUs. These registers count the number of certain types of hw events: such as instructions executed, cachemisses suffered, or branches mis-predicted - without slowing down the kernel or applications. These registers can also trigger interrupts when a threshold number of events have passed - and can thus be used to profile the code that runs on that CPU. In this release, support for x86, PPC and partial support for S390 and FRV have been added.

Users are not expected to use the API themselves. Instead, a powerful performance analysis tool has been built: "perf", which is available at tools/perf/ (in an unusual decision of including kernel-related userspace software into the kernel tree), where you can build it with "make". It can need some external development libraries.

perf supports a few modes of operation, like "perf top", which shows a top-like interface, which you can restrict to any given set of events, process or CPU. There's also "perf record", which records a profile into a file, and "perf report", which reads the profile and shows it in the screen, or "perf annotate", which reads the data and displays the annotated code. There's also "perf list", which shows the list of events supported by the hardware, and "perf stat", which runs a command and gathers performance statistics which are printed into the screen. All the documentation and man pages are available in the 'Documentation' subdirectory. Some examples:

$ ./perf stat -r 3 -- echo -n

$ perf report -s comm,dso,symbol -C firefox -d /usr/lib64/xulrunner-1.9.1/libxul.so | grep :: | head

Code: [http://git.kernel.org/linus/0793a61d4df8daeac6492dbf8d2f3e5713caae5e (commit 1], [http://git.kernel.org/linus/e7bc62b6b3aeaa8849f8383e0cfb7ca6c003adc6 2], [http://git.kernel.org/linus/241771ef016b5c0c83cd7a4372a74321c973c1e6 3], [http://git.kernel.org/linus/d662ed26734473d4cb5f3d78cebfec8f9126e97c 4], [http://git.kernel.org/linus/4574910e5087085a1f330ff8373cee4503f5c77c 5], [http://git.kernel.org/linus/16b067993dee3dfde61b20027e0b168dc06201ee 6] [http://git.kernel.org/linus/f78628374a13bc150db77c6e02d4f2c0a7f932ef 7] [http://git.kernel.org/linus/aabbaa6036fd847c583f585c6bae82b5a033e6c7 8] [http://git.kernel.org/linus/880860e392d92c457e8116cdee39ec4d109174ee 9] [http://git.kernel.org/linus/105988c015943e77092a6568bc5fb7e386df6ccd 10] [http://git.kernel.org/linus/7325927e5a20bfe0f006acf92801bf41c537d3d4 11] [http://git.kernel.org/linus/12310e9c1b9a53896e4df0459039dd125f62aa9b 12)]

1.5. Kmemcheck

Kmemcheck is a debugging feature for the Linux Kernel. More specifically, it is a dynamic checker that detects and warns about some uses of uninitialized memory. Userspace programmers might be familiar with Valgrind's memcheck. The main difference between memcheck and kmemcheck is that memcheck works for userspace programs only, and kmemcheck works for the kernel only.

Enabling kmemcheck on a kernel will probably slow it down to the extent that the machine will not be usable for normal workloads such as e.g. an interactive desktop. kmemcheck will also cause the kernel to use about twice as much memory as normal. For this reason, kmemcheck is strictly a debugging feature.

Code: [http://git.kernel.org/linus/e594c8de3bd4e7732ed3340fb01e18ec94b12df2 (commit 1], [http://git.kernel.org/linus/dfec072ecd35ba6ecad2d51dde325253ac9a2936 2], [http://git.kernel.org/linus/f85612967c93b67b10dd240e3e8bf8a0eee9def7 3], [http://git.kernel.org/linus/2dff440525f8faba8836e9f05297b76f23b4af30 4], [http://git.kernel.org/linus/d7002857dee6e9a3ce1f78d23f37caba106b29c5 5], [http://git.kernel.org/linus/c175eea466e760de4b69b9aad90157e7aa9ff54f 6], [http://git.kernel.org/linus/5a896d9e7c921742d0437a452f991288f4dc2c42 7], [http://git.kernel.org/linus/7d46d9e6dbffe8780aa8430a63543d3f7ba92860 8)]

1.6. Kmemleak

Kmemleak provides a way of detecting possible kernel memory leaks in a way similar to a [http://en.wikipedia.org/wiki/Garbage_collection_%28computer_science%29#Tracing_garbage_collectors tracing garbage collector], with the difference that the orphan objects are not freed. Instead, a kernel thread scans the memory every 10 minutes (by default) and prints any new unreferenced objects found in /sys/kernel/debug/kmemleak and warns about them ti . A similar method is used by the Valgrind tool (memcheck --leak-check) to detect the memory leaks in user-space applications.

Code: [http://git.kernel.org/linus/3c7b4e6b8be4c16f1e6e5c558e33b7ff0db2dfaf (commit 1], [http://git.kernel.org/linus/04f70336c80c43a15e617b36c2043dfa0ad6ed0f 2], [http://git.kernel.org/linus/d5cff635290aec9ad7e6ee546aa4fae895361cbb 3], [http://git.kernel.org/linus/4374e616d28e65265a5b433ceece275449f3d2e3 4], [http://git.kernel.org/linus/06f22f13f3cc2eff00db09f053218e5d4b757bc8 5], [http://git.kernel.org/linus/89219d37a2377c44fde7bff0bf0623453c05329a 6], [http://git.kernel.org/linus/dbb1f81ca67a56c6cfce4c94d07c76378fd4af9e 7], [http://git.kernel.org/linus/4f2294b6dc88d99295230d97fef2c9863cec44c3 8], [http://git.kernel.org/linus/2e1483c995bbd0fa6cbd055ad76088a520799ba4 9], [http://git.kernel.org/linus/3bba00d7bdd57cb7aa739b751fa0a1fbbb04dc18 10], [http://git.kernel.org/linus/0822ee4ac1ae6af5a953f97f75553738834b10b9 11)]

1.7. Fsnotify

Fsnotify is a backend for filesystem notification. Fsnotify itself does not provide any userspace interface but does provide the basis needed for other notification schemes such as dnotify, inotify and fanotify (this last notification interface, will be included in future releases). In fact, in this release dnotify and inotify have been rewritten in top of fsnotify, removing at the same time the ugly and complex code from those systems. Fsnotify provides a mechanism for "groups" to register for some set of filesystem events and to then deliver those events to those groups for processing, and the locking is much simpler. Fsnotify has other benefits, like shrinking the size of an inode.

Code: [http://git.kernel.org/linus/90586523eb4b349806887c62ee70685a49415124 (commit 1], [http://git.kernel.org/linus/3be25f49b9d6a97eae9bcb96d3292072b7658bd8 2], [http://git.kernel.org/linus/c28f7e56e9d95fb531dc3be8df2e7f52bee76d21 3], [http://git.kernel.org/linus/3c5119c05d624f95f4967d16b38c9624b816bdb9 4], [http://git.kernel.org/linus/a2d8bc6cb4a3024661baf877242f123787d0c054 5], [http://git.kernel.org/linus/62ffe5dfba056f7ba81d710fee9f28c58a42fdd6 6], [http://git.kernel.org/linus/47882c6f51e8ef41fbbe2bbb746a1ea3228dd7ca 7], [http://git.kernel.org/linus/e4aff117368cfdd3567ee41844d216d079b55173 8], [http://git.kernel.org/linus/1ef5f13c6c8acd3fd10db9f1743f3b4cf30a4abb 9], [http://git.kernel.org/linus/164bc6195139047faaf5ada1278332e99494803b 10], [http://git.kernel.org/linus/63c882a05416e18de6fb59f7dd6da48f3bbe8273 11], [http://git.kernel.org/linus/ff52cc2158b32b3b979ca7802b1fd7c70f36e13c 12], [http://git.kernel.org/linus/5ac697b793a3c45005c568df692518da6e690390 13], [http://git.kernel.org/linus/ce61856bd2aadb064f595e5c0444376a2b117c41 14], [http://git.kernel.org/linus/a092ee20fd33d2df0990dcbf2235afc181612818 15], [http://git.kernel.org/linus/e42e27736de80045f925564ea27a1d32957219e7 16)]

1.8. NFS 4.1 client support

+ bool "NFS client support for NFSv4.1 (DEVELOPER ONLY)" + depends on NFS_V4 && EXPERIMENTAL + help + This option enables support for minor version 1 of the NFSv4 protocol + (draft-ietf-nfsv4-minorversion1) in the kernel's NFS client. +

Add Kconfig symbols for NFSv4.1 [http://git.kernel.org/linus/1efae38140546db403845d628db9f2d608caa87e (commit)]

2. Various core changes

* rt_mutex: add proxy lock routines [http://git.kernel.org/linus/8dac456a681bd94272ff50ecb31be6b669382c2b (commit)] * mm: add a gfp-translate script to help understand page allocation failure reports [http://git.kernel.org/linus/608e8e66a154cbc3d591a59dcebfd9cbc9e3431a (commit)] * memcg: add file-based RSS accounting [http://git.kernel.org/linus/d69b042f3d7406ddba560143b1796020df760800 (commit)] * memcg: add interface to reset limits [http://git.kernel.org/linus/c5b947b28828e82814605824e5db0bc58d66d8c0 (commit)] * lib: Provide generic atomic64_t implementation [http://git.kernel.org/linus/09d4e0edd4614e787393acc582ac701c6ec3565b (commit)] * gcov: add gcov profiling infrastructure [http://git.kernel.org/linus/2521f2c228ad750701ba4702484e31d876dbc386 (commit)] * gcov: enable GCOV_PROFILE_ALL for x86_64 [http://git.kernel.org/linus/7bf99fb673f18408be1ebc958321ef4c3f6da9e2 (commit)] * eventfd: revised interface and cleanups [http://git.kernel.org/linus/133890103b9de08904f909995973e4b5c08a780e (commit)] * dma-debug: add debugfs file for driver filter [http://git.kernel.org/linus/8a6fc708b9bb48a79a385bdc2be0959ee2ab788d (commit)] * dma-debug: add dma_debug_driver kernel command line [http://git.kernel.org/linus/1745de5e5639457513fe43440f2800e23c3cbc7d (commit)] * blktrace: add trace/ to /sys/block/sda [http://git.kernel.org/linus/1d54ad6da9192fed5dd3b60224d9f2dfea0dcd82 (commit)] * blktrace: support per-partition tracing for ftrace plugin [http://git.kernel.org/linus/9908c30997b8a73c95f836170b9998dae9aa3f4a (commit)] * blktrace: support per-partition tracing [http://git.kernel.org/linus/d0deef5b14af7d5bbd0003a0a2a1a32326e20a6d (commit)] * block: Do away with the notion of hardsect_size [http://git.kernel.org/linus/e1defc4ff0cf57aca6c5e3ff99fa503f5943c1f1 (commit)] * block: enable by default support for large devices and files on 32-bit archs [http://git.kernel.org/linus/db29a6b49674085f136331014ba0eee249c16a2c (commit)] * block: Export I/O topology for block devices and partitions [http://git.kernel.org/linus/c72758f33784e5e2a1a4bb9421ef3e6de8f9fcf3 (commit)] * block: Expose stacked device queues in sysfs [http://git.kernel.org/linus/cd43e26f071524647e660706b784ebcbefbd2e44 (commit)] * block: get rid of queue-private command filter [http://git.kernel.org/linus/018e0446890661504783f92388ecce7138c1566d (commit)] * block: Move queue limits to an embedded struct [http://git.kernel.org/linus/025146e13b63483add912706c101fb0fb6f015cc (commit)] * block: Use accessor functions for queue limits [http://git.kernel.org/linus/ae03bf639a5027d27270123f5f6e3ee6a412781d (commit)] * Intel IOMMU Pass Through Support [http://git.kernel.org/linus/4ed0d3e6c64cfd9ba4ceb2099b10d1cf8ece4320 (commit)] * IOMMU Identity Mapping Support (drivers/pci/intel_iommu.c) [http://git.kernel.org/linus/2c2e2c389d03bb16b8cdf9db3ac615385fac100f (commit)] * mm: introduce PageHuge() for testing huge/gigantic pages [http://git.kernel.org/linus/20a0307c0396c2edb651401d2f2db193dda2f3c9 (commit)] * mm: remove CONFIG_UNEVICTABLE_LRU config option [http://git.kernel.org/linus/6837765963f1723e80ca97b1fae660f3a60d77df (commit)] * modules: sysctl to block module loading [http://git.kernel.org/linus/3d43321b7015387cfebbe26436d0e9d299162ea1 (commit)]

* page allocator

* pagemap: add page-types tool [http://git.kernel.org/linus/35efa5e993a7a00a50b87d2b7725c3eafc80b083 (commit)] * Permissive domain in userspace object manager [http://git.kernel.org/linus/8a6f83afd0c5355db6d11394a798e94950306239 (commit)] * poll: avoid extra wakeups in select/poll [http://git.kernel.org/linus/4938d7e0233a455f04507bac81d0886c71529537 (commit)] * printk: add support of hh length modifier for printk [http://git.kernel.org/linus/a4e94ef0dd391eae05bdeacd12b8da3510957a97 (commit)] * proc: export more page flags in /proc/kpageflags [http://git.kernel.org/linus/177975495914efb372f7edee28ba9a0fdb754149 (commit)] * proc: export statistics for softirq to /proc [http://git.kernel.org/linus/d3d64df21d3d0de675a0d3ffa7c10514f3644b30 (commit)] * ramdisk: remove long-deprecated "ramdisk=" boot-time parameter [http://git.kernel.org/linus/1adbee50fd6fce5af4feb34d2db93cfe4d2066a4 (commit)] * RCU: make treercu be default [http://git.kernel.org/linus/31c9a24ec82926fcae49483e53566d231e705057 (commit)] * readahead: enforce full readahead size on async mmap readahead [http://git.kernel.org/linus/2fad6f5deee5556f511eab58da78737a23ddb35d (commit)] * readahead: enforce full sync mmap readahead size [http://git.kernel.org/linus/7ffc59b4d0bdfa00e882339f85b8a969bb7021e2 (commit)] * readahead: introduce context readahead algorithm [http://git.kernel.org/linus/10be0b372cac50e2e7a477852f98bf069a97a3fa (commit)] * readahead: sequential mmap readahead [http://git.kernel.org/linus/70ac23cfa31f68289d4b720c6162b3929ab4de36 (commit)]

3. Filesystems

4. Networking

[http://git.kernel.org/linus/fcb94e422479da52ed90bab230c59617a0462416 (commit)] [http://git.kernel.org/linus/9ec7671603573ede31207eb5b0b3e1aa211b2854 (commit)] [http://git.kernel.org/linus/2c21d11518b688cd4c8e7ddfcd4ba41482ad075b (commit)] [http://git.kernel.org/linus/02cf228639233aa227a152955a98564c7a18f9ee (commit)] [http://git.kernel.org/linus/8459464f07cf67cab07b17d5736d75fb86adab22 (commit)]

* net: TX_RING and packet mmap [http://git.kernel.org/linus/69e3c75f4d541a6eb151b3ef91f34033cb3ad6e1 (commit)] * nl80211: Add IEEE 802.1X PAE control for station mode [http://git.kernel.org/linus/3f77316c6b99f596bfbf72c0542f47f7230b702e (commit)] * nl80211: Add set/get for frag/rts threshold and retry limits [http://git.kernel.org/linus/b9a5f8cab751d362f7c2d94899ca788c22fcd1ef (commit)] * nl80211 : Add support for configuring MFP [http://git.kernel.org/linus/dc6382ced07d6bad61d0b591fb12ab5da7ca632c (commit)] * sit: stateless autoconf for isatap [http://git.kernel.org/linus/645069299a1c7358cf7330afe293f07552f11a5d (commit)] * tcp: extend ECN sysctl to allow server-side only ECN [http://git.kernel.org/linus/255cac91c3c9ce7dca7713b93ab03c75b7902e0e (commit)] * wimax: Add netlink interface to get device state [http://git.kernel.org/linus/7f0333eb2f98bbfece4fbfe21076d0a3e49f0bb0 (commit)] * af_iucv: Provide new socket type SOCK_SEQPACKET [http://git.kernel.org/linus/aa8e71f58ab8e01d63c33df40ff1bcb997c9df92 (commit)] * cfg80211: add cipher capabilities [http://git.kernel.org/linus/25e47c18ac4d8ad09c2ed4b99c1dbbcb7e3d2c51 (commit)] * cfg80211: add rfkill support [http://git.kernel.org/linus/1f87f7d3a3b42b20f34cb03f0fd1a41c3d0e27f3 (commit)] * cfg80211: allow adding/deleting stations on mesh [http://git.kernel.org/linus/155cc9e4b1d60161ee53ffaf2c15b9411f086fa7 (commit)] * cfg80211: allow setting station parameters in mesh [http://git.kernel.org/linus/9a5e8bbc8fece7851a2a69a8676a6fd0507bc550 (commit)] * forcedeth: add clock gating feature <resend> [http://git.kernel.org/linus/88d7d8b00cdc3117150faab4c4ace6d464b71c22 (commit)] * IB/ehca: Tolerate dynamic memory operations before driver load [http://git.kernel.org/linus/0cf89dcdbc53f2b43e4ce7419b6ff47f4309c2eb (commit)] * ipv4: New multicast-all socket option [http://git.kernel.org/linus/f771bef98004d9d141b085d987a77d06669d4f4f (commit)] * irda: new Blackfin on-chip SIR IrDA driver [http://git.kernel.org/linus/d510fe70db4c62ac899c486506fdfb7f3b518c86 (commit)] * irda-usb: suspend/resume support [http://git.kernel.org/linus/e13f93188b8a3b418da2a02dfa1a46718cf4607b (commit)] * mac80211: implement beacon filtering in software [http://git.kernel.org/linus/d91f36db51661018f6d54ff5966e283bcec4c545 (commit)] * mac80211: improve powersave implementation [http://git.kernel.org/linus/965bedadc01d34027455d5d5b67063ef0209c955 (commit)] * p54: add beacon filtering support [http://git.kernel.org/linus/f13027af5cd567757c18b85776232e31a2ba55d4 (commit)] * rtl8187: Implement TX/RX blink for LED [http://git.kernel.org/linus/a027087a6b4c7d985b872cac3e19ce023670792e (commit)] * rt2x00: Add new rt2800usb USB ID's for Sweex [http://git.kernel.org/linus/3b91c3604d000205fb4e56b5ddd6b77b22ad4689 (commit)] * rt2x00: Implement support for 802.11n [http://git.kernel.org/linus/35f00cfcc06bb85e0659f9847400518008d78145 (commit)] * rt2x00: Implement support for rt2800usb [http://git.kernel.org/linus/d53d9e67b55f6a9fc3f836c5c392eb41ce5676f4 (commit)] * dropmon: add ability to detect when hardware dropsrxpackets [http://git.kernel.org/linus/4ea7e38696c7e798c47ebbecadfd392f23f814f9 (commit)]

5. Security

* smack: implement logging V3 [http://git.kernel.org/linus/6e837fb152410e571a81aaadbd9884f0bc46a55e (commit)] * smack: implement logging V3 [http://git.kernel.org/linus/ecfcc53fef3c357574bb6143dce6631e6d56295c (commit)] * IMA: Minimal IMA policy and boot param for TCB IMA policy [http://git.kernel.org/linus/5789ba3bd0a3cd20df5980ebf03358f2eb44fd67 (commit)]

* don't raise all privs on setuid-root file with fE set (v2) [http://git.kernel.org/linus/b5f22a59c0356655a501190959db9f7f5dd07e3f (commit)]

6. Tracing/Profiling

* tracing: add average time in function to function profiler [http://git.kernel.org/linus/34886c8bc590f078d4c0b88f50d061326639198d (commit)] * tracing: add function profiler [http://git.kernel.org/linus/bac429f037f1a51a74d62bad6d1518c3be065df3 (commit)] * tracing: add hierarchical enabling of events [http://git.kernel.org/linus/8ae79a138e88aceeeb07077bff2883245fb7c218 (commit)] * tracing: adding function timings to function profiler [http://git.kernel.org/linus/0706f1c48ca8a7ab478090b4e38f2e578ae2bfe0 (commit)] * tracing: export stats of ring buffers to userspace [http://git.kernel.org/linus/c8d771835e18c938dae8690611d65fe98ad30f58 (commit)] * oprofile: add support for Core i7 and Atom [http://git.kernel.org/linus/6adf406f0a0eaf37251018d15f51e93f5b538ee6 (commit)] * oprofile: introduce module_param oprofile.cpu_type [http://git.kernel.org/linus/7e4e0bd50e80df2fe5501f48f872448376cdd997 (commit)] * oprofile: re-add force_arch_perfmon option [http://git.kernel.org/linus/1dcdb5a9e7c235e6e80f1f4d5b8247b3e5347e48 (commit)] * oprofile: remove undocumented oprofile.p4force option [http://git.kernel.org/linus/1f3d7b60691993d8d368d8dd7d5d85871d41e8f5 (commit)] * ring-buffer: add benchmark and tester [http://git.kernel.org/linus/5092dbc96f3acdac5433b27c06860352dc6d23b9 (commit)]

7. DM

* dm: linear support flush [http://git.kernel.org/linus/433bcac5645508b71eab2710b6817c3ef937eba8 (commit)] * dm mpath: add queue length load balancer [http://git.kernel.org/linus/fd5e033908b7b743b5650790f196761dd930f988 (commit)] * dm mpath: add service time load balancer [http://git.kernel.org/linus/f392ba889b019602976082bfe7bf486c2594f85c (commit)] * dm mpath: change to be request based [http://git.kernel.org/linus/f40c67f0f7e2767f80f7cbcbc1ab86c4113c202e (commit)] * dm mpath: support barriers [http://git.kernel.org/linus/8627921fa2ef6d40fd9b787e163ba3a9ff8f471d (commit)] * dm: prepare for request based option [http://git.kernel.org/linus/cec47e3d4a861e1d942b3a580d0bbef2700d2bb2 (commit)] * dm raid1: add userspace log [http://git.kernel.org/linus/f5db4af466e2dca0fe822019812d586ca910b00c (commit)] * dm snapshot: support barriers [http://git.kernel.org/linus/494b3ee7d4f69210def80aecce28d08c3f0755d5 (commit)] * dm: stripe support flush [http://git.kernel.org/linus/374bf7e7f6cc38b0483351a2029a97910eadde1b (commit)] * dm: sysfs add suspended attribute [http://git.kernel.org/linus/486d220fe4909b5745c4faa67faddd30a707abe2 (commit)]

* UBI: add notification API [http://git.kernel.org/linus/0e0ee1cc33de8f0cc603269b354085dee340afa0 (commit)] * UBI: make gluebi a separate module [http://git.kernel.org/linus/2ba3d76a1e29f2ba64fbc762875cf9fb2d4ba2ba (commit)]

8. Crypto

9. Wifi

10. Virtualization

11. Block

12. Architecture-specific changes

* Add sysctl to allow panic on IOCK NMI error [http://git.kernel.org/linus/5211a242d0cbdded372aee59da18f80552b0a80a (commit)]

* Revert "x86, bts: reenable ptrace branch trace support" [http://git.kernel.org/linus/511b01bdf64ad8a38414096eab283c7784aebfc4 (commit)]

[http://git.kernel.org/linus/cd27e485410aa7e7464b0126d968fe8c2a5c045b (commit)], [http://git.kernel.org/linus/bb3cee2b35d2b9edab71997bd06040ff37483e08 (commit)], [http://git.kernel.org/linus/d98aac7592114241f378bc8d5b3e424cced7ded2 (commit)], [http://git.kernel.org/linus/01480701d5cef5b3b0f8406d2eab1eaff82f9d5c (commit)], [http://git.kernel.org/linus/18904c0ecdf2cf22347da2adc4b273e9570333d8 (commit)], [http://git.kernel.org/linus/14fa56917d73d823538151b0429d98211fa439c1 (commit)]

* MXC: Atmark Armadillo 500 board support. [http://git.kernel.org/linus/4e0f088106c28d0ed8e827338b42404d236deda0 (commit)]

* SMDK6400: Initial machine support for SMDK6400 [http://git.kernel.org/linus/2ab408e8759ad4b2a9bad3647838acd648d2c10c (commit)]

* S3C64XX: Basic A&W6410 board support patch V2 [http://git.kernel.org/linus/1f26a8a0fd6d067237f87a95d96ddfe263b96a94 (commit)] * IXP4xx: support for Goramo MultiLink router platform. [http://git.kernel.org/linus/11c79740d3c03cb81f84e98cf2e2dbd8d9bb53cd (commit)] * DMA: TXx9 Soc DMA Controller driver [http://git.kernel.org/linus/ea76f0b3759283ec3cc06c86e266bf0fa6a981d2 (commit)] * RealView: Add support for the RealView/PBX platform [http://git.kernel.org/linus/1b504bbe7a4a6c251cdc9dcba1fab72234827945 (commit)]

* imx: serial: add IrDA support to serial driver [http://git.kernel.org/linus/b6e4913834cd032082e5c76dfade61050212dc98 (commit)]

13. Drivers

13.1. Graphics

13.2. Storage

* libfc: Add runtime debugging with debug_logging module parameter [http://git.kernel.org/linus/7414705ea4aef9ce438e547f3138a680d2d1096c (commit)] * libfcoe: Add runtime debugging with module param debug_logging [http://git.kernel.org/linus/650bd12b9e31ec51d7ad0df3c4f94d863b827976 (commit)] * fcoe: Add runtime debug logging with module parameter debug_logging [http://git.kernel.org/linus/d5488eb9cd2b06f7dcca7053274edb337987c67c (commit)] * fcoe: adds spma mode support [http://git.kernel.org/linus/184dd3459bb334d9061b58faed3610d08d6c7ff8 (commit)] * fec: Add FEC support for MX35 processor [http://git.kernel.org/linus/644233073458653e4b7fb474d9a8bdbbfd37739a (commit)] * ipr: add test for MSI interrupt support [http://git.kernel.org/linus/95fecd90397ec1f85eb31ede955d846a86d2077b (commit)] * md: Use new topology calls to indicate alignment and I/O sizes [http://git.kernel.org/linus/8f6c2e4b325a8e9f8f47febb2fd0ed4fae7d45a9 (commit)] * microblaze_mmu_v2: Kconfig update [http://git.kernel.org/linus/a116f6d5db4476d0c941b495a6122b0130bbf20b (commit)]

13.3. Network

13.4. Input

13.5. USB

13.6. Sound

13.7. V4L/DVB

13.8. Staging

13.9. FireWire

See the [http://ieee1394.wiki.kernel.org/ Linux FireWire wiki] for further [http://ieee1394.wiki.kernel.org/index.php/Release_Notes release notes] and for [http://ieee1394.wiki.kernel.org/index.php/Juju_Migration guidance] on migration to the new stack.

13.10. MTD

13.11. WATCHDOG

13.12. HWMON

13.13. HID

13.14. RTC

13.15. Serial

13.16. I2C

13.17. MFD

13.18. Rfkill

13.19. MMC

13.20. Regulator

13.21. Various

13.22. Other news sources tracking the kernel changes

KernelNewbies: Linux_2_6_31 (last edited 2009-08-24 19:18:09 by diegocalleja)