46707
Comment:
|
35362
add a small latency regression
|
Deletions are marked like this. | Additions are marked like this. |
Line 5: | Line 5: |
==== 2.6.16 ==== * /!\ '''STILL NOT RELEASED!''' /!\ * '''Kernel Core changes''' * '''Architecture-specific''' * '''Filesystems''' * '''Networking''' * '''Drivers''' |
|
Line 6: | Line 15: |
* /!\ '''STILL NOT RELEASED!''' /!\ | * Released 3 January, 2006 (fifteen years and a day since Linus bought the machine that got Linux started) [http://kernel.org/pub/linux/kernel/v2.6/ChangeLog-2.6.15 changelog] |
Line 18: | Line 27: |
* The page table scalability changes caused a [http://marc.theaimsgroup.com/?l=linux-kernel&m=113572611432619&w=2 small regression] with respect to maximum latency. If such regression affects you stick with 2.6.14 until it's [http://marc.theaimsgroup.com/?l=linux-kernel&m=113581076009061&w=2 fixed in future releases] | |
Line 35: | Line 45: |
* Add vm_insert_page() to use for drivers, which need to insert individual pages into a user vma without the hassles of PAGE_RESERVED [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a145dd411eb28c83ee4bb68b66f62c326c0f764e (commit)] | |
Line 80: | Line 91: |
* IDE support for: AMD Geode GX/LX [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=7fab773de16ccaeb249acdc6e956a9759c68225d (commit)] and CS5535 [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=f5b2d8b4b5146fa2d70fec7d514fa0bd64636958 (commit)] | * IDE support for: AMD Geode GX/LX [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=7fab773de16ccaeb249acdc6e956a9759c68225d (commit)], CS5535 [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=f5b2d8b4b5146fa2d70fec7d514fa0bd64636958 (commit)] and M3A-2170(Mappi-III) board on the m32r architecture [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=ad09d583106fadfdf751926107cfe35fba6bdbd4 (commit)] |
Line 85: | Line 96: |
* e1000: Implementation of the milti-queue feature [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=24025e4ecf88743e1b3d46451b0e3f9de4bbcba5 (commit)] and support for 82571 and 82572 controllers [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=868d5309942927dc86f57009420c5d366ec05daa (commit)] | * e1000: Implementation of the multi-queue feature [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=24025e4ecf88743e1b3d46451b0e3f9de4bbcba5 (commit)] and support for 82571 and 82572 controllers [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=868d5309942927dc86f57009420c5d366ec05daa (commit)] |
Line 100: | Line 111: |
===== 2.6.14 ===== * Released October 27, 2005 [http://kernel.org/pub/linux/kernel/v2.6/ChangeLog-2.6.14 changelog] * '''Kernel Core changes''' * Numa-aware slab allocator: It creates slabs on multiple nodes and manages slabs in such a way that locality of allocations is optimized. Each node has its own list of partial, free and full slabs. All object allocations for a node occur from node specific slab lists [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e498be7dafd72fd68848c1eef1575aa7c5d658df (commit - benchmarks)] * Lazy page table copies in fork() for VMAs without anonymous pages (the ones with anonymous pages are still copied): Defer copying of ptes until fault time when it is possible to reconstruct the pte from backing store, speeding up fork() greatly specially for processes using lots of shared memory [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=d992895ba2b27cf5adf1ba0ad6d27662adc54c5e (commit)] * Add /proc/$PID/smaps: This file will shows how much memory is resident in each mapping. Useful for people who want to perform memory consumption analysis [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e070ad49f31155d872d8e96cab2142840993e3c0 (commit)] * Add /proc/$PID/numa_maps: This file will show on which nodes pages reside [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=6e21c8f145f5052c1c2fb4a4b41bee01c848159b (commit)] * Lock-free file descriptor look-up [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=ab2af1f5005069321c5d130f09cce577b03f43ef (commit)] - [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b835996f628eadb55c5fb222ba46fe9395bf73c7 (commit)] * Add TASK_NONINTERACTIVE task state bit to the cpu scheduler: It can be used by blocking points to mark the task's wait as "non-interactive". This does not mean the task will be considered a CPU-hog - the wait will simply not have an effect on the waiting task's priority - positive or negative alike [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=d79fc0fc6645b0cf5cd980da76942ca6d6300fa4 (commit)] * SELinux memory improvements: Reduce access rules memory usage by 20x [http://www.livejournal.com/users/james_morris/6197.html James Morris explanation] [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=782ebb992ec20b5afdd5786ee8c2f1b58b631f24 (commit)] * Spinlock consolidation [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=fb1c8f93d869b34cacb8b8932e2b83d96a19d720 (commit)] * Largefile support for accounting: The accounting subsystem in the kernel can not correctly handle files larger than 2GB. This fixes it by adding the O_LARGEFILE flag [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=6c9c0b52b8c6b68b05bb06efd7079a8fc5e9ba60 (commit)] * Detect soft lockups, new debug feature (CONFIG_DETECT_SOFTLOCKUP). When enabled then per-CPU watchdog threads are started, which try to run once per second. If they get delayed for more than 10 seconds then a callback from the timer interrupt detects this condition and prints out a warning message and a stack dump [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=8446f1d391f3d27e6bf9c43d4cbcdac0ca720417 (commit)] * Add kzalloc(): new function, it allows to obtain pre-zeroed memory [http://lwn.net/Articles/147014/ (LWN article)] [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=dd3927105b6f65afb7dac17682172cdfb86d3f00 (commit)] * Add schedule_timeout_{,un}interruptible() [http://lwn.net/Articles/149019 (LWN article)] [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=64ed93a268bc18fa6f72f61420d0e0022c5e38d1 (commit)] |
|
Line 116: | Line 112: |
* '''Architecture-specific''' * Four-level page table support for the ppc64 architecture: extends the usable user address range to 44 bits (16T). [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e28f7faf05159f1cfd564596f5e6178edba6bd49 (commit)] * Support hotplug cpu on 32-bit SMP powermacs: When a cpu is off-lined, it is put into sleep mode with interrupts disabled. It can be on-lined again by asserting its soft-reset pin, which is connected to a GPIO pin [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=31139971b3dc9fbb2e8a8572fb81e6e8470f363a (commit)] * ISA DMA suspend for x86/x86-64 [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=795312e763569ce4df67e7a0ca726a9901358fa2 (commit)] - [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=7dc24db1757f950f8bd21b7191106d4bf5134be7 (commit)] * '''Networking''' * [http://www.ietf.org/rfc/rfc2637.txt PPTP] (Point-to-Point Tunneling Protocol) conntrack support and NAT helper added to allow proper management of multiple NAT'd PPTP connections. PPTP, a Microsoft-designed protocol, is used in many places to provide VPN access due to the native support in Microsoft Windows. [http://en.wikipedia.org/wiki/PPTP Wikipedia article] [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=926b50f92a30090da2c1a8675de954c2d9b09732 (commit)] * DCCP: "Datagram Congestion Control Protocol". Datagram protocol (like UDP), but with a congestion control mechanism. [http://lwn.net/Articles/149756/ (LWN article)] Currently a [http://www.icir.org/kohler/dcp/draft-ietf-dccp-spec-11.txt RFC draft] [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=7c657876b63cb1d8a2ec06f8fc6c37bb8412e66c (commit)] * Implement SKB fast cloning: Protocols that make extensive use of SKB cloning, for example TCP, eat at least 2 allocations per packet sent as a result. To cut the kmalloc() count in half, we implement a pre-allocation scheme wherein we allocate 2 sk_buff objects in advance, then use a simple reference count to free up the memory at the correct time [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=d179cd12928443f3ec29cfbc3567439644bd0afc (commit)] * Add netlink connector: userspace <-> kernel space easy to use communication module which implements easy to use bidirectional message bus using netlink as its backend [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=7672d0b54411371e0b6a831c1cb2f0ce615de6dc (commit)], also a "async connector mode" [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=acd042bb2de50d4e6fb969281a00cc8b8b71e46d (commit)] * IPV6: Support several new sockopt / ancillary data in Advanced API [http://www.ietf.org/rfc/rfc3542.txt (RFC 3542)]: IPV6_RECVPKTINFO, IPV6_PKTINFO, IPV6_RECVHOPOPTS, IPV6_HOPOPTS, IPV6_RECVDSTOPTS, IPV6_DSTOPTS, IPV6_RTHDRDSTOPTS, IPV6_RECVRTHDR, IPV6_RTHDR, IPV6_RECVHOPOPTS, IPV6_HOPOPTS, IPV6_{RECV,}TCLASS [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=333fad5364d6b457c8d837f7d05802d2aaf8a961 (commit)] - [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=41a1f8ea4fbfcdc4232f023732584aae2220de31 (commit)] * '''Filesystems''' * [http://fuse.sourceforge.net/ FUSE]: Allows to implement a fully functional filesystem in a userspace program [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=d8a5ba45457e4a22aa39c939121efd7bb6c76672 (commit)] * [http://v9fs.sourceforge.net/ 9P support]: Linux port of the [http://www.cs.bell-labs.com/sys/doc/9.html Plan9]'s [http://plan9.bell-labs.com/sys/man/5/INDEX.html 9P protocol] [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=93fa58cb831337fdf5d36b3b913441100a484dae (commit)] * NTFS: Support journals ($Logfile) which have been modified by chkdsk. This means users can boot into Windows after we marked the volume dirty. The Windows boot will run chkdsk and then reboot. The user can then immediately boot into Linux rather than having to do a full Windows boot first before rebooting into Linux [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e7a1033b946f4f2622f2b338ab107f559aad542c (commit)] * [http://relayfs.sourceforge.net/ RelayFS]: Relayfs is just a bunch of per-cpu kernel buffers that can be efficiently written into from kernel code. These buffers are represented as files which can be mmap'ed and directly read from in user space. The purpose of this setup is to provide the simplest possible mechanism allowing potentially large amounts of data to be logged in the kernel and 'relayed' to user space." [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e82894f84dbba130ab46c97748c03647f8204f92 (commit)] * securityfs filesystem [http://lwn.net/Articles/153366/ (LWN article)] [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b67dbf9d4c1987c370fd18fdc4cf9d8aaea604c2 (commit)] * Enable atomic inode security labeling on ext3 and ext2: it enables atomic security labeling of newly created inodes by altering the fs code to invoke a new LSM hook to obtain the security attribute to apply to a newly created inode and to set up the incore inode security state during the inode creation transaction. This parallels the existing processing for setting ACLs on newly created inodes [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=5e41ff9e0650f327a6c819841fa412da95d57319 (commit)] - [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=10f47e6a1b8b276323b652053945c87a63a5812d (commit)] - [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=ac50960afa31877493add6d941d8402fa879c452 (commit)] * '''Drivers''' * SAS transport class [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=c7ebbbce366c02e5657ac6b6059933fe0353b175 (commit)] * Remove ACPI S4 BIOS support [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b01d8684e9e5b04270970c97df856d47668267e3 (commit)] * [http://ipw2100.sourceforge.net/ ipw2100] and [http://ipw2200.sourceforge.net/ ipw2200] wireless drivers (intel centrino) [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=2c86c275015c880e810830304a3a4ab94803b38b (commit)] - [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=43f66a6ce8da299344cf1bc2ac2311889cc88555 (commit)] * [http://hostap.epitest.fi/ HostAP]: Adds support to work as "Wireless Access Point" [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=ff1d2767d5a43c85f944e86a45284b721f66196c (commit)] * [http://www.hpl.hp.com/personal/Jean_Tourrilhes/Linux/Linux.Wireless.Extensions.html Wireless extensions] API update to version 19 [http://marc.theaimsgroup.com/?l=linux-netdev&m=112568599006559&w=2 (mail)] [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=6582c164f2b3b6e58d1f13c1c031b19ee691eb14 (commit)] * Initial radeon r300-based chips 3D support [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=414ed537995617f4cbcab65e193f26a2b2dcfa5e (commit)] * PCI: Support PCI PM CAP version 3 [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=3fe9d19f9e86a55679f5f2b38ec0a43a1a510cee (commit)] * Keys: Add possessor permissions to keys. It adds extra permission grants to keys for the possessor of a key in addition to the owner, group and other permissions bits. This makes SUID binaries easier to support without going as far as labelling keys and key targets using the LSM facilities [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=664cceb0093b755739e56572b836a99104ee8a75 (commit)] * Driver for the IBM Hard Drive Active Protection System (HDAPS), an accelerometer found in most modern Thinkpads [http://lwn.net/Articles/155440/ (LWN article)] [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=860e1d6b46bd4cbc67d8d065f0f682143513382f (commit)] * Add Apple USB touchpad driver for the USB touchpad which can be found on post-February 2005 Apple Powerbooks [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=f7214ff4e8248513ec626212b2c1a3ca0b2a0888 (commit)] ==== 2.6.13 and older ==== |
==== 2.6.14 and older ==== |
Comprehensible changelog of the linux kernel, inspired by [http://wiki.dragonflybsd.org/index.php/DragonFly_Status Dragonfly's status]. Other places to get news about the linux kernel are [http://www.kernel-traffic.org Kernel traffic], [http://lwn.net/Kernel/ LWN kernel status], [http://lwn.net/Articles/driver-porting/ LWN driver porting guide] and [http://lwn.net/Articles/2.6-kernel-api/ LWN list of API changes in 2.6] - many articles here link to LWN and much of the 2.6.x changelog was restored from them (you may be be interested in subscribing so Jonathan can keep up the good work ). Before adding things here look at the RULES section at the end of the page!!
This page tracks the current stable and development releases. Changes made to older 2.6.x releases can be found in the Linux26Changes page.
2.6.16
STILL NOT RELEASED!
Kernel Core changes
Architecture-specific
Filesystems
Networking
Drivers
2.6.15
Released 3 January, 2006 (fifteen years and a day since Linus bought the machine that got Linux started) [http://kernel.org/pub/linux/kernel/v2.6/ChangeLog-2.6.15 changelog]
Kernel Core changes
VFS changes: The "shared subtree" patches have been merged. Shared subtree semantics provide the building blocks for features like per-user-namespace, "files as directories" and versioned filesystems [http://lwn.net/Articles/159077/ Detailed LWN article], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=blob;f=Documentation/sharedsubtree.txt Documentation], original [http://marc.theaimsgroup.com/?l=linux-fsdevel&m=110565591630267&w=2 Alexander Viro's RFC]. Patches:
beginning of the shared-subtree proper: A private mount does not forward or receive propagation. This patch provides user the ability to convert any mount to private [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=07b20889e3052c7e77d6a6a54e7e83446eb1ba8 (commit)]
introduce shared mounts: This creates shared mounts. A shared mount when bind-mounted to some mountpoint, propagates mount/umount events to each other. All the shared mounts that propagate events to each other belong to the same peer-group [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=03e06e68ff76294e53ffa898cb844d2a997b043e (commit)]
introduce slave mounts: A slave mount always has a master mount from which it receives mount/umount events. Unlike shared mount the event propagation does not flow from the slave mount to the master [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a58b0eb8e64b78d9315a5491955e78b1391d42e5 (commit)]
handling of shared mounts: This makes bind, rbind, move, clone namespace and umount operations aware of the semantics of slave mount [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=5afe00221389998a25d611dc7941c06580c29eb6 (commit)]
shared mount handling: bind and rbind: Implement handling of MS_BIND in presence of shared mounts [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b90fa9ae8f51f098ee480bbaabd6867992e9fc58 (commit)]
unbindable mounts: An unbindable mount does not forward or receive propagation. Bind semantics: It is invalid to bind mount an unbindable mount. Move semantics: It is invalid to move an unbindable mount under shared mount. Clone-namespace semantics: If a mount is unbindable in the parent namespace, the corresponding cloned mount in the child namespace becomes unbindable too. Note: there is subtle difference, unbindable mounts cannot be bind mounted but can be cloned during clone-namespace [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=9676f0c6389b62bd6b24d77d4b3abdbcfa32d0f2 (commit)]
shared mount handling: move: Implement handling of mount --move in presence of shared mounts [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=2144440327fa01b2f3f65e355120a78211685702 (commit)]
shared mount handling: umount: An unmount of a mount creates a umount event on the parent. If the parent is a shared mount, it gets propagated to all mounts in the peer group [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a05964f3917c7c55368c229d7985f8e7c9977e97 (commit)]
Page table scalability improvements: Currently, a single page table lock is used to protect all operations on an address space's page tables. This has been detected to cause scalability problems in large multiprocessor systems ej: 512-cpu SGI altix, specially in heavily multithreaded workloads (threads of a same process share the same address space and hence the same page table lock). With this patch, a separate spinlock per page-table page is used, to guard the page table entries in that page. Splitting the lock is not quite for free: another cacheline access. So for now enable it by config for machines with 4 or more CPUs. While this (and many other scalability changes) may look high-end oriented now, remember that cheap multi-core desktops CPUs are there. [http://lwn.net/Articles/157151/ (LWN article)] [http://marc.theaimsgroup.com/?l=linux-kernel&m=112603203327134&w=2 (benchmark vs SGI's "reduced locking by using atomic page table operations" non-merged approach)] [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=4c21e2f2441dc5fbb957b030333f5a3f2d02dea7 (commit)]
The page table scalability changes caused a [http://marc.theaimsgroup.com/?l=linux-kernel&m=113572611432619&w=2 small regression] with respect to maximum latency. If such regression affects you stick with 2.6.14 until it's [http://marc.theaimsgroup.com/?l=linux-kernel&m=113581076009061&w=2 fixed in future releases]
.text page fault SMP scalability optimization: This fixes a case where large systems wouldn't scale well while faulting in the .text. The reason was a useless overwrite of the same pte from all cpu [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=1a44e149084d772a1bcf4cdbdde8a013a8a1cfde (commit)]
Reorder struct files_struct: The file_lock spinlock sits close to mostly read fields of 'struct files_struct'. In SMP (and NUMA) environments, each time a thread wants to open or close a file, it has to acquire the spinlock, thus invalidating the cache line containing this spinlock on other CPUS. This patch microoptimizes this by moving the spinlock to another cache line, so that concurrent threads can share the cache line containing 'count' and 'fdt' fields. It's worth up to 9% on a microbenchmark using a 2-physical-4-virtual CPU [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=95e861db3eaba7bc99f8605db70103ec3d078203 (commit)]
Swaptoken tuning: It turns out that the original swap token implementation, by Song Jiang, only enforced the swap token while the task holding the token is handling a page fault, this patch approximates that, like the page fault code does. It has the effect of automatically, and gradually, disabling the enforcement of the swap token when there is little or no paging going on, and "turning up" the intensity of the swap token code the more the task holding the token is thrashing [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=fcdae29aa7a5c79f245110f6680afdc1858d3626 (commit)]
Demand faulting for huge pages [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=4c887265977213985091476be40ab11dfdcb4caf (commit)]
Add generic memory add/remove and supporting functions for memory hotplug [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=3947be1969a9ce455ec30f60ef51efb10e4323d1 (commit)]
"Cooperating processes" for the anticipatory I/O scheduler: Introduce the notion of cooperating processes (those that submit requests close to one another), and use these statistics to make better choices about whether or not to do anticipatory waiting [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=f5b3db0017f8415301f3427b30263186e8478c3f (commit)]
Generic dispatch queue: Implements generic dispatch queue which can replace all dispatch queues implemented by each iosched [http://marc.theaimsgroup.com/?l=linux-kernel&m=112238633622498&w=2 (mailing list)] [http://lwn.net/Articles/157208/ (LWN article)] [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=8922e16cf6269e668123acb1ae1fdc62b7a3a4fc (commit)]
Reimplement elevator online switching code [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=cb98fc8bb9c141009e2bda99c0db39d387e142cf (commit)]
Process Events Connector: It reports fork, exec, id change, and exit events for all processes to userspace. Applications that may find these events useful include accounting/auditing (e.g. ELSA), system activity monitoring (e.g. top), security, and resource management (e.g. CKRM) [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=9f46080c41d5f3f7c00b4e169ba4b0b2865258bf (commit)]
RCU torture-testing kernel module: This adds a tristate CONFIG_RCU_TORTURE_TEST, which enables an intense torture test of the RCU infrastructure. This is needed for testing due to the continued changes to the RCU infrastructure [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a241ec65aeac3d69a08a7b153cccbdb7ea35063f (commit)]
Driver Core: add the ability for class_device structures to be nested: Allows struct class_device to be nested, so that another struct class_device can be the parent of a new one, instead of only having the struct class be the parent [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=51d172d5f3a193e4b8f76179b2e55d7a36b94117 (commit)] and add uevent sysfs attribute to re-emit device hotplug events [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a7fd67062efc5b0fc9a61368c607fa92d1d57f9e (commit)]. Also, introduce struct platform_driver (allows the platform device driver methods to be passed a platform_device structure instead of instead of a plain device structure, and therefore requiring casting in every platform driver) [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=00d3dcdd96646be6059cc21f2efa94c4edc1eda5 (commit)]. Due to some of those changes, only udev versions 071 or higher will be able to run in 2.6.15.
Implement nice support across physical cpus on SMP to obtain good distribution of tasks of different nice values [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b910472dd3b7c1d51af9a594a759f642520c33e1 (commit)]
make /proc/mounts pollable [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=5addc5dd8836aa061f6efc4a0d9ba6323726297a (commit)]
SELinux: Enables files created on a MLS-enabled SELinux system to be accessible on a non-MLS SELinux system [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e517a0cd859ae0c4d9451107113fc2b076456f8f (commit)]
Add LSM hooks for key management facilities (see link) [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=29db9190634067c5a328ee5fcc2890251b836b4b (commit)]
Add vmalloc_node(size, node) (allocate necessary memory on the specified node) and get_vm_area_node(size, flags, node) [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=930fc45a49ddebe7555cc5c837d82b9c27e65ff4 (commit)]
SHM_NORESERVE flags for shmget(): Similar to MAP_NORESERVE for shared memory segments. This is mainly to avoid abuse of OVERCOMMIT_ALWAYS and this flag is ignored for OVERCOMMIT_NEVER [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=bf8f972d3a1daf969cf44f64cc36d53bfd76441f (commit)]
Add vm_insert_page() to use for drivers, which need to insert individual pages into a user vma without the hassles of PAGE_RESERVED [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a145dd411eb28c83ee4bb68b66f62c326c0f764e (commit)]
Architecture-specific
x86-64: Add a new 4GB GFP_DMA32 zone between the GFP_DMA and GFP_NORMAL zones. Full details in the commit link [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a2f1b424900715ed9d1699c3bb88a434a2b42bc0 (commit)]
i386: generic cmpxchg. Makes cmpxchg generally available on the i386 platform, providing emulation of cmpxchg suitable for uniprocessor if built and run on 386 - necessary for multithreaded environments with libraries using cmpxchg [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=53e86b91b7ae66d4c2757195cbd42e00d9199cf2 (commit)]
x86-64: Support for AMD specific MCE Threshold. DRAM Errors Threshold Register realized under AMD K8 Rev F, this register is used to count correctable and uncorrectable ECC errors that occur during DRAM read operations. The user may interface through sysfs files in order to change the threshold configuration [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=89b831ef8bf5cfbb357dbc0a2e07700d7f20eec5 (commit)]
x86-64: Support ULI/ALI 1689 bridge [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=870b7681cd3f867c1ffc8d7fbe9b22216e73a536 (commit)]
x86 hot plug CPU support of physical add of new processors (hotplug disable/enable of already existing CPUs was already supported) [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=9f40a72a7e819789f66910c8cd60aab005cdb413 (commit)]
Support for shared HPET interrupts: The driver previously acknowledged interrupts for both edge and level interrupts, but didn't actually allow a shared interrupt in the latter case [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=0d29086177aaa1e7d14e6ebb7fc067b3ca6d5c11 (commit)]
ppc64: support 64k pages. Adds a new CONFIG_PPC_64K_PAGES which, when enabled, changes the kernel base page size to 64K. The resulting kernel still boots on any hardware. On current machines with 4K pages support only, the kernel will maintain 16 "subpages" for each 64K page transparently [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=3c726f8dee6f55e96475574e9f645327e461884c (commit)]
ppc64: CPU freq support using 970FX powertune facility for iMac G5 and SMU based single CPU desktop [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=4350147a816b9c5b40fa59e4fa23f17490630b79 (commit)]
ppc64: Adds the ability to the SMU driver to recover missing calibration partitions from the SMU chip itself. It also adds some dynamic mechanism to /proc/device-tree so that new properties are visible to userland [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=183d020258dfd08178a05c6793dae10409db8abb (commit)]
ppc64: This adds a new thermal control framework for Powermac, along with the implementation for Powermac8,1, Powermac8,2 (iMac G5 rev 1 and 2), and Powermac9,1 (latest single CPU desktop) [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=75722d3992f57375c0cc029dcceb2334a45ceff1 (commit)]
ppc: add support for new powerbooks (late 2005 edition). This enables the ATA controller, Gigabit ethernet and basic AGP setup. Bluetooth works out-of-the box after running hid2hci. Still remaining is to get the touchpad to work [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=7fce260a6bf75080ef61408504add5618f90e41b (commit)]
ARM: Add the infrastructure to support hotplug CPU [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a054a811597a17ffbe92bc4db04a4dc2f1b1ea55 (commit)], support for local timers [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=37ee16ae93a3e4ae7dd51beb81d249f5f12a55c2 (commit)] and optimized SHA1 implementation [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=c09f98271f685af349d3f0199360f1c0e85550e0 (commit)]
ARM: Adds support for omap24xx series of processors [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=1dbae815a724303b46ab4663b5fc23c13e9d9690 (commit)]
ARM: NSLU2 machine support [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a7918f39bbe59fe76f43743bdb6bb8b0bdefd94a (commit)]
IA64: 4-level page table support [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=837cd0bdf54dd954cd6aa43d250f75ab5db79617 (commit)]
MIPS: 4-level page table support [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=c6e8b587718c486b55c2ebecc6de231a30beba35 (commit)]
MIPS updates: resurrect Cobalt support for 2.6 [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=c4ed38a0c6e2e5c4906296758f816ee71373792f (commit)], Base Au1200 support [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e3ad1c23ba72214669b364c6fa304531dc768c3e (commit)], support for BCM1480 family of chips [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=f137e463b50aadba91bd116f99c59ccb9c15a12f (commit)]
Add support for SharpSL Zaurus power and battery management core driver [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=078abcf95cdb95c78d786dbc61ae3c22ee70fb61 (commit)], add support for the Sharp SL-6000x (Tosa) series of PDAs [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=8459c159f7de832eaf888398d2abf466c388dfa6 (commit)] and add support for its MMC, IRDA and UDC devices, also add a platform device for the keyboard driver [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a93876c16275376c4f9f1630ce24036d329fa7a0 (commit)], support for sharp zaurus SL-5500 touchscreen [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=1753298947afe5eb56da755bc057f1868f345ec1 (commit)] and its PCMCIA slot [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=77bb86a1b9f8b872d8efc33c4f4359f809220252 (commit)]; add Akita (SL-C1000) machine support [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=94cabd003e989556d8bf84027d96284dc2d99c76 (commit)], add PM device driver for the SL-Cx00 [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e8b6f7f437a624fc2e2a2ec92fbeffdcf6f0e11e (commit)] and SL-C7x0 [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=d72f25b0dfb0807bd758da56a7ed88c0eb6e70d8 (commit)] machines.
Superhyway support for SH4-202 [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=d5cb9783536a41df9f9cba5b0a1d78047ed787f7 (commit)]
Add support for the AMCC PowerPC 440SPe SoC, including PCI Express in root port mode [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b0f7b8bc57ee90138a7c429951457027a90c326f (commit)]
Filesystems
NTFS write support: NTFS finally implements write support so "vim /ntfs/foo.txt" works. You can write(2) to a file even beyond the end of the existing file. Resident non-resident files and are supported. Sparse files can also be written and holes will be filed appropriately. truncate(2), ftruncate(2) and open(2) with O_TRUNC flag also works. There're some limitations with heavily fragmented files which you won't be allowed to change. Also, notice that creation/deletion of files and directories is still not supported and mmap(2) based writes is still not complete [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=98b270362bb9ea6629732e7f5b65b8a6ce4743c7 (commit)]
Big CIFS update: Lots of performance improvements, support for mounting older pre-CIFS servers such as windows 9x and Me [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a10faeb2a3e266385cc334fe9af76e08e5e4330f (commit)], mount option for disabling the default behavior of sending byte range lock requests to the server [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=c46fa8acdc533e8084359ea11c79d56eb98313fb (commit)], add filesystem notification changes [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=8d0d50948b276b46b75b1b5855d3f9fab1e0fd92 (commit)], finish cifs mount option which requests case insensitive path name matching [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=d3485d37c0b3292aec0618b6663c57542df5da99 (commit)], suspend support [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=ede1327ea4ca8019ec6df24b3e837def091c26b8 (commit)]
Networking
IPv4/IPv6: UFO (UDP Fragmentation Offload) Scatter-gather approach: UFO is a feature wherein the Linux kernel network stack will offload the IP fragmentation functionality of large UDP datagram to hardware. This will reduce the overhead of stack in fragmenting the large UDP datagram to MTU sized packets [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e89e9cf539a28df7d0eb1d0a545368e9920b34ac (commit)]
Randomize the port selected on bind() for connections to help with possible security attacks. It should also be faster in most cases because there's no need for a global lock [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=6df716340da3a6fdd33d73d7ed4c6f7590ca1c42 (commit)]
Add nf_conntrack subsystem: The existing connection tracking subsystem in netfilter can only handle ipv4. There were two choices present to add connection tracking support for ipv6, we could either duplicate all of the ipv4 connection tracking code into an ipv6 counterpart, or (the choice taken by these patches) we could design a generic layer that could handle both ipv4 and ipv6 and thus requiring only one sub-protocol (TCP, UDP, etc.) connection tracking helper module to be written. In fact nf_conntrack is capable of working with any layer 3 protocol [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=9fb9cbb1082d6b31fb45aa1a14432449a0df6cf1 (commit)]
Generic netlink family: The generic netlink family builds on top of netlink and provides simplifies access for the less demanding netlink users. It solves the problem of protocol numbers running out by introducing a so called controller taking care of id management and name resolving [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=482a8524f85a7d8c40c6fb5d072e85bc2fef327f (commit)]; and a new type-safe interface for netlink messages and attribute handling. The interface is fully binary compatible with the old interface towards userspace. Besides type safety, this interface features attribute validation capabilities, simplified message construction, and documentation [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=bfa83a9e03cf8d501c6272999843470afecb32ed (commit)]
Add "revision" support for having multiple revisions for each match/target in arp_tables and ip6_tables [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=6b7d31fcdda5938e5d3f1f8b0922cc25aa200dfc (commit)]
PPP MPPE encryption module, it implements the Microsoft Point-to-Point Encryption method as a PPP compressor/decompressor. This is necessary for Linux clients and servers to interoperate with Microsoft Point-to-Point Tunneling Protocol (PPTP) servers (either Microsoft PPTP servers or the poptop project) which use MPPE to encrypt data when creating a VPN [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b3f9b92a6ec1a9a5e4b4b36e484f2f62cc73277c (commit)]
Appropriate Byte Count support [http://www.ietf.org/rfc/rfc3465.txt (RFC 3465)]. ABC is a way of counting bytes ack'd rather than packets when updating congestion control [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=9772efb970780aeed488c19d8b4afd46c3b484af (commit)]
IPV6: [http://www.ietf.org/rfc/rfc3484.txt RFC 3484] compliant source address selection [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=072047e4de3800905e09d0f8ef0e1cc4e91a601e (commit)]
Wireless updates: Hardware crypto and fragmentation offload support [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=f1bf6638af9e9bbbb6fb0b769054fb7db1ae652f (commit)], QoS (WME) support [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=9e8571affd1c54b9638b4ff9844e47aae07310f6 (commit)], "wireless spy support" [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=74079fdce472a2b16d502fe39e06b135ef06c69b (commit)], mixed PTK/GTK CCMP/TKIP support [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=ccd0fda3a6d9186d067893114f65b8df758d5a1f (commit)] and WE-19 HostAP support [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=c28df16ed70d1b6cefd12135e3c68bfccd1bb635 (commit)]
Speed up SACK processing: Use "hints" to speed up the SACK processing. Various forms of this have been used by TCP developers (Web100, STCP, BIC) to avoid the 2x linear search of outstanding segments [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=6a438bbe68c7013a42d9c5aee5a40d7dafdbe6ec (commit)]
Drivers
libata: Add support for ATA passthru (arbitrary ATA command execution, necessary for SMART support) [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b095518ef51c37658c58367bd19240b8a113f25c (commit)], C/H/S support for older devices [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=8bf62ecee58360749c5f0e68bc97d5e02a6816b1 (commit)], support for Silicon Image 3131/3531 controllers [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=042c21fd2c3aa553907020131caa553a9da24589 (commit)], Marvell SATA family (DMA mode) [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=31961943e3110c5a1c36b1e0069c29f7c4380e51 (commit)] and Promise SATA 300 TX2plus PDC40775 [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=c45154a3b1fecdbb51b5462c9f730b44e62b83a5 (commit)]
IDE support for: AMD Geode GX/LX [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=7fab773de16ccaeb249acdc6e956a9759c68225d (commit)], CS5535 [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=f5b2d8b4b5146fa2d70fec7d514fa0bd64636958 (commit)] and M3A-2170(Mappi-III) board on the m32r architecture [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=ad09d583106fadfdf751926107cfe35fba6bdbd4 (commit)]
IDE support on the Sibyte Swarm evaluation boards and it's relatives for the BCM1250 family of system on a chip [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=4237f229018ccf937578dee97565a49d712809e8 (commit)]
IDE via82cxxx driver: support multiple controllers in the same system [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=7462cbff7d4c2dc0d182613fb4e801efb29b90ac (commit)] and remove /proc/via file: The same date can be got from this userspace program: [http://www.reactivated.net/software/viaideinfo/ http://www.reactivated.net/software/viaideinfo/] [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=861e76a8ab7ba64a74c567fa8c4d1d38c4dfdd24 (commit)]. Also, add support for VIA VT6410 [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=4f1d774aadfc5a6ed1545dca180f66ab6d0f543d (commit)]
sis5513: enable ATA133 for the sis 965 southbridge [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=14351f8e573442e2437d4b177fa10075aaefd5c9 (commit)]
Input: add Wistron driver present in fujitsu-siemens Amilo Pro V2000, Xeron Sonicpro X 155G and Acer Aspire 1500 notebooks. The driver also allows enabling/disabling the embedded wireless NIC (using the "Wifi" button) [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=5fc1468029e2a4da90ded1e0e2cdd94fbdf83bac (commit)]
e1000: Implementation of the multi-queue feature [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=24025e4ecf88743e1b3d46451b0e3f9de4bbcba5 (commit)] and support for 82571 and 82572 controllers [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=868d5309942927dc86f57009420c5d366ec05daa (commit)]
tg3: add complete support for 5714/5715 [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a4e2b347848bf626b822599329933887dc90e50f (commit)]
Add sysfs support for ide tape [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=d5dee80ad69439ad8dccf8fa4d7fed0068aec9cf (commit)], raid5 [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=3f294f4fb6f2ba887b717674da26c21f3d57f3fc (commit)], md [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=eae1701fbd264cfc7efbaf7cd4cd999760070e27 (commit)], [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=86e6ffdd243a06663713e637ee683fb27dce8e0c (commit)]
fbcon: Add support for console rotation. Can be enabled with a boot option fbcon=rotate:n, where n = 0 - normal, n = 1 - 90 degrees (clockwise), n = 2 - 180 degrees (upside down), n = 3 - 270 degrees (counterclockwise); or at runtime with "echo n > /sys/class/graphics/fb[num]/con_rotate" to set the angle of rotation of the current console or "echo n > /sys/class/graphics/fb[num]/con_rotate_all" to set the angle of rotation globally [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e4fc27618b75234b721c4a13d0e0d9d07e75e641 (commit)]
Support for the Artemis and ATIK astronomical based USB CCD cameras [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=c9c7746dd333c12f482af2f1e63ea7eafc7cd529 (commit)]
USB: delete the bluetty driver [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a6c82600d4058346ea6fd801bc21d7abcc1350d8 (commit)]
Nvidia Geforce 7800 series (7800, 7800 GTX, 7800 GO and 7800 GTX GO cards) framebuffer support [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=7015faa7df829876a0f931cd18aa6d7c24a1b581 (commit)], add radeon PCI Express support to complete the support for newest radeon cards along with the r300 3d initial support which went into 2.6.14 [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=ea98a92ff18c03bf7f4d21536986cbbcb4c10cd9 (commit)], Matrox mystique AGP support [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=63921fbfbd87ec745e65d2e9aecdfdc9a4ce73f2 (commit)], add partial support for GMA900 within the i915GM chipset [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=3a59026ba111d85b1a86af0f1c4e5a8ef1242d82 (commit)]
MPC8xx PCMCIA support (PowerPC 8xx series PCMCIA controller) [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=de957c89b7dadb3147e885d7b6eb9db73d0eea57 (commit)]
Adds a RapidIO subsystem to the kernel. RIO is a switched fabric interconnect used in higher-end embedded applications [http://www.rapidio.org http://www.rapidio.org] [http://lwn.net/Articles/139118/ (LWN article)] [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=394b701ce4fbfde919a9bcbf84cb4820a7c6d47c (commit)]
MTD: add Resident Flash Disk (RFD) support. This type of flash translation layer (FTL) is used by the Embedded BIOS by General Software. [http://www.gensw.com/pages/prod/bios/rfd.htm http://www.gensw.com/pages/prod/bios/rfd.htm] [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e27a9960af0506d84b9ca9dd3874b7d88901f230 (commit)] and add initial support for OneNAND flash chips, a new flash technology from Samsung with integrated SRAM buffers and logic interface [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=cd5f6346bc28a41375412b49b290d22ee4e4bbe8 (commit)]
Support for SA1100 Jornada flash device support [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=183e1a349466a1b90430a58f3efad25a3e555cb2 (commit)]
Support the SMC9111 networking device present on DB1200 boards [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=557934554655ac119d96a1bdb6ed75319bb9d1b1 (commit)]
New Omnikey Cardman 4040 [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=77c44ab1d8e9da31bf927223e1579b44f772b579 (commit)] and 4000 [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=c1986ee9bea3d880bcf0d3f1a31e055778f306c7 (commit)] smartcard reader driver
2.6.14 and older
See Linux26Changes
Rules:
- Name of the new feature/description of the change, including a small explanation if possible
- If its a feature and the feature has some web page add a link to it
If there's a paper (OLS!) or an article add a link to it. Or write one
If there's a interesting mail (benchmarks, announcements if there's no web page, etc) about it in the mailing list, get a link in one of the list's archives (at [http://marc.theaimsgroup.com/?l=linux-kernel http://marc.theaimsgroup.com/?l=linux-kernel] please) and add the link here
- Add commit's link if possible. For commits add a "(commit)" word and add the link there. Don't add the commit link to another word (please).
Searching commits for a given feature is easy using the [http://www.kernel.org/git git web interface]
There're two main GIT trees where you can search for commits: [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git the one which has all the stuff committed after 2.6.12-rc2] and [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git the one which has all the stuff BEFORE 2.6.12-rc2]
There's a [http://vger.kernel.org/vger-lists.html#git-commits-head git-commits-head mailing list] where all the commit diffs and git IDs are posted, you subscribe or search the [http://marc.theaimsgroup.com/?l=git-commits-head archives]
TODO:
Import relevant data from [http://kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.14-rc5/2.6.14-rc5-mm1/broken-out/post-halloween-doc.patch davej's post halloween document] or remaining stuff from [http://kernelnewbies.org/status/latest.html Kernelnewbies status]
- Find links to corresponding changesets (!!)
- Keep track of what gets changed