935
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 ;) |
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: * [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)] * 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] * [ftp://ftp.linux-ipv6.org/pub/usagi/patch/ipsec/ IPSEC] * [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) |
Line 6: | Line 510: |
* Import (and extend, explain, etc) LWN's [http://lwn.net/Articles/2.6-kernel-api/ list of 2.6 API changes] (need to ask for permission?) * Import [http://kernelnewbies.org/status/latest.html Kernelnewbies status] list * Import relevant data from [http://www.codemonkey.org.uk/post-halloween-2.5.txt davej's post halloween document] |
* 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 (!!) |
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