20610
Comment:
|
32619
|
Deletions are marked like this. | Additions are marked like this. |
Line 1: | Line 1: |
The purpose of this page is tracking and explaining the features added in every release, just like the [http://wiki.dragonflybsd.org/index.php/DragonFly_Status Dragonfly people did]. It'd be nice if kernel hackers would spend some minutes adding their stuff here. The one place where you can find a comparable changelog are the fabulous LWN kernel articles: http://lwn.net/Kernel/, or the [http://lwn.net/Articles/driver-porting/ driver porting guide] - but there's no reason why the kernel community shouldn't embrace and extend those efforts ;) TODO: * Import relevant data from [http://www.codemonkey.org.uk/post-halloween-2.5.txt davej's post halloween document] * Find links to corresponding changesets (!!) * Keep track of what gets changed * Import [http://kernelnewbies.org/status/latest.html Kernelnewbies status] list (done - some "post-2.6.0" stuff perhaps) 2.6.14 '''STILL NOT RELEASED''': * [http://fuse.sourceforge.net/ FUSE]: FUSE allows to implement a fully functional filesystem in a userspace program * [http://v9fs.sourceforge.net/ 9P support]: Linux port of the famous [http://www.cs.bell-labs.com/plan9dist/ Plan9]'s 9P protocol * ipw2100 and ipw2200 wireless drivers * [http://hostap.epitest.fi/ HostAP]: Adds support to work as "Wireless Access Point" * [http://www.hpl.hp.com/personal/Jean_Tourrilhes/Linux/Linux.Wireless.Extensions.html Wireless extensions] API update * Four-level page table support for the ppc64 architecture * [http://lwn.net/Articles/149756/ DCCP]: "Datagram Congestion Control Protocol". Datagram protocol (like UDP), but with a congestion control mechanism. Currently a [http://www.icir.org/kohler/dcp/draft-ietf-dccp-spec-11.txt RFC draft] * [http://relayfs.sourceforge.net/ RelayFS]: "Basically 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." 2.6.13: |
Comprehensible changelog of the linux kernel, inspired by [http://wiki.dragonflybsd.org/index.php/DragonFly_Status Dragonfly's status]. Another good places to get more information about the linux kernel are [http://www.kernel-traffic.org Kernel traffic] and [http://www.lwn.net LWN] and their [http://lwn.net/Kernel/ "kernel status" articles], [http://lwn.net/Articles/driver-porting/ driver porting guide] and the [http://lwn.net/Articles/2.6-kernel-api/ API changes in 2.6] - many of the links here are linking to LWN articles and we wouldn't have been able to restore the 2.5.x-2.6.x changelog without them (you may be insterested 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!! (send a mail if you think something is missing here and you don't want to/can't create an account) ===== 2.6.14 ===== * '''STILL NOT RELEASED!!''' * Numa-aware slab allocator [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(): 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: 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)] * 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)] * PPTP (Point-to-Point Tunneling Protocol) support: [http://www.ietf.org/rfc/rfc2637.txt RFC 2637]. Used to implement VPN products (notably, Microsoft in all the Windows versions). [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)] * [http://fuse.sourceforge.net/ FUSE]: Allows to implement a fully functional filesystem in a userspace program * [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)] * 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)] * [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)] * 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)] * 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)] * Suspend support for CIFS filesystem [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=ede1327ea4ca8019ec6df24b3e837def091c26b8 (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://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=6582c164f2b3b6e58d1f13c1c031b19ee691eb14 (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)] * 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)] ===== 2.6.13 ===== * Released August 29, 2005 [http://www.kernel.org/pub/linux/kernel/v2.6/ChangeLog-2.6.13 changelog] * Execute-in-place support: Traditionally, programs are loaded from disk to memory to be executed. However, the current wave of embedded devices store programs in a ROM/flash chip. XIP allows the kernel executing programs directly from that ROM, without being copied to RAM (saving RAM space), and bypassing the page cache/io scheduler layers (since they're not needed). [http://lwn.net/Articles/135472/ (LWN article)] |
Line 25: | Line 30: |
* [http://lwn.net/Articles/104343/ inotify] | * Voluntary preemption patches * build-time configurable clock interrupt frequency: Now HZ defaults to 256 in x86. 1000 is better for "interactivity" (desktops) and 100 is good for performance (servers) and saves some energy in laptops. [http://lwn.net/Articles/145973/ (LWN article)] * inotify [http://lwn.net/Articles/104343/ (LWN article)] [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=0eeca28300df110bd6ed54b31193c83b87921443 (commit)] |
Line 27: | Line 34: |
* [http://lwn.net/Articles/108595/ kexec and kdump]: Kexec allows users to load a new kernel from another running kernel. By preserving the memory contents in a crash scenario, kexec allows to implement kdump. Kdump is able to get a memory dump of the previous kernel, and be used as a debugging tool. * [http://lwn.net/Articles/135472/ Execute-in-place support]: Traditionally, programs are loaded from disk to memory to be executed. However, the current wave of embedded devices store programs in a ROM/flash chip. XIP allows the kernel executing programs directly from that ROM, without being copied to RAM (saving RAM space), and bypassing the page cache/io scheduler layers (since they're not needed). * [http://lwn.net/Articles/145973/ build-time configurable clock interrupt frequency]: * [http://lwn.net/Articles/143474/ Improved CFQ IO scheduler]: With support for I/O priorities * Voluntary preemption patches |
* Improved CFQ IO scheduler: With support for I/O priorities [http://lwn.net/Articles/143474/ (LWN article)] * kexec and kdump: Kexec allows users to load a new kernel from another running kernel. By preserving the memory contents in a crash scenario, kexec allows to implement kdump. Kdump is able to get a memory dump of the previous kernel, and be used as a debugging tool. [http://lwn.net/Articles/108595/ (LWN article)] * Runtime selectable TCP congestion algorithm: Allow using setsockopt to set TCP congestion control to use on a per socket basis. [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=5f8ef48d240963093451bcf83df89f1a1364f51d (commit)] - [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=317a76f9a44b437d6301718f4e5d08bd93f98da7 (commit)] * Add several TCP congestion modules: H-TCP [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a7868ea68d29eb2c037952aeb3b549cf05749a18 commit], TCP Hybla [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=835b3f0c0d7e1f716c45ec576662eac7a68b8548 (commit)], High Speed TCP (HS-TCP) [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a628d29b56d3f420bf3ff1d7543a9caf3ce3b994 (commit)], TCP Westwood [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=8727076289ec55298a05cabddf02b374d13c1624 (commit)], TCP BIC [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=83803034f4233d810c4adc52008921da060c55d1 (commit)] |
Line 34: | Line 40: |
2.6.12: * [http://lwn.net/Articles/140164/ API changes] |
===== 2.6.12 ===== * Released June 17, 2005 [http://www.kernel.org/pub/linux/kernel/v2.6/ChangeLog-2.6.12 changelog] |
Line 39: | Line 45: |
* [http://lwn.net/Articles/124703/ device mapper multipath support] * [http://lwn.net/Articles/121845/ Address space randomization] |
* Device mapper multipath support [http://lwn.net/Articles/124703/ (LWN article)] * Address space randomization [http://lwn.net/Articles/121845/ (LWN article)] |
Line 43: | Line 49: |
* [http://lwn.net/Articles/134460/ "resource limits"] * [http://lwn.net/Articles/127936/ cpusets] |
* "resource limits" [http://lwn.net/Articles/134460/ (LWN article)] * Cpusets [http://lwn.net/Articles/127936/ (LWN article)] |
Line 49: | Line 55: |
2.6.11: * [http://lwn.net/Articles/117749/ Conversion to 4-level page tables] * [http://lwn.net/Articles/112531/ Infiniband support] |
===== 2.6.11 ===== * Released March 2, 2005 [http://www.kernel.org/pub/linux/kernel/v2.6/ChangeLog-2.6.11 changelog] * Conversion to 4-level page tables [http://lwn.net/Articles/117749/ (LWN article)] * Infiniband support [http://lwn.net/Articles/112531/ (LWN article)] |
Line 55: | Line 62: |
* [http://lwn.net/Articles/115405/ DebugFS] * [http://lwn.net/Articles/118750/ New Pipe implementation] * [http://lwn.net/Articles/102253/ "Big Kernel Sempahore"] 2.6.10: * [http://lwn.net/Articles/109505 Reworking of spin lock initialization] |
* DebugFS [http://lwn.net/Articles/115405/ (LWN article)] * New Pipe implementation [http://lwn.net/Articles/118750/ (LWN article)] * "Big Kernel Semaphore" [http://lwn.net/Articles/102253/ (LWN article)] ===== 2.6.10 ===== * Released December 24, 2004 [http://www.kernel.org/pub/linux/kernel/v2.6/ChangeLog-2.6.10 changelog] * Reworking of spin lock initialization [http://lwn.net/Articles/109505 (LWN article)] |
Line 64: | Line 72: |
* [http://lwn.net/Articles/107314/ generic circular buffer type] * Ext3 block reservation and online resizing patches * [http://lwn.net/Articles/69523/ sysfs backing store] * [http://lwn.net/Articles/103183/ I/O space write barriers] * On-the-fly switchable I/O schedulers |
* Generic circular buffer type [http://lwn.net/Articles/107314/ (LWN article)] * Ext3 block reservation [http://lwn.net/Articles/81357/ (LWN article)] and online resizing patches [http://lwn.net/Articles/89560/ (LWN article)] * sysfs backing store [http://lwn.net/Articles/69523/ (LWN article)] * I/O space write barriers [http://lwn.net/Articles/103183/ (LWN article)] * Modular, on-the-fly switchable I/O schedulers [http://lwn.net/Articles/102976/ (LWN article)] |
Line 74: | Line 82: |
2.6.9: * [http://lwn.net/Articles/96621 Token-based thrashing control] |
===== 2.6.9 ===== * Released October 19, 2004 [http://www.kernel.org/pub/linux/kernel/v2.6/ChangeLog-2.6.9 changelog] * Token-based thrashing control [http://lwn.net/Articles/96621 (LWN article)] |
Line 82: | Line 91: |
* [http://lwn.net/Articles/97537/ Out-of-line spinlocks] | * Out-of-line spinlocks [http://lwn.net/Articles/97537/ (LWN article)] |
Line 85: | Line 94: |
* [http://lwn.net/Articles/91829/ "flex mmap" user-space memory layout] | * "flex mmap" user-space memory layout [http://lwn.net/Articles/91829/ (LWN article)] |
Line 91: | Line 100: |
* [http://lwn.net/Articles/101215/ NETIF_F_LLTX interface] | * NETIF_F_LLTX interface [http://lwn.net/Articles/101215/ (LWN article)] |
Line 107: | Line 116: |
2.6.8: | ===== 2.6.8 ===== * Released August 14, 2004 [http://www.kernel.org/pub/linux/kernel/v2.6/ChangeLog-2.6.8 changelog] |
Line 111: | Line 121: |
* [http://lwn.net/Articles/91959/ reworked symbolic link lookup implementation] | * Reworked symbolic link lookup implementation [http://lwn.net/Articles/91959/ (LWN article)] |
Line 114: | Line 124: |
* Support for new Apple PowerBooks | * Support for new Apple Powerbooks |
Line 122: | Line 132: |
* [http://lwn.net/Articles/98379/ Added permissions checking on raw SCSI commands from user space] | * Added permissions checking on raw SCSI commands from user space [http://lwn.net/Articles/98379/ (LWN article)] |
Line 130: | Line 140: |
2.6.7: * [http://lwn.net/Articles/80911/ Scheduling Domains] * [http://lwn.net/Articles/83633/ Filtered Wakeups] |
===== 2.6.7 ===== * Released June 16, 2004 [http://www.kernel.org/pub/linux/kernel/v2.6/ChangeLog-2.6.7 changelog]: * Scheduling Domains [http://lwn.net/Articles/80911/ (LWN article)] * Filtered Wakeups [http://lwn.net/Articles/83633/ (LWN article)] |
Line 135: | Line 146: |
* [http://lwn.net/Articles/84836/ del_singleshot_timer()]: Deleting timers quickly | * del_singleshot_timer(): Deleting timers quickly [http://lwn.net/Articles/84836/ (LWN article)] |
Line 142: | Line 153: |
2.6.6: * [http://lwn.net/Articles/80472/ full object-based reverse-mapping scheme and removal of the per-page PTE chains] |
===== 2.6.6 ===== * Released May 10, 2004 [http://www.kernel.org/pub/linux/kernel/v2.6/ChangeLog-2.6.6 changelog] * full object-based reverse-mapping scheme and removal of the per-page PTE chains [http://lwn.net/Articles/80472/ (LWN article)] |
Line 148: | Line 160: |
* [http://lwn.net/Articles/77190/ addition of the fcntl() method to the file_operations structure] * [http://lwn.net/Articles/65437/ "Laptop Mode"] |
* Addition of the fcntl() method to the file_operations structure [http://lwn.net/Articles/77190/ (LWN article)] * Laptop Mode [http://lwn.net/Articles/65437/ (LWN article)] |
Line 154: | Line 166: |
* [http://lwn.net/Articles/79326/ The lightweight auditing framework] | * The lightweight auditing framework [http://lwn.net/Articles/79326/ (LWN article)] |
Line 156: | Line 168: |
* [http://lwn.net/Articles/75233/ "per-device unplugging patch"] | * "per-device unplugging patch" [http://lwn.net/Articles/75233/ (LWN article)] |
Line 162: | Line 174: |
2.6.5: * [http://lwn.net/Articles/75944 Netpoll infrastructure] * [http://lwn.net/Articles/75920 New "kref" reference counting mechanism] 2.6.4: |
===== 2.6.5 ===== * Released April 4, 2004 [http://www.kernel.org/pub/linux/kernel/v2.6/ChangeLog-2.6.5 changelog] * Netpoll infrastructure [http://lwn.net/Articles/75944 (LWN article)] * New "kref" reference counting mechanism [http://lwn.net/Articles/75920 (LWN article)] ===== 2.6.4 ===== * Released March 11, 2004 [http://www.kernel.org/pub/linux/kernel/v2.6/ChangeLog-2.6.4 changelog] |
Line 173: | Line 187: |
* [http://lwn.net/Articles/65178/ Generic kernel thread infrastructure] | * Generic kernel thread infrastructure [http://lwn.net/Articles/65178/ (LWN article)] |
Line 177: | Line 191: |
2.6.3: | ===== 2.6.3 ===== * Released February 18, 2004 [http://www.kernel.org/pub/linux/kernel/v2.6/ChangeLog-2.6.3 changelog] |
Line 179: | Line 194: |
* [http://lwn.net/Articles/69402/ New DMA pool abstraction] | * New DMA pool abstraction [http://lwn.net/Articles/69402/ (LWN article)] |
Line 182: | Line 197: |
2.6.2: | ===== 2.6.2 ===== * Released February 4, 2004 [http://www.kernel.org/pub/linux/kernel/v2.6/ChangeLog-2.6.2 changelog] |
Line 185: | Line 201: |
2.6.1: * [http://lwn.net/Articles/44135/ Message Signaled Interrupt support] |
===== 2.6.1 ===== * Released January 9, 2004 [http://www.kernel.org/pub/linux/kernel/v2.6/ChangeLog-2.6.1 changelog] * Message Signaled Interrupt support - MSI [http://lwn.net/Articles/44135/ (LWN article)] |
Line 189: | Line 206: |
2.6.0: | ===== 2.6.0 ===== * Released December 18, 2003 [http://www.kernel.org/pub/linux/kernel/v2.6/ChangeLog-2.6.0 changelog] ===== pre-2.6 development ===== |
Line 192: | Line 212: |
* [http://lwn.net/Articles/44243/ libata driver architecture] | * Libata driver architecture [http://lwn.net/Articles/44243/ (LWN article)] |
Line 205: | Line 225: |
2.5.75: | 2.5.75 released July 10, 2003: |
Line 210: | Line 230: |
2.5.74: 2.5.73: 2.5.72: 2.5.71: |
2.5.74 released July 2, 2003: 2.5.73 released June 22, 2003: 2.5.72 released June 17, 2003: 2.5.71 released June 14, 2003: |
Line 219: | Line 239: |
2.5.70: | 2.5.70 released May 27, 2003: |
Line 222: | Line 242: |
2.5.69: * [http://lwn.net/Articles/29555/ New interrupt handling API] |
2.5.69 released May 5, 2003: * New interrupt handling API [http://lwn.net/Articles/29555/ (LWN article)] |
Line 226: | Line 246: |
2.5.68: | 2.5.68 released April 20, 2003: |
Line 230: | Line 250: |
2.5.67: 2.5.66: 2.5.65: |
2.5.67 released April 7, 2003: 2.5.66 released March 24, 2003: 2.5.65 released March 17, 2003: |
Line 237: | Line 257: |
2.5.64: 2.5.63: |
2.5.64 released March 5, 2003: 2.5.63 released February 24, 2003: |
Line 242: | Line 262: |
2.5.62: | 2.5.62 released February 17, 2003: |
Line 245: | Line 265: |
2.5.61: 2.5.60: |
2.5.61 released February 15, 2003: 2.5.60 released February 10, 2003: |
Line 251: | Line 271: |
2.5.59: | 2.5.59 released Janury 17, 2003: |
Line 254: | Line 274: |
2.5.68: 2.5.57: |
2.5.58 released January 14, 2003: 2.5.57 released January 13, 2003: |
Line 259: | Line 279: |
2.5.56: 2.5.55: 2.5.54: |
2.5.56 released January 10, 2003: 2.5.55 released January 9, 2003: 2.5.54 released January 2, 2003: |
Line 267: | Line 287: |
2.5.53: * "sysenter" support 2.5.52: 2.5.51: |
2.5.53 released December 24, 2002: * SYSENTER/SYSEXIT support: Systems that support the SYSENTER extension (Basically Intel Pentium-II and above, and AMD Athlons) now have a faster method of making the transition from userspace to kernelspace when a syscall is performed. Pentium Pro also has SYSENTER, but due to errata, is unusable. Need an updated glibc to use it. 2.5.52 released December 16, 2002: 2.5.51 released December 10, 2002: |
Line 276: | Line 296: |
2.5.50: 2.5.49: 2.5.48: |
2.5.50 released November 27, 2002: 2.5.49 released November 22, 2002: 2.5.48 released November 18, 2002: |
Line 283: | Line 303: |
2.5.47: * [http://www.uwsg.iu.edu/hypermail/linux/kernel/0204.1/0429.html Zerocopy NFS] 2.5.46: * [http://www.xmailserver.org/linux-patches/nio-improve.html Better I/O performance with epoll] |
2.5.47 released November 11, 2002: * [http://marc.theaimsgroup.com/?l=linux-kernel&m=101843329231392&w=2 Zerocopy NFS] 2.5.46 released November 4, 2002: * [http://www.xmailserver.org/linux-patches/nio-improve.html Better I/O performance with epoll], [http://lwn.net/Articles/14168/ (LWN article)] |
Line 289: | Line 309: |
* [http://lists.insecure.org/lists/linux-kernel/2002/Oct/7027.html MMU-less processor support (ucLinux)] | * [http://www.uclinux.org/ MMU-less processor support (ucLinux)] |
Line 293: | Line 313: |
2.5.45: | 2.5.45 released October 31, 2002: |
Line 300: | Line 320: |
2.5.44: * New sysfs filesystem (formerly known as driverfs) |
2.5.44 released October 19, 2002: * New sysfs filesystem (formerly known as driverfs) [http://lwn.net/Articles/36850/ (LWN article)] |
Line 303: | Line 323: |
* [http://lwn.net/Articles/9042/ x86 BIOS Enhanced Disk Device (EDD) polling] 2.5.43: |
* x86 BIOS Enhanced Disk Device (EDD) polling [http://lwn.net/Articles/9042/ (LWN article)] 2.5.43 released October 16, 2002: |
Line 312: | Line 332: |
2.5.42: | 2.5.42 released October 12, 2002: * [http://www.citi.umich.edu/projects/nfsv4/ NFS v4] support [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=4aebf5c40f30cc754927f4f3d20dffa9c7162814 (commit)], [http://marc.theaimsgroup.com/?l=linux-kernel&m=102927937802523&w=2 (announcement)] |
Line 315: | Line 336: |
* [http://www.gelato.unsw.edu.au/ Remove the 2TB block device limit] | * [http://www.gelato.unsw.edu.au/IA64wiki/LargeBlockDevices Remove the 2TB block device limit]: Block devices can now access up to 16TB on 32-bit architectures, and up to 8EB on 64-bit architectures. statfs64() syscall added: statfs() couldn't handle it. |
Line 318: | Line 339: |
2.5.41: 2.5.40: |
2.5.41 released October 7, 2002: * NFS direct I/O [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=fef2661181855f2d70c0b4c36f76ae6db15a2b93 (commit)] 2.5.40 released October 1, 2002: |
Line 325: | Line 347: |
2.5.39: | 2.5.39 released September 27, 2002: |
Line 328: | Line 350: |
2.5.38: 2.5.37: |
2.5.38 released September 22, 2002: 2.5.37 released September 20, 2002: |
Line 334: | Line 356: |
2.5.36: | 2.5.36 released September 18, 2002: |
Line 338: | Line 360: |
2.5.35: | 2.5.35 released September 16, 2002: |
Line 342: | Line 364: |
2.5.34: | 2.5.34 released September 9, 2002: |
Line 346: | Line 368: |
2.5.33: | 2.5.33 released August 31, 2002: |
Line 350: | Line 372: |
2.5.32: | 2.5.32 released August 27, 2002: |
Line 356: | Line 378: |
2.5.31: | 2.5.31 released August 11, 2002: |
Line 361: | Line 383: |
2.5.30: | 2.5.30 released August 1, 2002: |
Line 364: | Line 386: |
2.5.29: | 2.5.29 released July 27, 2002: |
Line 369: | Line 391: |
2.5.28: | 2.5.28 released July 24, 2002: |
Line 373: | Line 395: |
2.5.27: | 2.5.27 released July 20, 2002: |
Line 376: | Line 398: |
2.5.26: | 2.5.26 releasaed July 16, 2002: |
Line 379: | Line 401: |
2.5.25: * [http://www.uwsg.iu.edu/hypermail/linux/kernel/0207.0/0741.html Faster internal kernel clock frequency] |
2.5.25 releaseed July 5, 2002: * [http://marc.theaimsgroup.com/?l=linux-kernel&m=102591369418106&w=2 Faster internal kernel clock frequency] |
Line 383: | Line 405: |
2.5.24: 2.5.23: |
2.5.24 released June 20, 2002: 2.5.23 released June 19, 2002: |
Line 389: | Line 411: |
2.5.22: 2.5.21: 2.5.20: 2.5.19: 2.5.18: |
2.5.22 released June 17, 2002: 2.5.21 released June 9, 2002: 2.5.20 released June 3, 2002: 2.5.19 released May 29, 2002: 2.5.18 released May 25, 2002: |
Line 401: | Line 423: |
2.5.17: * Move ISDN4Linux to CAPI based interface |
2.5.17 released May 21, 2002: * Move ISDN4linux to CAPI based interface |
Line 405: | Line 427: |
2.5.16: 2.5.15: 2.5.14: |
2.5.16 released May 18, 2002: 2.5.15 released May 9, 2002: 2.5.14 released May 6, 2002: |
Line 412: | Line 433: |
* [http://www.uwsg.iu.edu/hypermail/linux/kernel/0204.1/1250.html Support for IDE TCQ (Tagged Command Queueing)] 2.5.13: 2.5.12: |
* [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=e4ca57ce9faaaecb6dc5237960ea95d067770211 Support for IDE TCQ (Tagged Command Queueing)] 2.5.13 released May 3, 2002: 2.5.12 released May 1, 2002: |
Line 419: | Line 440: |
2.5.11: | 2.5.11 released April 29, 2002: |
Line 421: | Line 442: |
* [http://www.ussg.iu.edu/hypermail/linux/kernel/0204.3/0129.html Fast walk dcache] | * [http://marc.theaimsgroup.com/?l=linux-kernel&m=101968599501262&w=2 Fast walk dcache] |
Line 424: | Line 445: |
2.5.10: 2.5.9: |
2.5.10 released April 24, 2002: 2.5.9 released April 22, 2002: |
Line 429: | Line 450: |
2.5.8: * [http://www.uwsg.iu.edu/hypermail/linux/kernel/0204.1/0215.html Radix-tree pagecache] |
2.5.8 released April 14, 2002: * [http://marc.theaimsgroup.com/?l=linux-kernel&m=101231993430394&w=2 Radix-tree pagecache] |
Line 433: | Line 454: |
2.5.7: | 2.5.7 released March 18, 2002: |
Line 436: | Line 457: |
* [http://www.uwsg.iu.edu/hypermail/linux/kernel/0203.0/0884.html Futexes (Fast Lightweight Userspace Semaphores] * [http://www.uwsg.iu.edu/hypermail/linux/kernel/0203.0/0335.html Video for Linux (V4L) redesign] |
* [http://marc.theaimsgroup.com/?l=linux-kernel&m=101531164109904&w=2 Futexes (Fast Lightweight Userspace Semaphores] * [http://marc.theaimsgroup.com/?l=linux-video&m=101508220707263&w=2 Video for Linux (V4L) redesign] |
Line 440: | Line 461: |
2.5.6: * [http://www.hojdpunkten.ac.se/054/samba/ http://www.hojdpunkten.ac.se/054/samba/] * [http://www.cs.helsinki.fi/linux/linux-kernel/2002-01/0438.html HDLC (High-level Data Link Control) update] * [http://www.uwsg.iu.edu/hypermail/linux/kernel/0202.2/0920.html per_cpu infrastructure] |
2.5.6 released March 8, 2002: * Unicode and large file support for smbfs * [http://marc.theaimsgroup.com/?l=linux-kernel&m=101043315213024&w=2 HDLC (High-level Data Link Control) update] * [http://marc.theaimsgroup.com/?l=linux-kernel&m=101426108626124&w=2 per_cpu infrastructure] |
Line 447: | Line 468: |
2.5.5: | 2.5.5 released February 20, 2002: |
Line 450: | Line 471: |
* [http://www.uwsg.iu.edu/hypermail/linux/kernel/0202.2/0297.html Pagetables in highmem support] | * [http://marc.theaimsgroup.com/?l=linux-kernel&m=101406121032371&w=2 Pagetables in highmem support] |
Line 453: | Line 474: |
2.5.4: | 2.5.4 released February 11, 2002: |
Line 459: | Line 480: |
2.5.3: | 2.5.3 released January 30, 2002: |
Line 461: | Line 482: |
* [http://www.uwsg.iu.edu/hypermail/linux/kernel/0109.3/1341.html PnP BIOS driver] * [http://www.geocrawler.com/mail/msg.php3?msg_id=7686796&list=35 Generic Extended Attribute support] |
* [http://marc.theaimsgroup.com/?l=linux-kernel&m=100173574819266&w=2 PnP BIOS driver] * Generic Extended Attribute support |
Line 466: | Line 487: |
* [http://www.geocrawler.com/lists/3/Linux/35/100/7642826/ Break Configure.help into multiple files] 2.5.2: |
* Break Configure.help into multiple files 2.5.2 released January 15, 2002: |
Line 474: | Line 495: |
2.5.1: | 2.5.1 December 17, 2001: * VFS changes: Now it is possible to atomically move a subtree to another place, "mount --move olddir newdir" |
Line 476: | Line 498: |
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 (search them [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=log here)]. PLEASE, for commits add a "(commit)" word and add the link there, ie: "google search engine added [http://www.google.com (commit)]". Don't add the commit link to another word (please) TODO: * Import relevant data from [http://www.codemonkey.org.uk/post-halloween-2.5.txt 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 |
Comprehensible changelog of the linux kernel, inspired by [http://wiki.dragonflybsd.org/index.php/DragonFly_Status Dragonfly's status]. Another good places to get more information about the linux kernel are [http://www.kernel-traffic.org Kernel traffic] and [http://www.lwn.net LWN] and their [http://lwn.net/Kernel/ "kernel status" articles], [http://lwn.net/Articles/driver-porting/ driver porting guide] and the [http://lwn.net/Articles/2.6-kernel-api/ API changes in 2.6] - many of the links here are linking to LWN articles and we wouldn't have been able to restore the 2.5.x-2.6.x changelog without them (you may be insterested 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!! (send a mail if you think something is missing here and you don't want to/can't create an account)
2.6.14
STILL NOT RELEASED!!
Numa-aware slab allocator [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(): 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: 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)]
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)]
PPTP (Point-to-Point Tunneling Protocol) support: [http://www.ietf.org/rfc/rfc2637.txt RFC 2637]. Used to implement VPN products (notably, Microsoft in all the Windows versions). [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)]
[http://fuse.sourceforge.net/ FUSE]: Allows to implement a fully functional filesystem in a userspace program
[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)]
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)]
[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)]
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)]
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)]
Suspend support for CIFS filesystem [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=ede1327ea4ca8019ec6df24b3e837def091c26b8 (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://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=6582c164f2b3b6e58d1f13c1c031b19ee691eb14 (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)]
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)]
2.6.13
Released August 29, 2005 [http://www.kernel.org/pub/linux/kernel/v2.6/ChangeLog-2.6.13 changelog]
Execute-in-place support: Traditionally, programs are loaded from disk to memory to be executed. However, the current wave of embedded devices store programs in a ROM/flash chip. XIP allows the kernel executing programs directly from that ROM, without being copied to RAM (saving RAM space), and bypassing the page cache/io scheduler layers (since they're not needed). [http://lwn.net/Articles/135472/ (LWN article)]
- x86 now uses the generic PCI bus setup code for assigning unassigned resources
- Voluntary preemption patches
build-time configurable clock interrupt frequency: Now HZ defaults to 256 in x86. 1000 is better for "interactivity" (desktops) and 100 is good for performance (servers) and saves some energy in laptops. [http://lwn.net/Articles/145973/ (LWN article)]
inotify [http://lwn.net/Articles/104343/ (LWN article)] [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=0eeca28300df110bd6ed54b31193c83b87921443 (commit)]
Support for the Xtensa architecture: [http://www.tensilica.com/products/xtensa_architecture.htm 32-bit architecture] used in embedded devices
Improved CFQ IO scheduler: With support for I/O priorities [http://lwn.net/Articles/143474/ (LWN article)]
kexec and kdump: Kexec allows users to load a new kernel from another running kernel. By preserving the memory contents in a crash scenario, kexec allows to implement kdump. Kdump is able to get a memory dump of the previous kernel, and be used as a debugging tool. [http://lwn.net/Articles/108595/ (LWN article)]
Runtime selectable TCP congestion algorithm: Allow using setsockopt to set TCP congestion control to use on a per socket basis. [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=5f8ef48d240963093451bcf83df89f1a1364f51d (commit)] - [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=317a76f9a44b437d6301718f4e5d08bd93f98da7 (commit)]
Add several TCP congestion modules: H-TCP [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a7868ea68d29eb2c037952aeb3b549cf05749a18 commit], TCP Hybla [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=835b3f0c0d7e1f716c45ec576662eac7a68b8548 (commit)], High Speed TCP (HS-TCP) [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a628d29b56d3f420bf3ff1d7543a9caf3ce3b994 (commit)], TCP Westwood [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=8727076289ec55298a05cabddf02b374d13c1624 (commit)], TCP BIC [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=83803034f4233d810c4adc52008921da060c55d1 (commit)]
- Removal of the devfs configuration option
2.6.12
Released June 17, 2005 [http://www.kernel.org/pub/linux/kernel/v2.6/ChangeLog-2.6.12 changelog]
- New driver for the "trusted computing" (TPM) crap^Wchip
[http://www.superh.com/products/shyway.htm SuperHyway bus support]
- Multilevel security implementation for SELinux
Device mapper multipath support [http://lwn.net/Articles/124703/ (LWN article)]
Address space randomization [http://lwn.net/Articles/121845/ (LWN article)]
- Restore the Philips webcam driver
- I/O barrier support for serial ATA drives
"resource limits" [http://lwn.net/Articles/134460/ (LWN article)]
Cpusets [http://lwn.net/Articles/127936/ (LWN article)]
- Remove IPV6 "experimental" status
- Hot-pluggable parallel ports
- Block I/O barrier rewrite (enables full barrier support on serial ATA drives)
2.6.11
Released March 2, 2005 [http://www.kernel.org/pub/linux/kernel/v2.6/ChangeLog-2.6.11 changelog]
Conversion to 4-level page tables [http://lwn.net/Articles/117749/ (LWN article)]
Infiniband support [http://lwn.net/Articles/112531/ (LWN article)]
- Support for Extended Attributes in the body of large inode in ext3: saves space and improves performance in some cases
- Fujitsu FR-V CPU arch implementation
- SATA support for Intel ICH7
DebugFS [http://lwn.net/Articles/115405/ (LWN article)]
New Pipe implementation [http://lwn.net/Articles/118750/ (LWN article)]
"Big Kernel Semaphore" [http://lwn.net/Articles/102253/ (LWN article)]
2.6.10
Released December 24, 2004 [http://www.kernel.org/pub/linux/kernel/v2.6/ChangeLog-2.6.10 changelog]
Reworking of spin lock initialization [http://lwn.net/Articles/109505 (LWN article)]
- Big Kernel Lock preemption
- IRQ subsystem code rework
- Removal of the "BIO walking" helper functions
Generic circular buffer type [http://lwn.net/Articles/107314/ (LWN article)]
Ext3 block reservation [http://lwn.net/Articles/81357/ (LWN article)] and online resizing patches [http://lwn.net/Articles/89560/ (LWN article)]
sysfs backing store [http://lwn.net/Articles/69523/ (LWN article)]
I/O space write barriers [http://lwn.net/Articles/103183/ (LWN article)]
Modular, on-the-fly switchable I/O schedulers [http://lwn.net/Articles/102976/ (LWN article)]
- BSD secure levels module
- kernel events notification mechanism
- In-kernel cryptographic key management
- DVD+RW and CDRW packet writing support
2.6.9
Released October 19, 2004 [http://www.kernel.org/pub/linux/kernel/v2.6/ChangeLog-2.6.9 changelog]
Token-based thrashing control [http://lwn.net/Articles/96621 (LWN article)]
- Support of block I/O barrier
- m32r architecture support
- Allow unprivileged processes to lock small amounts of memory in RAM
- Tunable "max sectors" limit for block I/O requests (can help latency reduction)
- New prctl() option allowing programs to change their name (PR_GET_NAME)
- AMD dual-core support
Out-of-line spinlocks [http://lwn.net/Articles/97537/ (LWN article)]
- Support for POSIX's waitid()
- Shared memory scalability improvements
"flex mmap" user-space memory layout [http://lwn.net/Articles/91829/ (LWN article)]
- Change in TCP ICMP source quench behavior
[http://www.linux-usb.org/gadget/h2-otg.html USB "on the go" support]
- New USB storage driver
- Support for more than eight partitions on BSD-labeled disks
- Ethtool support in the loopback driver
NETIF_F_LLTX interface [http://lwn.net/Articles/101215/ (LWN article)]
- Removal of the ancient "busmouse" driver
- Infrastructure for cluster-wide file locking
- DRM subsystem cleanups
- more filesystem conversions to the new symbolic link resolution code (which will eventually allow an increase in the maximum link depth)
- "fake NUMA" mode for x86-64 testing
- Small-footprint tmpfs implementation
- Support for scheduler profiling (seeing where context switches come from)
- Automatic TCP window scaling calculation
- Removal of the Philips webcam driver
- Some VFS interface improvements
- Executable support in hugetlb mappings
- The Whirlpool digest algorithm
- Removal of the very last suser() call
2.6.8
Released August 14, 2004 [http://www.kernel.org/pub/linux/kernel/v2.6/ChangeLog-2.6.8 changelog]
- support for 64-bit Super-H hardware
- Removal of the PC9800 subarchitecture (lack of mainteinance)
- x86 no-execute support, asynchronous I/O support for USB gadgets
Reworked symbolic link lookup implementation [http://lwn.net/Articles/91959/ (LWN article)]
- New "CPU mask" implementation
- RCU performance improvements
- Support for new Apple Powerbooks
- New wait_event_interruptible_exclusive() macro
- Support for the O_NOATIME flag in the open() call
- Sysfs knobs for tuning the CFQ I/O scheduler
- Mirroring and snapshot targets for the device mapper
- Reiserfs data=journal support
- Preemptible kernel support for the PPC64 architecture
- "Khazad" crypto algorithm
Added permissions checking on raw SCSI commands from user space [http://lwn.net/Articles/98379/ (LWN article)]
- Removal of the fcntl() file operations method
- New internal infrastructure for handling file positioning and seekability
- Support for the O_NOATIME flag in the open() call
- Removal of the (non-functional) "fastroute" networking option
- TEA and XTEA crypto algorithms
2.6.7
Released June 16, 2004 [http://www.kernel.org/pub/linux/kernel/v2.6/ChangeLog-2.6.7 changelog]:
Scheduling Domains [http://lwn.net/Articles/80911/ (LWN article)]
Filtered Wakeups [http://lwn.net/Articles/83633/ (LWN article)]
- Ability to re-enable interrupts while waiting in spin_lock_irqsave() (for all architectures now)
- msleep() function for millisecond-scale waits
del_singleshot_timer(): Deleting timers quickly [http://lwn.net/Articles/84836/ (LWN article)]
- shrink "dentry" structure
- Removal of the Intermezzo filesystem (lack of mainteinance)
- Support for quotas and external attributes in reiserfs
- Removal of IDE tagged command queueing support (never worked well)
- new API for NUMA systems
2.6.6
Released May 10, 2004 [http://www.kernel.org/pub/linux/kernel/v2.6/ChangeLog-2.6.6 changelog]
full object-based reverse-mapping scheme and removal of the per-page PTE chains [http://lwn.net/Articles/80472/ (LWN article)]
- Network packet timestamping optimization
[http://www.geocities.com/wronski12/posix_ipc/index.html POSIX message queues]
- Message queues for the x86_64 and s390 architectures
- fsync() and fdatasync() speed improvements to ext2/3
Addition of the fcntl() method to the file_operations structure [http://lwn.net/Articles/77190/ (LWN article)]
Laptop Mode [http://lwn.net/Articles/65437/ (LWN article)]
- 4KB kernel stacks option for the i386 architecture
- Non-executable stack support for several architectures
- Reiserfs updates: data=ordered support, space preallocation, laptop mode support
- IPv6 support in SELinux
The lightweight auditing framework [http://lwn.net/Articles/79326/ (LWN article)]
- A mechanism which allows block drivers to respond to queries about the congestion state of their queues
"per-device unplugging patch" [http://lwn.net/Articles/75233/ (LWN article)]
- CFQ scheduler
- External module support
- Generic snapshot support code for filesystems (taken from XFS)
2.6.5
Released April 4, 2004 [http://www.kernel.org/pub/linux/kernel/v2.6/ChangeLog-2.6.5 changelog]
Netpoll infrastructure [http://lwn.net/Articles/75944 (LWN article)]
New "kref" reference counting mechanism [http://lwn.net/Articles/75920 (LWN article)]
2.6.4
Released March 11, 2004 [http://www.kernel.org/pub/linux/kernel/v2.6/ChangeLog-2.6.4 changelog]
- HFS rewrite
- Support for the Intel "ia32e" arch
- UTF-8 tty mode
- Dynamic PTY allocation (up to a million PTY devices)
- Sysfs support for SCSI tapes and bluetooth devices
- [ARC4 crypto module Support for large numbers of groups]
Generic kernel thread infrastructure [http://lwn.net/Articles/65178/ (LWN article)]
- Groundwork for the hotplug CPU code
- ARC4 crypto module
2.6.3
Released February 18, 2004 [http://www.kernel.org/pub/linux/kernel/v2.6/ChangeLog-2.6.3 changelog]
- Removal of the USB scanner code: moved support to userspace (libusb)
New DMA pool abstraction [http://lwn.net/Articles/69402/ (LWN article)]
- "context mount" support for SELinux
2.6.2
Released February 4, 2004 [http://www.kernel.org/pub/linux/kernel/v2.6/ChangeLog-2.6.2 changelog]
- New Qlogic SCSI driver
2.6.1
Released January 9, 2004 [http://www.kernel.org/pub/linux/kernel/v2.6/ChangeLog-2.6.1 changelog]
Message Signaled Interrupt support - MSI [http://lwn.net/Articles/44135/ (LWN article)]
- Extensible Firmware Interface (EFI) support.
2.6.0
Released December 18, 2003 [http://www.kernel.org/pub/linux/kernel/v2.6/ChangeLog-2.6.0 changelog]
pre-2.6 development
2.6.0-test9:
Libata driver architecture [http://lwn.net/Articles/44243/ (LWN article)]
2.6.0-test6:
[http://marc.theaimsgroup.com/?l=linux-kernel&m=104344596912094&w=2 32-bit dev_t]
- Direct I/O support for reiserfs
2.6.0-test3:
[http://www.nsa.gov/selinux/index.html SELinux]
2.6.0-test1:
[http://www.linuxvirtualserver.org/ Linux Virtual Server layer]
2.5.75 released July 10, 2003:
[http://marc.theaimsgroup.com/?l=linux-mm&m=104529418208788&w=2 Anticipatory Scheduler]
- "kblockd" kernel threads
- "nointegrity" JFS mount option
2.5.74 released July 2, 2003:
2.5.73 released June 22, 2003:
2.5.72 released June 17, 2003:
2.5.71 released June 14, 2003:
[http://marc.theaimsgroup.com/?l=linux-kernel&m=104981044405395&w=2 Switch the IDE I/O layers to taskfile]
2.5.70 released May 27, 2003:
[http://www.linux-usb.org/gadget USB gadget support]
2.5.69 released May 5, 2003:
New interrupt handling API [http://lwn.net/Articles/29555/ (LWN article)]
- Runtime barrier instruction patching: Allows optimal performance on different processors without the need to ship multiple kernels
2.5.68 released April 20, 2003:
- Merging s390 and s390x into a single architecture
- Generation of hotplug events from kobject registration
2.5.67 released April 7, 2003:
2.5.66 released March 24, 2003:
2.5.65 released March 17, 2003:
[http://www.kerneltrap.org/node.php?id=603 Desktop Interactivity Improvements]
2.5.64 released March 5, 2003:
2.5.63 released February 24, 2003:
[http://high-res-timers.sourceforge.net/ POSIX timers]
2.5.62 released February 17, 2003:
[http://lse.sourceforge.net/locking/dcache/dcache_lock.html Avoid dcache_lock while path walking]
2.5.61 released February 15, 2003:
2.5.60 released February 10, 2003:
- New modversions implementation
- 64-bit jiffies
2.5.59 released Janury 17, 2003:
[http://home.arcor.de/efocht/sched/ NUMA aware scheduler extensions]
2.5.58 released January 14, 2003:
2.5.57 released January 13, 2003:
[http://www.zipworld.com.au/~akpm/linux/schedlat.html Remove long-held locks for low scheduling latency]
2.5.56 released January 10, 2003:
2.5.55 released January 9, 2003:
2.5.54 released January 2, 2003:
[http://secure.netroedge.com/~lm78/ Add lm-sensors drivers for hardware health monitoring]
- Support for AGP 3.0
2.5.53 released December 24, 2002:
- SYSENTER/SYSEXIT support: Systems that support the SYSENTER extension (Basically Intel Pentium-II and above, and AMD Athlons) now have a faster method of making the transition from userspace to kernelspace when a syscall is performed. Pentium Pro also has SYSENTER, but due to errata, is unusable. Need an updated glibc to use it.
2.5.52 released December 16, 2002:
2.5.51 released December 10, 2002:
[http://linuxconsole.sourceforge.net/ Rewrite of the console layer]
- Compatibility syscall layer
2.5.50 released November 27, 2002:
2.5.49 released November 22, 2002:
2.5.48 released November 18, 2002:
[http://lists.insecure.org/lists/linux-kernel/2002/Oct/6214.html In-kernel module loader]
2.5.47 released November 11, 2002:
2.5.46 released November 4, 2002:
[http://www.xmailserver.org/linux-patches/nio-improve.html Better I/O performance with epoll], [http://lwn.net/Articles/14168/ (LWN article)]
Per-cpu hot & cold page lists
[http://www.uclinux.org/ MMU-less processor support (ucLinux)]
[http://marc.theaimsgroup.com/?l=linux-kernel&m=101095500820185&w=2 Replace initrd by initramfs]
- Extended Attributes and ACLs for ext2/ext3
2.5.45 released October 31, 2002:
[http://www.xs4all.nl/~zippel/lc/ New Linux configuration system: kconfig]
[http://samba.org/~jamesm/crypto/ CryptoAPI]
[http://www.linuxtv.org/dvb/ Digital Video Broadcasting (DVB) layer]
[http://www.sistina.com/products_lvm.htm Device mapper for Logical Volume Manager (LVM2)]
2.5.44 released October 19, 2002:
New sysfs filesystem (formerly known as driverfs) [http://lwn.net/Articles/36850/ (LWN article)]
- Plug'N Play Layer Rewrite
x86 BIOS Enhanced Disk Device (EDD) polling [http://lwn.net/Articles/9042/ (LWN article)]
2.5.43 released October 16, 2002:
[http://www.psc.edu/general/filesys/afs/ Andrew File System (AFS) support]
[http://oprofile.sourceforge.net/ OProfile, a low-overhead profiler]
[http://lse.sourceforge.net/locking Read-Copy Update (RCU) Mutual Exclusion]
[http://www.citi.umich.edu/projects/nfsv4/ Add support for NFS v4]
- Remove kiobufs
2.5.42 released October 12, 2002:
[http://www.citi.umich.edu/projects/nfsv4/ NFS v4] support [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=4aebf5c40f30cc754927f4f3d20dffa9c7162814 (commit)], [http://marc.theaimsgroup.com/?l=linux-kernel&m=102927937802523&w=2 (announcement)]
[http://marc.theaimsgroup.com/?l=linux-kernel&m=103298446916066&w=2 ext2/ext3 large directory support: HTree index]
[http://us1.samba.org/samba/Linux_CIFS_client.html Add new CIFS (Common Internet File System)]
[http://www.gelato.unsw.edu.au/IA64wiki/LargeBlockDevices Remove the 2TB block device limit]: Block devices can now access up to 16TB on 32-bit architectures, and up to 8EB on 64-bit architectures. statfs64() syscall added: statfs() couldn't handle it.
- Improved i2o (Intelligent Input/Ouput) layer
2.5.41 released October 7, 2002:
NFS direct I/O [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=fef2661181855f2d70c0b4c36f76ae6db15a2b93 (commit)]
2.5.40 released October 1, 2002:
[http://lse.sourceforge.net/numa Parallelizing page replacement]
[http://lse.sourceforge.net/numa NUMA topology support
[http://www.brodo.de/cpufreq/ Add support for CPU clock/voltage scaling]
2.5.39 released September 27, 2002:
- New IO scheduler ("deadline")
2.5.38 released September 22, 2002:
2.5.37 released September 20, 2002:
[http://users.pandora.be/bart.de.schuymer/ebtables/ Ethernet bridge tables support]
- Remove the global tasklist
2.5.36 released September 18, 2002:
- Hugepage support
[http://oss.sgi.com/projects/xfs/ XFS filesystem from SGI]
2.5.35 released September 16, 2002:
- Serial ATA support
[http://user-mode-linux.sourceforge.net/index.html Add User-Mode Linux (UML)]
2.5.34 released September 9, 2002:
- POSIX threading support for signals
[http://lse.sourceforge.net/numa discontigmem support (ia32)]
2.5.33 released August 31, 2002:
- TCP segmentation offload
[http://www.sf.net/projects/lksctp SCTP (Stream Control Transmission Protocol)]
2.5.32 released August 27, 2002:
[http://people.redhat.com/drepper/nptl-design.pdf Improved POSIX threading support]
[http://freshmeat.net/projects/linux-aio/ Asynchronous IO (aio) support]
- Porting all input devices over to input API
- New MTRR (Memory Type Range Register) driver
2.5.31 released August 11, 2002:
- Support insane number of processes
- Disk description cleanups
- Remove incomplete SPX network stack
2.5.30 released August 1, 2002:
- Remove khttpd
2.5.29 released July 27, 2002:
- Strict address space accounting
[http://lsm.immunix.org/ Add Linux Security Module (LSM)]
[http://people.redhat.com/mingo/tls-patches/ Thread-Local Storage (TLS) support]
2.5.28 released July 24, 2002:
- Remove the "Big IRQ lock"
- Serial driver restructure
2.5.27 released July 20, 2002:
[http://surriel.com/patches/ New VM with reverse mappings]
2.5.26 releasaed July 16, 2002:
Direct pagecache <-> BIO disk I/O
2.5.25 releaseed July 5, 2002:
[http://marc.theaimsgroup.com/?l=linux-kernel&m=102591369418106&w=2 Faster internal kernel clock frequency]
- Unified naming for disk devices
2.5.24 released June 20, 2002:
2.5.23 released June 19, 2002:
[http://www.kernel.org/pub/linux/kernel/people/rusty/patches/Hotcpu/ Hotplug CPU support]
[http://bazar.conectiva.com.br/~acme/patches/wip More complete IEEE 802.2 stack]
2.5.22 released June 17, 2002:
2.5.21 released June 9, 2002:
2.5.20 released June 3, 2002:
2.5.19 released May 29, 2002:
2.5.18 released May 25, 2002:
[http://falcon.sch.bme.hu/~seasons/linux/swsusp.html Software suspend (to disk & RAM)]
->getattr() ->setattr() ->permission() changes
2.5.17 released May 21, 2002:
- Move ISDN4linux to CAPI based interface
[http://marc.theaimsgroup.com/?l=linux-fsdevel&m=101586205801483&w=2 New quota system supporting plugins]
2.5.16 released May 18, 2002:
2.5.15 released May 9, 2002:
2.5.14 released May 6, 2002:
- Bluetooth support (no longer experimental!)
[http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=e4ca57ce9faaaecb6dc5237960ea95d067770211 Support for IDE TCQ (Tagged Command Queueing)]
2.5.13 released May 3, 2002:
2.5.12 released May 1, 2002:
- Rewrite of the buffer layer
2.5.11 released April 29, 2002:
- Rewrite of the framebuffer layer
[http://marc.theaimsgroup.com/?l=linux-kernel&m=101968599501262&w=2 Fast walk dcache]
[http://linux-ntfs.sourceforge.net/ Replace old NTFS driver with NTFS TNG driver]
2.5.10 released April 24, 2002:
2.5.9 released April 22, 2002:
- Smarter IRQ balancing
2.5.8 released April 14, 2002:
[http://marc.theaimsgroup.com/?l=linux-kernel&m=101231993430394&w=2 Radix-tree pagecache]
[http://www.kernel.org/pub/linux/kernel/people/rml/cpu-affinity Syscall interface for CPU task affinity]
2.5.7 released March 18, 2002:
[http://sourceforge.net/projects/acpi/ ACPI (Advanced Configuration & Power Interface)]
[ftp://robur.slu.se/pub/Linux/net-development/NAPI/ NAPI network interrupt mitigation]
[http://marc.theaimsgroup.com/?l=linux-kernel&m=101531164109904&w=2 Futexes (Fast Lightweight Userspace Semaphores]
[http://marc.theaimsgroup.com/?l=linux-video&m=101508220707263&w=2 Video for Linux (V4L) redesign]
[http://www.hpl.hp.com/personal/Jean_Tourrilhes/Linux/Tools.html New driver API for Wireless Extensions]
2.5.6 released March 8, 2002:
- Unicode and large file support for smbfs
[http://marc.theaimsgroup.com/?l=linux-kernel&m=101043315213024&w=2 HDLC (High-level Data Link Control) update]
[http://marc.theaimsgroup.com/?l=linux-kernel&m=101426108626124&w=2 per_cpu infrastructure]
[http://www-124.ibm.com/jfs/ Add JFS (Journaling FileSystem from IBM)]
- Killing kdev_t for block devices
2.5.5 released February 20, 2002:
[http://linuxppc64.org/ New architecture: PowerPC 64-bit (ppc64)]
[http://www.x86-64.org/ New architecture: AMD 64-bit (x86-64)]
[http://marc.theaimsgroup.com/?l=linux-kernel&m=101406121032371&w=2 Pagetables in highmem support]
[http://www.alsa-project.org/ Add ALSA (Advanced Linux Sound Architecture]
2.5.4 released February 11, 2002:
[http://www-124.ibm.com/developerworks/oss/pthreads/ Support for Next Generation POSIX Threading]
[ftp://ftp.kernel.org/pub/linux/kernel/people/rml/preempt-kernel/ Add preempt kernel option]
Per network protocol slabcache & sock.h
[http://marc.theaimsgroup.com/?l=linux-kernel&m=100942323913586&w=2 Per filesystem slabcache & fs.h]
2.5.3 released January 30, 2002:
[http://kernel.org/pub/linux/kernel/people/mochel/doc/ New driver model & unified device tree]
[http://marc.theaimsgroup.com/?l=linux-kernel&m=100173574819266&w=2 PnP BIOS driver]
- Generic Extended Attribute support
[http://marc.theaimsgroup.com/?l=linux-kernel&m=101077476005939&w=2 Support reiserfs external journal]
[http://marc.theaimsgroup.com/?l=linux-kernel&m=101121711408999&w=2 IDE layer update]
[http://www.uwsg.iu.edu/hypermail/linux/kernel/0202.0/0260.html Untangle sched.h & fs.h include dependancies]
- Break Configure.help into multiple files
2.5.2 released January 15, 2002:
[http://marc.theaimsgroup.com/?l=linux-kernel&m=100992347220716&w=2 New kernel device structure (kdev_t)]
[http://people.redhat.com/mingo/O(1)-scheduler/ O(1) scheduler for improved scalability]
[http://marc.theaimsgroup.com/?l=linux-fsdevel&m=98307457705210&w=2 Filesystem per-process namespaces, late-boot cleanups]
[http://www.linux-usb.org/usb2.html Initial support for USB 2.0]
2.5.1 December 17, 2001:
- VFS changes: Now it is possible to atomically move a subtree to another place, "mount --move olddir newdir"
- Rewrite of the block IO (bio) layer
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 (search them [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=log here)]. PLEASE, for commits add a "(commit)" word and add the link there, ie: "google search engine added [http://www.google.com (commit)]". Don't add the commit link to another word (please)
TODO:
Import relevant data from [http://www.codemonkey.org.uk/post-halloween-2.5.txt 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