67705
Comment:
|
881
Linux 4.19 has NOT been released, but the changelog is complete
|
Deletions are marked like this. | Additions are marked like this. |
Line 1: | Line 1: |
Comprehensible changelog of the linux kernel, inspired by [http://wiki.dragonflybsd.org/index.php/DragonFly_Status Dragonfly's status]. Other places to get news about the linux kernel are [http://www.kernel-traffic.org Kernel traffic], [http://lwn.net/Kernel/ LWN kernel status], [http://lwn.net/Articles/driver-porting/ LWN driver porting guide] and [http://lwn.net/Articles/2.6-kernel-api/ LWN list of API changes in 2.6] - many articles here link to LWN and much of the 2.6.x changelog was restored from them (you may be be interested in subscribing so Jonathan can keep up the good work ;) ) Changes made to the 2.5.x-2.6.0 development series can be found in the Linux25Changes page. Before adding things here look at the RULES section at the end of the page!! | #pragma keywords Linux, Kernel, Operative System, Linus Torvalds, Open Source, drivers, filesystems, network, memory management, scheduler, preemtion, locking #pragma description Summary of the changes and new features merged in the Linux Kernel during the 2.6.x and 3.x development Changes done in each Linux kernel release. Other places to get news about the Linux kernel are [[http://lwn.net/Kernel/|LWN kernel status]], [[http://www.h-online.com/open/features/|H-Online]], or the Linux Kernel mailing list (there is a web interface in [[http://www.lkml.org|www.lkml.org]]). List of changes of older releases can be found at LinuxVersions. If you're going to add something here look first at LinuxChangesRules! |
Line 3: | Line 5: |
===== 2.6.15 ===== * '''STILL NOT RELEASED!''' * Page table scalability improvements: Currently, a single page table lock is used to protect all operations on an address space's page tables. This has been detected to cause scalability problems in largue multiprocessor systems ej: 512-cpu SGI altix, specially in heavily multithreaded workloads (threads of a same process share the same address space and hence the same page table lock). With this patch, a separate spinlock per page-table page is used, to guard the page table entries in that page. Splitting the lock is not quite for free: another cacheline access. So for now enable it by config for machines with 4 or more CPUs. While this (and many other scalability changes) may look high-end oriented now, remember that cheap multi-core desktops CPUs are there. [http://lwn.net/Articles/157151/ (LWN article)] [http://marc.theaimsgroup.com/?l=linux-kernel&m=112603203327134&w=2 (benchmark vs SGI's "reduced locking by using atomic page table operations" non-merged approach)] [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=4c21e2f2441dc5fbb957b030333f5a3f2d02dea7 (commit)] * .text page fault SMP scalability optimization: This fixes a case where large systems wouldn't scale well while faulting in the .text. The reason was a useless overwrite of the same pte from all cpu [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=1a44e149084d772a1bcf4cdbdde8a013a8a1cfde (commit)] * Swaptoken tuning: It turns out that the original swap token implementation, by Song Jiang, only enforced the swap token while the task holding the token is handling a page fault, this patch approximates that, like the page fault code does. It has the effect of automatically, and gradually, disabling the enforcement of the swap token when there is little or no paging going on, and "turning up" the intensity of the swap token code the more the task holding the token is thrashing [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=fcdae29aa7a5c79f245110f6680afdc1858d3626 (commit)] * Demand faulting for huge pages [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=4c887265977213985091476be40ab11dfdcb4caf (commit)] * Add generic memory add/remove and supporting functions for memory hotplug [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=3947be1969a9ce455ec30f60ef51efb10e4323d1 (commit)] * IPv4/IPv6: UFO (UDP Fragmentation Offload) Scatter-gather approach: UFO is a feature wherein the Linux kernel network stack will offload the IP fragmentation functionality of large UDP datagram to hardware. This will reduce the overhead of stack in fragmenting the large UDP datagram to MTU sized packets [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e89e9cf539a28df7d0eb1d0a545368e9920b34ac (commit)] * Add the infrastructure to support hotplug CPU on ARM [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a054a811597a17ffbe92bc4db04a4dc2f1b1ea55 (commit)] * x86 hot plug CPU support of physical add of new processors (hotplug add/remove of already existing CPUs was already supported) [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=9f40a72a7e819789f66910c8cd60aab005cdb413 (commit)] * Add LSM hooks for key management facilities (see link) [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=29db9190634067c5a328ee5fcc2890251b836b4b (commit)] * RCU torture-testing kernel module: This adds a tristate CONFIG_RCU_TORTURE_TEST, which enables an intense torture test of the RCU infratructure. This is needed for testing due to the continued changes to the RCU infrastructure [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a241ec65aeac3d69a08a7b153cccbdb7ea35063f (commit)] * Support for shared HPET interrupts: The driver previously acknowledged interrupts for both edge and level interrupts, but didn't actually allow a shared interrupt in the latter case [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=0d29086177aaa1e7d14e6ebb7fc067b3ca6d5c11 (commit)] * Driver Core: add the ability for class_device structures to be nested: Allows struct class_device to be nested, so that another struct class_device can be the parent of a new one, instead of only having the struct class be the parent [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=51d172d5f3a193e4b8f76179b2e55d7a36b94117 (commit)] * Add vmalloc_node(size, node) (allocate necessary memory on the specified node) and get_vm_area_node(size, flags, node) [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=930fc45a49ddebe7555cc5c837d82b9c27e65ff4 (commit)] * Generic dispatch queue: Implements generic dispatch queue which can replace all dispatch queues implemented by each iosched [http://marc.theaimsgroup.com/?l=linux-kernel&m=112238633622498&w=2 (mailing list)] [http://lwn.net/Articles/157208/ (LWN article)] [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=8922e16cf6269e668123acb1ae1fdc62b7a3a4fc (commit)] * Reimplement elevator online switching code [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=cb98fc8bb9c141009e2bda99c0db39d387e142cf (commit)] * Optimized SHA1 implementation for ARM [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=c09f98271f685af349d3f0199360f1c0e85550e0 (commit)] * Add sysfs support for ide tape [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=d5dee80ad69439ad8dccf8fa4d7fed0068aec9cf (commit)] * Add "revision" support for having multiple revisions for each match/target in arp_tables and ip6_tables [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=6b7d31fcdda5938e5d3f1f8b0922cc25aa200dfc (commit)] * Support for the Artemis and ATIK astronomical based USB CCD cameras [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=c9c7746dd333c12f482af2f1e63ea7eafc7cd529 (commit)] * USB: delete the bluetty driver [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a6c82600d4058346ea6fd801bc21d7abcc1350d8 (commit)] * Nokia 7600/6230(i)/6170/66x0 DKU2 USB driver [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=50260b69bbec383058875de26dbde28b1a6f8d00 (commit)] * Nvidia Geforce 7800 series (7800, 7800 GTX, 7800 GO and 7800 GTX GO cards) framebuffer support [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=7015faa7df829876a0f931cd18aa6d7c24a1b581 (commit)] * MPC8xx PCMCIA support (PowerPC 8xx series PCMCIA controller) [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=de957c89b7dadb3147e885d7b6eb9db73d0eea57 (commit)] * Support for SA1100 Jornada flash device support [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=183e1a349466a1b90430a58f3efad25a3e555cb2 (commit)] * Resurrect Cobalt (MIPS-based) support for 2.6 [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=c4ed38a0c6e2e5c4906296758f816ee71373792f (commit)] * Base Au1200 (MIPS-based) 2.6 support [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e3ad1c23ba72214669b364c6fa304531dc768c3e (commit)] * Add support for BCM1480 family of chips (MIPS-based) [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=f137e463b50aadba91bd116f99c59ccb9c15a12f (commit)] * Support for sharp zaurus sl-5500 touchscreen [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=1753298947afe5eb56da755bc057f1868f345ec1 (commit)] and its PCMCIA slot [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=77bb86a1b9f8b872d8efc33c4f4359f809220252 (commit)] |
You can discuss the latest Linux kernel changes on the [[http://forum.kernelnewbies.org/list.php?4|New Linux Kernel Features Forum]]. |
Line 34: | Line 7: |
===== 2.6.14 ===== * Released October 27, 2005 [http://kernel.org/pub/linux/kernel/v2.6/ChangeLog-2.6.14 changelog] * Numa-aware slab allocator: It creates slabs on multiple nodes and manages slabs in such a way that locality of allocations is optimized. Each node has its own list of partial, free and full slabs. All object allocations for a node occur from node specific slab lists [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e498be7dafd72fd68848c1eef1575aa7c5d658df (commit - benchmarks)] * Lazy page table copies in fork() for VMAs without anonymous pages (the ones with anonymous pages are still copied): Defer copying of ptes until fault time when it is possible to reconstruct the pte from backing store, speeding up fork() greatly specially for processes using lots of shared memory [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=d992895ba2b27cf5adf1ba0ad6d27662adc54c5e (commit)] * Add /proc/$PID/smaps: This file will shows how much memory is resident in each mapping. Useful for people who want to perform memory consumption analysis [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e070ad49f31155d872d8e96cab2142840993e3c0 (commit)] * Add /proc/$PID/numa_maps: This file will show on which nodes pages reside [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=6e21c8f145f5052c1c2fb4a4b41bee01c848159b (commit)] * Lock-free file descriptor look-up [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=ab2af1f5005069321c5d130f09cce577b03f43ef (commit)] - [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b835996f628eadb55c5fb222ba46fe9395bf73c7 (commit)] * Four-level page table support for the ppc64 architecture: extends the usable user address range to 44 bits (16T). [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e28f7faf05159f1cfd564596f5e6178edba6bd49 (commit)] * Support hotplug cpu on 32-bit SMP powermacs: When a cpu is off-lined, it is put into sleep mode with interrupts disabled. It can be on-lined again by asserting its soft-reset pin, which is connected to a GPIO pin [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=31139971b3dc9fbb2e8a8572fb81e6e8470f363a (commit)] * Add TASK_NONINTERACTIVE task state bit to the cpu scheduler: It can be used by blocking points to mark the task's wait as "non-interactive". This does not mean the task will be considered a CPU-hog - the wait will simply not have an effect on the waiting task's priority - positive or negative alike [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=d79fc0fc6645b0cf5cd980da76942ca6d6300fa4 (commit)] * [http://www.ietf.org/rfc/rfc2637.txt PPTP] (Point-to-Point Tunneling Protocol) conntrack support and NAT helper added to allow proper management of multiple NAT'd PPTP connections. PPTP, a Microsoft-designed protocol, is used in many places to provide VPN access due to the native support in Microsoft Windows. [http://en.wikipedia.org/wiki/PPTP Wikipedia article] [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=926b50f92a30090da2c1a8675de954c2d9b09732 (commit)] * DCCP: "Datagram Congestion Control Protocol". Datagram protocol (like UDP), but with a congestion control mechanism. [http://lwn.net/Articles/149756/ (LWN article)] Currently a [http://www.icir.org/kohler/dcp/draft-ietf-dccp-spec-11.txt RFC draft] [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=7c657876b63cb1d8a2ec06f8fc6c37bb8412e66c (commit)] * Implement SKB fast cloning: Protocols that make extensive use of SKB cloning, for example TCP, eat at least 2 allocations per packet sent as a result. To cut the kmalloc() count in half, we implement a pre-allocation scheme wherein we allocate 2 sk_buff objects in advance, then use a simple reference count to free up the memory at the correct time [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=d179cd12928443f3ec29cfbc3567439644bd0afc (commit)] * Add netlink connector: userspace <-> kernel space easy to use communication module which implements easy to use bidirectional message bus using netlink as its backend [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=7672d0b54411371e0b6a831c1cb2f0ce615de6dc (commit)], also a "async connector mode" [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=acd042bb2de50d4e6fb969281a00cc8b8b71e46d (commit)] * IPV6: Support several new sockopt / ancillary data in Advanced API (RFC3542): IPV6_RECVPKTINFO, IPV6_PKTINFO, IPV6_RECVHOPOPTS, IPV6_HOPOPTS, IPV6_RECVDSTOPTS, IPV6_DSTOPTS, IPV6_RTHDRDSTOPTS, IPV6_RECVRTHDR, IPV6_RTHDR, IPV6_RECVHOPOPTS, IPV6_HOPOPTS, IPV6_{RECV,}TCLASS [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=333fad5364d6b457c8d837f7d05802d2aaf8a961 (commit)] - [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=41a1f8ea4fbfcdc4232f023732584aae2220de31 (commit)] * [http://fuse.sourceforge.net/ FUSE]: Allows to implement a fully functional filesystem in a userspace program [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=d8a5ba45457e4a22aa39c939121efd7bb6c76672 (commit)] * [http://v9fs.sourceforge.net/ 9P support]: Linux port of the [http://www.cs.bell-labs.com/sys/doc/9.html Plan9]'s [http://plan9.bell-labs.com/sys/man/5/INDEX.html 9P protocol] [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=93fa58cb831337fdf5d36b3b913441100a484dae (commit)] * [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)] * Suspend support for CIFS filesystem [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=ede1327ea4ca8019ec6df24b3e837def091c26b8 (commit)] * Enable atomic inode security labeling on ext3 and ext2: it enables atomic security labeling of newly created inodes by altering the fs code to invoke a new LSM hook to obtain the security attribute to apply to a newly created inode and to set up the incore inode security state during the inode creation transaction. This parallels the existing processing for setting ACLs on newly created inodes [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=5e41ff9e0650f327a6c819841fa412da95d57319 (commit)] - [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=10f47e6a1b8b276323b652053945c87a63a5812d (commit)] - [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=ac50960afa31877493add6d941d8402fa879c452 (commit)] * SELinux memory improvements: Reduce access rules memory usage by 20x [http://www.livejournal.com/users/james_morris/6197.html James Morris explanation] [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=782ebb992ec20b5afdd5786ee8c2f1b58b631f24 (commit)] * NTFS: Support journals ($Logfile) which have been modified by chkdsk. This means users can boot into Windows after we marked the volume dirty. The Windows boot will run chkdsk and then reboot. The user can then immediately boot into Linux rather than having to do a full Windows boot first before rebooting into Linux [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e7a1033b946f4f2622f2b338ab107f559aad542c (commit)] * SAS transport class [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=c7ebbbce366c02e5657ac6b6059933fe0353b175 (commit)] * Remove ACPI S4 BIOS support [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b01d8684e9e5b04270970c97df856d47668267e3 (commit)] * [http://ipw2100.sourceforge.net/ ipw2100] and [http://ipw2200.sourceforge.net/ ipw2200] wireless drivers (intel centrino) [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=2c86c275015c880e810830304a3a4ab94803b38b (commit)] - [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=43f66a6ce8da299344cf1bc2ac2311889cc88555 (commit)] * [http://hostap.epitest.fi/ HostAP]: Adds support to work as "Wireless Access Point" [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=ff1d2767d5a43c85f944e86a45284b721f66196c (commit)] * [http://www.hpl.hp.com/personal/Jean_Tourrilhes/Linux/Linux.Wireless.Extensions.html Wireless extensions] API update to version 19 [http://marc.theaimsgroup.com/?l=linux-netdev&m=112568599006559&w=2 (mail)] [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=6582c164f2b3b6e58d1f13c1c031b19ee691eb14 (commit)] * 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)] * PCI: Support PCI PM CAP version 3 [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=3fe9d19f9e86a55679f5f2b38ec0a43a1a510cee (commit)] * Keys: Add possessor permissions to keys. It adds extra permission grants to keys for the possessor of a key in addition to the owner, group and other permissions bits. This makes SUID binaries easier to support without going as far as labelling keys and key targets using the LSM facilities [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=664cceb0093b755739e56572b836a99104ee8a75 (commit)] * Driver for the IBM Hard Drive Active Protection System (HDAPS), an accelerometer found in most modern Thinkpads [http://lwn.net/Articles/155440/ (LWN article)] [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=860e1d6b46bd4cbc67d8d065f0f682143513382f (commit)] * Add Apple USB touchpad driver for the USB touchpad which can be found on post-February 2005 Apple Powerbooks [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=f7214ff4e8248513ec626212b2c1a3ca0b2a0888 (commit)] * Spinlock consolidation [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=fb1c8f93d869b34cacb8b8932e2b83d96a19d720 (commit)] * Largefile support for accounting: The accounting subsystem in the kernel can not correctly handle files larger than 2GB. This fixes it by adding the O_LARGEFILE flag [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=6c9c0b52b8c6b68b05bb06efd7079a8fc5e9ba60 (commit)] * Detect soft lockups, new debug feature (CONFIG_DETECT_SOFTLOCKUP). When enabled then per-CPU watchdog threads are started, which try to run once per second. If they get delayed for more than 10 seconds then a callback from the timer interrupt detects this condition and prints out a warning message and a stack dump [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=8446f1d391f3d27e6bf9c43d4cbcdac0ca720417 (commit)] * Add kzalloc(): new function, it allows to obtain pre-zeroed memory [http://lwn.net/Articles/147014/ (LWN article)] [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=dd3927105b6f65afb7dac17682172cdfb86d3f00 (commit)] * Add schedule_timeout_{,un}interruptible() [http://lwn.net/Articles/149019 (LWN article)] [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=64ed93a268bc18fa6f72f61420d0e0022c5e38d1 (commit)] ===== 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)] [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=d763b7a4736e219528f77bf6bc75dd78b1d75c03 (commit)] * i386 CPU hotplug support: provides i386 architecture support for safely unregistering and registering processors during runtime [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=f370513640492641b4046bfd9a6e4714f6ae530d (commit)] * Add /proc/sys/fs/suid_dumpable to provide system-wide control over whether or not set-user-ID and set-group-ID processes produce core dumps. The values accepted are: 0 (default) - traditional behaviour, any process which has changed privilege levels or is execute only will not be dumped. 1 - (debug) - all processes dump core when possible. The core dump is owned by the current user and no security is applied. This is intended for system debugging situations only. Ptrace is unchecked. 2 - (suidsafe) - any binary which normally would not be dumped is dumped readable by root only. This allows the end user to remove such a dump but not access it directly. For security reasons core dumps in this mode will not overwrite one another or other files. This mode is appropriate when adminstrators are attempting to debug problems in a normal environment [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=d6e711448137ca3301512cec41a2c2ce852b3d0a (commit)] * 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 250 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 [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=8e1a6dd2fddcc73c9e933758361e3d9c076c688a (commit)] - [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=4bedea94545165364618d403d03b61d797acba0b (commit)] - [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=5a0015d62668e64c8b6e02e360fbbea121bfd5e6 (commit)] - [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=249ac17e96811acc3c6402317dd5d5c89d2cbf68 (commit)] - [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=3f65ce4d141e435e54c20ed2379d983d362a2cb5 (commit)] * Improved CFQ IO scheduler: With support for I/O priorities [http://lwn.net/Articles/143474/ (LWN article)] [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=22e2c507c301c3dbbcf91b4948b88f78842ee6c9 (commit)] * 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)] [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=dc009d92435f99498cbc579ce76bf28e837e2c14 (commit)] * 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)] [http://lwn.net/Articles/128681/ (LWN article)] * 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)] * Add Direct Rendering Manager device driver for VIA Unichrome chipsets [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=22f579c621e2f264e6d093b07d75f99bc97d5df2 (commit)] * 32/64-bit DRM ioctl compatibility: 64 bit architectures running 32 bit software have to be compatible with 32-bit ioctl calls [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=9a18664506dbce5e23f3c5de7b1c5a042dd26520 (commit)] * Add ACL support for NFSv3 [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b7fa0554cf1ba6d6895cd0a5b02989a26e0bc704 (commit)] - [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a257cdd0e2179630d3201c32ba14d7fcb3c3a055 (commit)] and NFSv4 [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=4b580ee3dc00f9828a9a7aad2724f448fdc94075 (commit)] - [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=aa1870af92d8f6d6db0883696516a83ff2b695a6 (commit)] * New driver for the "trusted computing" (TPM) crap^Wchip [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=ebb81fdb3dd0be7514b84197c4f8388a17130f04 (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] * Pageout throttling: With silly pageout testcases it is possible to place huge amounts of memory under I/O. With a large request queue (CFQ uses 8192 requests) it is possible to place _all_ memory under I/O at the same time. This means that all memory is pinned and unreclaimable and the VM gets upset and goes oom. This patch limits the amount of memory which is under pageout writeout to be a little more than the amount of memory at which balance_dirty_pages() callers will synchronously throttle. This means that heavy pageout activity can starve heavy writeback activity completely, but heavy writeback activity will not cause starvation of pageout [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=3799f8fcebf940f21c69e80ded882245a8bc67a7 (commit)] * Address space randomization: With these patches applied, each process's stack will begin at a random location, and the beginning of the memory area used for mmap() (which is where shared libraries go, among other things) will be randomized as well [http://lwn.net/Articles/121845/ (LWN article)] [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=6a638354be1afb0a134558869e05ddc414707205 (commit)] - [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=f1a6b09deaee24b90b1fab42f93ce1b90f0d319b (commit)] - [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=6562d1975c95c8d6817e373c54f256013d062c5c (commit)] - [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=ad4f9c53a04ce077ae2dde82029bb20a6db705ab (commit)] - [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=c0e5a50b1f28e83b1563453f90f6f0866f3a9a90 (commit)] - [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=42a172a814759a29020e5d1ee580bf4eb86afed2 (commit)] - [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=6833da342273d41d059333e7b6ae81f18dbe6dde (commit)] - [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=9bdac354e0bea82ce76ebdf51d6bbd3993782f78 (commit)] * Cpusets [http://lwn.net/Articles/127936/ (LWN article)] [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=263c0646931c7259ce59188190e0822a121fc0ad (commit)] * "resource limits": RLIMIT_NICE and RLIMIT_RTPRIO added to allow non-root tasks to raise nice and rt priorities. Defaults to traditional behavior [http://lwn.net/Articles/134460/ (LWN article)] [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e43379f10b42194b8a6e1de342cfb44463c0f6da (commit)] * Multilevel security implementation for SELinux * Support for Cyrix MediaGX (aka GEODE) CPUs. Linux and GCC treat this chip as a 586TSC with some extended instructions and alignment reqirements [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=5576007ac28bdd68800ba5816d30ec393c5765ff (commit)] * I/O barrier support for serial ATA drives * Block I/O barrier rewrite (enables full barrier support on serial ATA drives) * Annotate /proc/$PID/maps with [heap]/[stack]/[vdso] markers [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=1d39bbb3d2b67ef76d1aaa1bdef39aee2971015b (commit)] * [http://www.superh.com/products/shyway.htm SuperHyway bus support] * Device mapper multipath support [http://lwn.net/Articles/124703/ (LWN article)] * Hot-pluggable parallel ports [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=2a6c1160578808ec4ef927ccd811791d1635f264 (commit)] * Updated FAT attributes: This updates the FAT attributes as well as corrects the handling of VFAT ctime [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=71b60d7133806152284b3507a901bda2ae645ab0 (commit)] * Handle MS_SYNCHRONOUS flag in FAT: FAT filesystem has been ignoring the "sync" mount option for ages. This patches fixes this, but (obviously) degrades performance unless you mount your FAT filesystem as asynchronous ("async mount option) [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=3e261a474262b622709d4851a1f26123e61ab13c (commit)] * Add timing information to printk messages [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=bd0ac8842ea3484a090fd30507c80ae4cb22de3b (commit)] * Allow admin to enable only some of the Magic-Sysrq functions [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=ea59ccebb3a5a8e76bf9505047e7706027ccf35a (commit)] * Loglevel boot option [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=5d65f423092e68ab44a2a6386c0b3f1985f79c41 (commit)] * Remove IPV6 "experimental" status ===== 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)] [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=fcbb3756afbe9a4703c45cab86f947412a0358cf (commit)] * New Pipe implementation [http://lwn.net/Articles/118750/ (LWN article)] * "Big Kernel Semaphore": Turns the Big Kernel Lock into a semaphore [http://lwn.net/Articles/102253/ (LWN article)] [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=deac7335cecb3c1e23a032a3f56a34c643871d3b (commit)] * Introduces the CAP_AUDIT_WRITE and CAP_AUDIT_CONTROL capabilities [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=324689781d5d305903f86578b71596fb2a96dd05 (commit)] * Simplify readahead code [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=e8eb956c01529eccc6d7407ab9529ccc6522600f (commit)] - [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=af006eae66249e03d1024fb71cdfae58e7fa7b7e (commit)] * Support for Extended Attributes in the body of large inode in ext3: saves space and improves performance in some cases [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=f0d1dbed7714ea06242c180c215641a92e655414 (commit)] * Add /proc/sys/kernel/bootloader_type [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=11e4268cffc468b60d2b756dc8eb455112b52308 (commit)] * Remove bitmaps from the buddy allocator [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=dda3a6ba68c264b2c850f2d9500b18d0c407a443 (commit)] * Enhanced I/O and memory accounting [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=c3adb238a7557416a3aa472038343d59c986d062 (commit)] - [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=cb6850ae19e4f6bf8ccec0ca770c7b4d1c5f9669 (commit)] * AMD Dual-core support [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=7bd66939b746c4c5a69eb74e2f83f967540e4691 (commit)] * Add Fujitsu FR-V CPU architecture [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=e003366285ac6c770b59cc618f9716c2e0ac0430 (commit)] * TCP port randomization [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=97f941fb4ca03c60da6f466721cc99f576f35877 (commit)] * SATA support for Intel ICH7 * DebugFS [http://lwn.net/Articles/115405/ (LWN article)] * Infiniband support [http://lwn.net/Articles/112531/ (LWN article)] * Remove UMSDOS [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=0512a33a91dbe2241a9a39ddeb3af1c27180aabd (commit)] * Major problems with TCP/IP BIC (the default congestion control) are resolved ===== 2.6.10 ===== * Released December 24, 2004 [http://www.kernel.org/pub/linux/kernel/v2.6/ChangeLog-2.6.10 changelog] * Accounting: report single record for multithreaded process. In kernels before 2.6.10, a separate process accounting record was written for each thread created using NTPL. Since 2.6.10, a single accounting record is written for the entire process [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=fa4c8b605c3313de9e3170b68b9e4576a6a5d45e (commit)] * x86-64 clustered APIC support [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=7f8b8c2a84d1098aec520d1f701c752f10bc5396 (commit)] * Make rlimit settings per-process instead of per-thread for POSIX compliance [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=f1a81f9149ac2321978e1357eb697f95cc31e989 (commit)] * POSIX compliant CPU clocks [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=5842ca68fe016d84f5e9a247fa4d7bdd54ff4ee4 (commit)] * Show aggregate per-process counters in /proc/$PID/stat: Add up resource usage counters for live and dead threads to show aggregate per-process usage. This mirrors the new getrusage() semantics. /proc/$PID/task/$TID/stat still has the per-thread usage [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=99ae4bcef104d602d790eb7da7cfc241ca6eefee (commit)] * Report the pages used for pagetables in /proc/$PID/status [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=713a7e3b7505f501892f031c5a51f7d6c0b89c11 (commit)] * Display committed memory limit (per the current overcommit ratio) and the amount of memory remaining under this limit in meminfo [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=2fdc35b54263b69e695334e465210a8db55a4cfa (commit)] * Thrashing control tuning [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=146f46fa1ec0b76fa76bced34b4849934791532c (commit)] * Big Kernel Lock preemption * IRQ subsystem code rework [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=133bb1db6e22ec5c8b4d0d015deed5b2fa3e447c (commit)] * Removal of the "BIO walking" helper functions * Generic circular buffer type [http://lwn.net/Articles/107314/ (LWN article)] [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=2dbf22c09c31b815202b2ffd6ba2efbfa66c0f72 (commit)] * Ext3 block reservation [http://lwn.net/Articles/81357/ (LWN article)] [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=75e03cd329884cf024993a2d61c4c32bf7bf6c49 (commit)] * Ext3 online resizing patches [http://lwn.net/Articles/89560/ (LWN article)] [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=05a7a2e19ecde7b7c559bdf5009327cff3504d9b (commit)] * Add I/O error handling to journal operations in reiserfs [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=ee0bc517002dcc9e80de36ba0a75bba39d951da9 (commit)] * sysfs backing store [http://lwn.net/Articles/69523/ (LWN article)] * I/O space write barriers [http://lwn.net/Articles/103183/ (LWN article)] [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=50ff053344ac1afbed10f2d5ef0749f816401890 (commit)] * Modular, on-the-fly switchable I/O schedulers [http://lwn.net/Articles/102976/ (LWN article)] [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=d35eec28b8b0da58d9e7d16548fc9105535fa7fe (commit)] * CFQ v2 update [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=579eef5fa2be5ed12bc8d3df3555f4e2d725af64 (commit)] * BSD secure levels module [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=05f59528b1256613657b6f7fdd7d5bd4b20cb902 (commit)] * In-kernel cryptographic key management [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=33a2761288241488ccccedc24688cf33acfba0c9 (commit)] * DVD+RW support [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=dcc573b12a9d623a13ef156bbde6b116507b437a (commit)] * CDRW packet writing support [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=23cabaea5ba85ddaba415e1d5e12073e2ce7f8e3 (commit)] * kernel events notification mechanism * Lock initializater unification [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=e09813fb9c74241a00883e6411e6e3cf66d63339 (commit)] * Panick blinking: Makes the keyboard blink when a oops happens - useful to know if the kernel has really oopsed or not (ej: X.org bugs) [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=5234bcafa9747f78ef723cb8bad14635cf17a811 (commit)] * Reworking of spin lock initialization [http://lwn.net/Articles/109505 (LWN article)] * Configurable /proc/kcore [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=71f16058e2ff1a154e6ed685a66819322c4cdf21 (commit)] ===== 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)] [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=e6a32818710d24cc910ec4d4333f99972b3cf563 (commit)] * Concurrent O_SYNC write support: In databases it is common to have multiple threads or processes performing O_SYNC writes against different parts of the same file.[http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=96deebee4470587bc1a855c787d6919df681cdac (commit)] * Reiserfs v3 barrier support: Add reiserfs support for flush barriers, mount with -o barrier=flush to enable them. Barriers are triggered on fsync and for log commits [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=b736095823b073209ef38622227c64c593260b73 (commit)] * ext3 barrier support: Mount with "mount -o barrier=1" to enable barriers [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=52a75614f1f753e01a5a9610c5390b5b7f795912 (commit)] * Support of disk barriers: [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=74c50b2c1af1b3535cf6c39ce684e60fa9f5dfdb (commit)] * m32r architecture support * Scheduler statistics: adds lots of CPU scheduler stats in /proc/$PID/stat [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=34b334118622daae225ab8fd56c79f54f6e15774 (commit)] * RLIMIT_MEMLOCK semantics change: In Linux kernels before 2.6.9, only privileged processes (CAP_IPC_LOCK) could lock memory, and the RLIMIT_MEMLOCK soft resource limit placed an upper limit on the number of bytes that a privileged process can lock. Since kernel 2.6.9: no limits are placed on the amount of memory that a privileged process can lock; and an unprivileged process is now able to lock memory up to the soft limit defined by RLIMIT_MEMLOC [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=adaeb8014406050050cf09416d1b0e3c23838fdb (commit)] * 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)] [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=2ea380e357f23ad37c1a06c6af509b68e9d57bb6 (commit)] * Support for POSIX's waitid() Also, now linux now supports the POSIX specification that SIGCHLD is sent to the parent when one of its children resumes as a consequence of receiving a SIGCONT signal. Also, WCONTINUED flag is added to waitpid() and waitid() [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=8e81583bfd488bb0b10aa799f7ec5f7b4a79fe73 (commit)]. * Shared memory scalability improvements * "flex mmap" user-space memory layout [http://lwn.net/Articles/91829/ (LWN article)] [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=0f7c9b1849d5365d27d4553e471a8e721c8dabb7 (commit)] * x86 PAE swapspace expansion. PAE is artificially limited in terms of swapspace to the same bitsplit as ordinary i386, a 5/24 split (32 swapfiles, 64GB max swapfile size), when a 5/27 split (32 swapfiles, 512GB max swapfile size) is feasible. This patch transparently removes that limitation by using more of the space available in PAE's wider ptes for swap ptes [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=7c1c60d14d175c41c5db03f20f44c80c4d683e52 (commit)] * Show Active/Inactive on per-node meminfo: The patch below enable to display the size of Active/Inactive pages on per-node meminfo (/sys/devices/system/node/node%d/meminfo) like /proc/meminfo [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=6d4a504b45abc756eac6374591f74c7afb722b6a (commit)] * 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)] * DSCP decapsulation for IPsec [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=cac8c9f3e6cd37a3dd079e12a01fc41d2650bf39 (commit)] * Removal of the ancient "busmouse" driver * Infrastructure for cluster-wide file locking * DRM subsystem cleanups * "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 * 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] * Allow x86 to reenable interrupts on lock contention [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=e61229e7fab63f09bcab5f6d54477453ca98684c (commit)] * VFS shrinkage tuning: This adds /proc/sys/vm/vfs_cache_pressure, which tunes the vfs cache versus pagecache scanning pressure. At vfs_cache_pressure=0 we don't shrink dcache and icache at all, at vfs_cache_pressure=100 there is no change in behaviour, at vfs_cache_pressure > 100 we reclaim dentries and inodes harder [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=95afb3658a8217ff2c262e202601340323ef2803 (commit)] * Conversion to the new symbolic link resolution code (which will eventually allow an increase in the maximum link depth) [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=c989bc66ec92aabcf88f429da52a798003edc505 (commit)] * Add O_NOATIME open flag support (GNU extension): If this bit is set, read will not update the access time of the file. It is useful if you want to do something with the file atime (for instance, moving files that have not been accessed in a while to somewhere else, or something like Debian's popularity-contest) but you also want to read all files periodically (for instance, tripwire or debsums) [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=037c5577398a9d87f0b9f8d68cbf17324b5b05fe (commit)] * MNT_EXPIRE for umount(): Intrinsic automount and mountpoint degradation support. This adds support for a filesystem (such as kAFS) to perform automounting intrinsically without the need for a userspace daemon. It also adds support for such mountpoints to be degraded at the filesystem's behest until they've been untouched long enough that they'll be removed [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=92b2af55e9bd44724700c8eef889c7b368df6c94 (commit)] * Process Accounting Version 3 format added [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=f0743e893fb6ede7126ee6bb9ebad092fc2e346c (commit)] * RLIMIT_SIGPENDING added, introducing per user rlimits for both queued signals and POSIX message queues [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=05eecc7a8a3765f2dd4b4d5d8a2e928f27c620f0 (commit)], and remove unused queued_signals global accounting - rtsig-max and rtsig-nr /proc interfaces went away [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=31c7f302112bb18a7fd93cf07f52478a2688f62b (commit)] * support for 64-bit Super-H hardware * Removal of the PC9800 subarchitecture (lack of mainteinance) [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=3f7da6b29ad4612b09ddb39dd7938d11e9551ba6 (commit)] * Preemptible kernel support for the PPC64 architecture [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=5cc01b3b2ec3228457146904098dbaed01fbe0f8 (commit)] * Oprofile support for ppc32 [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=1383f594343b33211e1755524ecfd6c70ea8d1c9 (commit)] * Support for new Apple Powerbooks [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=eb5b2db2e449555fb06da1a6c81506f7593a7ad3 (commit)] * x86 no-execute support [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=3d543a2d0ce112d99d584fa99a5005629bc3c871 (commit)] * Asynchronous I/O support for USB gadgets * HPET (High Precision Event Timer) support [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=d4e2cce3c8d7a766e474e9643514f1e6be7d758d (commit)] * Reworked symbolic link lookup implementation [http://lwn.net/Articles/91959/ (LWN article)] * Lockless loopback [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=b2079a04d5b73b7cf82bb88897e86e2aee91bbc4 (commit)] * New "CPU mask" implementation * RCU performance improvements [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=48adcee8afd0838517a7e3150daa617f5b0a0c25 (commit)] - [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=2321dce287dbaf69028be4678956451c9f1157b1 (commit)] * New wait_event_interruptible_exclusive() macro * Sysfs knobs for tuning the CFQ I/O scheduler [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=cde1f64d5ecbc78bc605937540421914b4f8cb8f (commit)] * Mirroring, snapshot and dm-zero targets for the device mapper [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=82fe372266fddf32677a7e0b4e2908bbcecf90dd (commit)] - [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=9665bd2e2f0ac296d7e4c40a50978dfa9f6dce07 (commit)] - [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=db40a292b7da5640a8a464b1e8a8251eaf175fd8 (commit)] * Reiserfs data=journal support [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=e4861db92ba98c0280abf75bbbe344a14254997b (commit)] * Added permissions checking on raw SCSI commands from user space [http://lwn.net/Articles/98379/ (LWN article)] [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=edfbc0a1c7df14728a31734ecafbbcacac85ac20 (commit)] * Removal of the fcntl() file operations method * New internal infrastructure for handling file positioning and seekability [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=9286c49cc35e0a5a4ed240a80ae9ef17b37948d8 (commit)] * Removal of the (non-functional) "fastroute" networking option * TEA, XTEA, Khazad crypto algorithms [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=ca28e25885ef28aeb01553d46e225805f9f26b10 (commit)] - [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=1dbd347b7c1f8d879361609eabed7100b5f30754 (commit)] * Add deb-pkg build option [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=4c25efaec1f969b16102dea37a38f33a2848cca5 (commit)] * TCP/IP congestion control changes from Reno to BIC ===== 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)] [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=5a2bc24fc647c9dfb10faae4b3a86ef05fc6f596 (commit)] * Full object-based reverse-mapping scheme and removal of the per-page PTE chains [http://lwn.net/Articles/86715/ (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 * Speedup readahead for seeky workloads [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=ef12b3c1abce83e8e25d27bdaab6380238e792ff (commit)] * Support for quotas, extended attributes, ACLs, SELinux in reiserfs [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=783206fcd4123700cf1bdced342dcd44d1b18e20 (commit)] - [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=c6df36c4c37c02dc45d390f7e78cbae51e4dcb2c (commit)] - [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=c86d577034339a7f7c149320be204d2ad0e3dbe2 (commit)] - [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=98ca2698e94ce62fa4f34ed6256019cabb74c8a5 (commit)] * Removal of the Intermezzo filesystem (lack of mainteinance) [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=4b18ece918a95d42904ea80a7dd62075e90d2f84 (commit)] * Remove IDE PATA TCQ support: It's been disabled some time ago, PATA TCQ has so many technical short comings, that it was never really interesting [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=066298b9347991e663ab9b0005e5fe36bad1b22c (commit)] * Dynamic addition of virtual disks on PPC64 iSeries [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=280fbb169c2d81004d866fdd6d51fc73b85b8210 (commit)] * Implement separate per-cpu stacks for processing interrupts and softirqs, along the lines of the CONFIG_4KSTACKS stuff on x86 [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=93836954c881c4c70d5cd8e64440ec17a841bfa8 (commit)] * PowerPC 750GX support [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=19f21bf97946de6637ff9d788f6fa0f5956e2597 (commit)] * new API for NUMA systems * Debugging option to put data symbols in kallsyms [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=e9bc643950e4125f25c73a12abf07669074709f5 (commit)] ===== 2.6.6 ===== * Released May 10, 2004 [http://www.kernel.org/pub/linux/kernel/v2.6/ChangeLog-2.6.6 changelog] * Removal of (struct page)->list and page dirty/clean/free lists, replaced by radix-tree tagging [http://lwn.net/Articles/80472/ (LWN article)] * Network packet timestamping optimization * Binary Increase Control (BIC) TCP developed by NCSU. It is yet another TCP congestion control algorithm for handling big fat pipes. For normal size congestion windows it behaves the same as existing TCP Reno, but when window is large it uses additive increase to ensure fairness and when window is small it uses binary search increase [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=d009df2d52345441873340c5b75ecc09b9343a22 (commit)] * [http://www.geocities.com/wronski12/posix_ipc/index.html POSIX message queues] [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=3bc45e612c620d7477b9ed3f285c9222b3bb558b (commit)] * fsync() and fdatasync() speed improvements to ext2/3 [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=c67ebc7f2644d612f7838a7f3aee1b766ce11e69 (commit)] * 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)] [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=166054344dda21795e3735af51edf1a261177e7e (commit)] * Oprofile for s390 [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=f42022413a50489115f36c5e9a16f5d13e4831a4 (commit)] * 4KB kernel stacks option for the i386 architecture [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=f061c2ccd81f62b777327aa3696d652b5fb34c6f (commit)] * Non-executable stack support for several architectures [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=9abd312fda38fb2ba7b3dfe147ecbadf5cf8f57f (commit)] * Make sysfs configurable [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=7aa1fb8cb5813bfe0a33e49975f1cceb0740251f (commit)] * Reiserfs updates: data=ordered support, space preallocation, laptop mode support, logging rework, support for nested transactions [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=d4265dd282789d98d47f2febea1e60ff2a494b82 (commit)] - [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=502c984ae4ddae1964c5aae6625e56516106c396 (commit)] - [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=050ff9c100d0a9e9cb45f575783ca801d2ca42c3 (commit)] - [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=3b0970c6144b4e5cb777d8b54926c1dbeb2e2b64 (commit)] - [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=46d1f3648ddccf15793a057f7aef3e2ce5be4f0e (commit)] * Reiserfs and ext3 "commit=0 support": Restores commit interval to the default value [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=9a9b4f749ce975a57994207e7c0c5fe57148ef60 (commit)] - [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=a4fe3fb94e6ea2e27d61abd8b141856f9d662fbd (commit)] * Ext3 journalled quotas [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=c69e3890a7a5d8c0587d958e618d303fad9d941a (commit)] * NFS v4: Implement server-side reboot recovery (mostly) [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=82107aa303e744b0e67f9daa44748c5abbf01d69 (commit)] * IPv6 support in SELinux [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=bdee92e07efd44da1dc87d47485c3f9ffaf0d976 (commit)] * The lightweight auditing framework [http://lwn.net/Articles/79326/ (LWN article)] [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=4527a30f157fca45c102ea49a2fb34a4502264eb (commit)] * 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 [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=a7c3e7eee4fe04953547e408f8db0d615c4c1afe (commmit)] * External module support [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=eeb0e992ae01bc7c68628c20df6df0bdc1c7fd28 (commit)] * Generic snapshot support code for filesystems (taken from XFS) [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=9a6f9f9177e7403e661eb876500d57d139c0d034 (commit)] ===== 2.6.5 ===== * Released April 4, 2004 [http://www.kernel.org/pub/linux/kernel/v2.6/ChangeLog-2.6.5 changelog] * Adaptative lazy readahead [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=87698a351b86822dabbd8c1a34c8a6d3e62e5a77 (commit)] * CDROMREADAUDIO dma support: support DMA for extrating audio [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=6cea839a9cb769215c2a3cf2056ff1b09ea08378 (commit)] * Netpoll infrastructure [http://lwn.net/Articles/75944 (LWN article)] * New "kref" reference counting mechanism [http://lwn.net/Articles/75920 (LWN article)] * AIO support for reiserfs [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=71b95e3ebaa658cdb361c78b613267776957995b (commit)] * Read-only support for UFS2 [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=e935d5b963465e88c09896056578d8ece381dc9a (commit)] * Display number of slab, mapped and pagetable pages in the sysrq-M output [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=53c3a164bde6946bb9ca65eb021b0cf96035b5d3 (commit)] ===== 2.6.4 ===== * Released March 11, 2004 [http://www.kernel.org/pub/linux/kernel/v2.6/ChangeLog-2.6.4 changelog] * NGROUPS_MAX, which sets the maximum number of groups a user can belong to has increased the value to 65536 (was previously 32). This limit is also visible via the read-only /proc/sys/kernel/ngroups_max file. [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=60f095f22d9325fc88f128df204242f932c261dc (commit)] * HFS rewrite and HFS+ support [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=b20f09ad0ab9e8ef215b5c6e0ead9effc6b80aee (commit)] - [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=367a470ffe60c58c69ae8bf288cbb4615002729b (commit)] * Add SOCK_SEQPACKET for Unix domain sockets [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=32b46f96d41dfc67ad9d81c39487242ecc84be16 (commit)] * Support for the Intel "ia32e" arch * PPC64 iommu and TBL flush rework [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=aeb9bd1688d76c938acc4b17da8db33e8cbe1133 (commit)] - [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=7fb3b50550a866099fc8ea34b8565f12a104e2fa (commit)] * UTF-8 tty mode [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=8026954da2b98a1a97af65d82c492816681c0faa (commit)] * 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 [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=d0119535d80f4f46d831fb48f1747e732c539c79 (commit)] * Add dm-crypto crypto module [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=f3abc91effde1fd547e6005f36c94313fe970dd2 (commit)] * Enable coredumps > 2 GB [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=0d274048bea986c7498a52ea5152d66833cd2cec (commit)] * Add -mregparm=3 config option [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=cef3796e3aa0003e818a64374f439d353c49d574 (commit)] ===== 2.6.3 ===== * Released February 18, 2004 [http://www.kernel.org/pub/linux/kernel/v2.6/ChangeLog-2.6.3 changelog] * G5 support [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=7f13170c2069ff86a2a0bfc3a247ade8aefeb6aa (commit)] * Support up to 255 char columns in virtual terminals [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=f3706e57b8e26db88ddaa5b0558e5db545f2fed7 (commit)] * Set HZ to 1000 in PPC32 [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=eb6e9d736fa3e79f97ee19325c996f69079f276e (commit)] * 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] * RAID 6 implementation [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=8869ce42bfc6301d645eabb64eea343569be9575 (commit)] * One-shot support for epoll [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=b248eb341da327a418e3fdd55bcad209c3802892 (commit)] * Add support for m68knommu [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=ccc218ff4f93913018f735201586caa19dc022db (commit)] * Schedulers interactivity improvements [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=80605ac9c461beed318da1af7f0355c66d90f66c (commit)] * 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)] [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=805bdfd65d2a8866870d1813cd39d739d1e2942e (commit)] * Add 32bit a.out support for x86-64 [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=dabe6cb0fc24dd4d3ee5b51c99f551a883dc2d66 (commit)] * Add `gcc -Os' config option [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=4b8ca7b0c8fb01ba87f9f6fa23f287e683f06346 (commit)] * Extensible Firmware Interface (EFI) support. [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=556bd742f63bdc0d0fdbfb28f907e272ed61d370 (commit)] ===== 2.6.0 ===== * Released December 18, 2003 [http://www.kernel.org/pub/linux/kernel/v2.6/ChangeLog-2.6.0 changelog] Rules: * Name of the new feature/description of the change, including a small explanation if possible * If its a feature and the feature has some web page add a link to it * If there's a paper (OLS!) or an article add a link to it. Or write one ;) * If there's a interesting mail (benchmarks, announcements if there's no web page, etc) about it in the mailing list, get a link in one of the list's archives (at [http://marc.theaimsgroup.com/?l=linux-kernel http://marc.theaimsgroup.com/?l=linux-kernel] please) and add the link here * Add commit's link if possible. For commits add a "(commit)" word and add the link there. Don't add the commit link to another word (please). * Searching commits for a given feature is easy. Just look for it in the shortlog, or try to find a file related with that change, then search it in the GIT tree representation and click the "history" link to see all the changes made which affects that file. The release dates will help you too. * There're two main GIT trees where you can search for commits: [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git the one which has all the stuff commited after 2.6.12-rc2] and [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git the one which has all the stuff BEFORE 2.6.12-rc2] TODO: * Import relevant data from [http://kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.14-rc5/2.6.14-rc5-mm1/broken-out/post-halloween-doc.patch davej's post halloween document] or remaining stuff from [http://kernelnewbies.org/status/latest.html Kernelnewbies status] * Find links to corresponding changesets (!!) * Keep track of what gets changed |
<<Include(Linux_4.19)>> |
Changes done in each Linux kernel release. Other places to get news about the Linux kernel are LWN kernel status, H-Online, or the Linux Kernel mailing list (there is a web interface in www.lkml.org). List of changes of older releases can be found at LinuxVersions. If you're going to add something here look first at LinuxChangesRules!
You can discuss the latest Linux kernel changes on the New Linux Kernel Features Forum.
Linux 4.19 was released on Monday, 22 October.
Summary: This release adds: the CAKE network queue management to fight bufferbloat, it is designed to fight intended to squeeze the most bandwidth and latency out of even the slowest ISP links and routers; support for guaranteeing minimum I/O latency targets for cgroups; experimental support for the future Wi-Fi 6 (802.11ax-drafts); memory usage for overlayfs users has been improved; a experimental EROFS file system optimized for read-only use; a new asynchronous I/O polling interface; support for avoiding unintentional writes to an attacker-controlled FIFO or regular files in world writable sticky directories; support for a Intel feature that locks part of the CPU cache for an application; and many new drivers and other improvements.
(bonus: the Linux 4.18 and Linux 4.17 changelogs, unavailable during their respective releases, are now complete)
Contents
-
Coolest features
- Better networking experience with the CAKE queue management algorithm
- Block I/O latency controller
- Preliminary Wi-Fi 6 (802.11ax) support
- New asynchronous I/O polling interface
- Overlayfs memory usage improvements
- New experimental EROFS file system
- Better protection in sticky directories (eg. /tmp)
- Intel Cache Pseudo-locking
- Even more fixes for CPU security bugs
- Core (various)
- File systems
- Memory management
- Block layer
- Tracing and perf
- Virtualization
- Security
- Crypto
- Networking
- Architectures
-
Drivers
- Graphics
- Storage
- Drivers in the Staging area
- Networking
- Audio
- Tablets, touch screens, keyboards, mouses
- TV tuners, webcams, video capturers
- Universal Serial Bus
- Serial Peripheral Interface (SPI)
- Watchdog
- Serial
- ACPI, EFI, cpufreq, thermal, Power Management
- Real Time Clock (RTC)
- Voltage, current regulators, power capping, power supply
- Pin Controllers (pinctrl)
- Multi Media Card (MMC)
- Memory Technology Devices (MTD)
- Industrial I/O (iio)
- Multi Function Devices (MFD)
- Pulse-Width Modulation (PWM)
- Inter-Integrated Circuit (I2C)
- Hardware monitoring (hwmon)
- General Purpose I/O (gpio)
- Leds
- DMA engines
- Hardware Random Number Generator (hwrng)
- Cryptography hardware acceleration
- PCI
- FRU Support Interface (FSI)
- Clock
- Various
- List of merges
- Other news sites
1. Coolest features
1.1. Better networking experience with the CAKE queue management algorithm
This release includes a new queuing discipline for the network packet scheduler: Common Applications Kept Enhanced (CAKE). It is designed to replace and improve upon the complex hierarchy of simple queuing disciplines presently required to effectively tackle the bufferbloat problem at the network edge.
CAKE targets the home router use case and is intended to squeeze the most bandwidth and latency out of even the slowest ISP links and routers, while presenting an API simple enough that even an ISP can configure it.
Recommended LWN article: Let them run CAKE
Project page: https://www.bufferbloat.net/projects/codel/wiki/Cake/
Technical information: https://www.bufferbloat.net/projects/codel/wiki/CakeTechnical/
Paper: https://arxiv.org/abs/1804.07617
Code: commit 1, 2, 3, 4, 5, 6, 7, 8
1.2. Block I/O latency controller
This release adds a new controller that attempts to guarantee minimum I/O latency targets for cgroups. As long as everybody is meeting their latency target the controller doesn't do anything, but once a group starts missing its target it will attempt to maintain average IO latencies below the configured latency target, throttling anybody with a higher latency target than the victimized group. Latency targets need to be enabled in the new io.latency cgroup file, but experimentation is needed to determine the latency targets for a given hardware configuration. For more details see the documentation.
Recommended LWN article: The block I/O latency controller
Code: commit 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13
1.3. Preliminary Wi-Fi 6 (802.11ax) support
This release adds preliminary support in the wireless stack for the existing drafts of the future 802.11ax standard, also known as Wi-Fi 6.
1.4. New asynchronous I/O polling interface
After being merged and reverted in 4.18, this feature adds a simple one-shot poll through the io_submit(2) interface to poll for the readiness of file descriptors using the aio subsystem. It allows aio poll to work without any additional context switches, unlike epoll. To poll for a file descriptor the application should submit an iocb of type IOCB_CMD_POLL. It adds a io_pgetevents(2) system call, which is the io_getevents(2) equivalent of ppoll(2)/pselect(2) and allows to properly mix signals and aio completions (especially with IOCB_CMD_POLL). The API is based on patches that existed in RHAS2.1 and RHEL3, which means it already is supported by libaio.
Recommended LWN article: A new kernel polling interface
1.5. Overlayfs memory usage improvements
When users of overlayfs (eg. containers) change metadata on a file, overlayfs makes a copy of the entire file's cache for the upper layer. This means that some actions, eg. doing chown() on whole image directory tree, will increase memory usage considerably. This release allows to delay copy up of data: when file is on lower layer and only metadata is modified (except size), the kernel will only only copy up the metadata and continue to use the data from the lower file until file is opened for writing. Following the previous example, doing chown() on whole image directory tree won't trigger a copy of the file's data, containers will continue sharing the page cache. For instructions on how to turn on this feature, see the documentation.
This release also properly implements regular file operations for overlayfs, removing several hacks and allowing proper interaction of read-only open files with copy-up, possibility to implement fs modifying ioctls properly, and others. Overlayfs can now act as a POSIX compliant filesystem with some features turned on, for more details see the documentation
Code copy up medata only: commit 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28
Code stack file operations: 1, 2, 3, 4, 5, 6, 7, 8, 8, 9, 10, 11, 12, 13, 13, 14, 15, 16, 17, 18, 19
1.6. New experimental EROFS file system
The new EROFS file system has been added in this release. It is a experimental project, under the staging directory, and still expects to make changes to the on-disk layout. EROFS stands for Enhanced Read-Only File System, and it is a lightweight read-only file system with a modern design (eg. page-sized blocks, inline xattrs/data, etc.) for scenarios which need high-performance read-only requirements, eg. firmwares in mobile phone or Livecds. It also provides VLE compression support, focusing on random read improvements, keeping relatively lower compression ratios, which is useful for high-performance devices with limited memory and ROM space.
Code: source
1.7. Better protection in sticky directories (eg. /tmp)
This release tries to avoid unintentional writes to an attacker-controlled FIFO or regular files by disallowing open of FIFOs or regular files not owned by the user in world writable sticky directories, unless the owner is the same as that of the directory or the file is opened without the O_CREAT flag. The purpose is to make data spoofing attacks harder. This protection can be turned on and off separately for FIFOs (protected_fifos) and regular files (protected_regular) via sysctl, just like the already existing symlinks/hardlinks protection
Code: commit
1.8. Intel Cache Pseudo-locking
This release adds support for an Intel-specific CPU feature. It allows a user to specify the amount of CPU cache space that an application can fill, it isolates that region of the CPU cache and 'locks' it. From that point on will only serve cache hits. The cache pseudo-locked memory is made accessible to user space where an application can map it into its virtual address space and thus have a region of memory with reduced average read latency. The locking is not perfect and gets totally screwed by WBINDV and similar mechanisms, but it provides a reasonable enhancement for certain types of latency sensitive applications.
Documentation: Documentation/x86/intel_rdt_ui.txt
Code: commit 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38
1.9. Even more fixes for CPU security bugs
This release includes the usual round of patches to deal with the new and exciting CPU security bugs:
x86: Add protection against L1TF, aka L1 Terminal Fault, yet another speculative hardware engineering trainwreck. It's a hardware vulnerability which allows unprivileged speculative access to data which is available in the Level 1 Data Cache. For more details, read this LWN article: Meltdown strikes back: the L1 terminal fault vulnerability; and/or see the documentation
- x86: Add protection against userspace-userspace spectreRSB
- x86: Support Enhanced IBRS on future Intel CPUs as the default Spectre V2 mitigation technique instead of retpoline for improved performance
- Support page-table isolation protection (KPTI) for x86-32
- Implement syscall wrappers in arm64 to minimize the risk of userspace-controlled values being used under speculation
- KVM Shadow Paging performance improvements to improve the performance of shadow paging when the guest kernel is using KPTI
- Support for flushing the count cache on context switch on some POWERPC IBM CPUs (controlled by firmware), as a Spectre v2 mitigation
- Many small patches across the entire kernel to fix the possible Spectre exploitations warned by GCC
2. Core (various)
(FEATURED) Asynchronous I/O: implement IOCB_CMD_POLL commit, commit, commit, commit
Raise the minimum required gcc version to 4.6 commit
Provide a command line (nosmt) and a sysfs knob (/sys/devices/system/cpu/smt/*) to control Simultaneous Multi Threading commit
Add an option for uncompressed kernel commit
Salted build ids to allow unique build ids commit, commit, commit, commit
Set $HOSTCFLAGS and $HOSTLDFLAGS variables from the environment commit, commit, commit, commit, commit
locking: Implement an algorithm choice for Wound-Wait mutexes commit
task scheduler: Remove unused sched_time_avg_ms sysctl commit
tools/vm/page-types.c: add support for idle page tracking commit and include shared map counts commit
usercopy: Enabling HARDENED_USERCOPY may cause measurable regressions in networking performance: up to 8% under UDP flood. Allow to disable it at runtime with hardened_usercopy=off option commit
Enable early printing of hashed pointers. Aid debugging early in the boot sequence for machines that do not have a hw RNG by adding the command line option debug_boot_weak_hash commit, commit, commit, commit
virtual terminal: The vt code translates UTF-8 strings into glyph index values and stores those glyph values in the screen buffer. Because there can only be at most 512 glyphs, it is impossible to represent most unicode characters. This release introduces unicode screen support to the core console code with /dev/vcs* as a first user commit, commit, commit
proc: show fd locks taken by processes from another pidns commit
Power management: Add a new framework for idle injection, to be used by all of the idle injection code in the kernel in the future commit
Allow deferred driver probing to timeout commit, commit, commit, commit, commit, commit
driver core: Add a debugfs entry to show deferred devices commit
optimization: epoll: loosen irq safety when possible commit, commit, commit, commit
optimization: cpufreq/schedutil: Take time spent in interrupts into account commit
optimization: page_alloc: double zone's batchsize commit
3. File systems
- EROFS
(FEATURED) Add EROFS (Enhanced Read-Only File System), a lightweight read-only file system with modern designs for scenarios which need high-performance read-only requirements, eg. firmwares in mobile phone or LIVECDs source
- BTRFS
- XFS
Remove deprecated barrier/nobarrier mount commit
- CIFS
- EXT4
- F2FS
Add fsync_mode=nobarrier mount option which gives an option to user where it skips issuing cache flush commands to underlying flash storage commit
Enable -o discard by default commit
Introduces a new mount option fault_type to assist old fault_injection commit
Support discard submission error injection commit
- FAT
Add FITRIM ioctl for FAT file system commit
- NFS
- OVERLAYFS
(FEATURED) Delayed copy up of data commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
(FEATURED) Stack file operations: this allows removal of several hacks from the VFS, proper interaction of read-only open files with copy-up, possibility to implement fs modifying ioctls properly, and others commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
- PSTORE
Add zstd compression support commit
- UBIFS
4. Memory management
/proc/meminfo: add percpu populated pages count commit
huge pages microoptimization: Copy target sub-page last when copy huge page, because it is possible for the application to access the begin of the huge page after copying the huge page, and copying the target sub-page last will keep the CPU caches warm for the app commit, commit, commit, commit
Introduce a tiny implementation of cgroup-aware OOM killer, which adds an ability to kill a cgroup as a single unit and so guarantee the integrity of the workload. A new knob for cgroup v2 memory controller is added: memory.oom.group. The knob determines whether the cgroup should be treated as an indivisible workload by the OOM killer. If set, all tasks belonging to the cgroup or to its descendants (if the memory cgroup is not a leaf cgroup) are killed together or not at all. Incoming releases will improve this mechanism commit, commit, commit
5. Block layer
(FEATURED) Introduce blk-iolatency io controller, a latency based io controller for cgroups commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Separates block layer statistics for discards from writes. Discards are currently bundled with writes in the various /sys/block/*/stat files as well as in /proc/diskstats. The new discard statistics are appended to the current /sys/bloc/*/stat and /proc/diskstats on output such that they are the last four entries of each. These are analogous to the four read and write statistics commit, commit, commit, commit, commit, commit
dm integrity: Add the ability to store DM integrity metadata on a separate device. This feature is activated with the option meta_device:/dev/device commit, commit, commit, commit, commit, commit, commit, commit, commit
- rbd
null_blk: add zone support commit
6. Tracing and perf
perf: add key binding ('p') and option (--percent-type) for switching between local/global percentage in annotation output/browser. Local means % within symbol, global within the whole perf data commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
tracing: Add -mcount-nop option support commit
tracing: Allow gcov profiling on only ftrace subsystem commit
kprobes: Remove jprobe API implementation commit
7. Virtualization
8. Security
(FEATURED) Avoid unintentional writes to an attacker-controlled FIFO or regular file: disallow open of FIFOs or regular files not owned by the user in world writable sticky directories, unless the owner is the same as that of the directory or the file is opened without the O_CREAT flag. The purpose is to make data spoofing attacks harder. This protection can be turned on and off separately for FIFOs (protected_fifos) and regular files (protected_regular) via sysctl, just like the symlinks/hardlinks protection commit
kexec/firmware: support system wide policy requiring signatures. It allows the customer to define a policy which requires the kexec'ed kernel images, firmware, and/or kernel modules to be signed. In addition, this patch set includes the ability to configure a build time IMA policy, which is automatically loaded at run time without needing to specify it on the boot command line and persists after loading a custom kernel policy commit, commit, commit, commit, commit, commit, commit, commit
9. Crypto
random: add a config option to trust the CPU's hwrng commit
10. Networking
Support list based batching and stack traversal of socket buffers. It allows the network stack to receive a list of packets and process them as a unit, rather than handling each packet singly in sequence commit, commit, commit, commit, commit, commit, commit, commit, commit, merge
Maintain IP fragment queue in an rbtree, but optimize properly for in-order frags commit, commit, commit, commit, commit
Improve handling of ACKs on hole repairs commit, commit, commit, commit
- TCP
Add SNMP counter (LINUX_MIB_TCPZEROWINDOWDROP for zero-window drops commit
Add SNMP counter (LINUX_MIB_TCPRCVQDROP) for drops when try to queue in rcv queue commit
Adds 3 RFC4898 stats: tcpEStatsPerfHCDataOctetsOut, tcpEStatsPerfOctetsRetrans, tcpEStatsStackDSACKDups and an addtional stat to record the number of data packet reordering events seen, tcp_reord_seen commit, commit, commit, commit, commit
Make TCP_USER_TIMEOUT socket option more accurate commit, commit, commit
IPv4: Control socket buffer reprioritization after forwarding. After IPv4 packets are forwarded, the priority of the corresponding socket buffer is updated according to the TOS field of IPv4 header. This overrides any prioritization done earlier by e.g. an skbedit action or ingress-qos-map defined at a vlan device. A sysctl (ip_forward_update_priority) is added that lets users prevent this behaviour commit, commit, commit, commit, commit, commit, commit
- IPv6
Preventing the kernel from responding to ICMP Echo Requests messages can be useful in several ways. For IPv4, the sysctl icmp_echo_ignore_all could be used for this function, this release adds a echo_ignore_all sysctl for the IPv6 equivalent commit
ila: Add ILA_CMD_FLUSH netlink command to clear the ILA translation table commit
route: add support for directed broadcast forwarding. It implements the feature described in rfc1812 section-5.3.5.2 and rfc2644. It allows the router to forward directed broadcast when sysctl bc_forwarding is enabled commit, commit
(FEATURED) Support 802.11ax High-Efficiency wireless commit, commit, commit, commit
802.11: Extend scan privacy by randomizing the sequence number of the probe request frames transmitted, and reducing the probe request content to just the SSID, supported rates, DS element and - if given - requested elements from userspace commit, commit, commit, commit, commit
TLS: Generic infrastructure to offload TLS crypto to a network devices. It enables the kernel TLS socket to skip decryption and authentication operations for SKBs marked as decrypted on the receive side of the data path. Leaving those computationally expensive operations to the NIC commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Support for Tx queue selection based on Rx queue(s) map. This is done by configuring Rx queue(s) map per Tx-queue using sysfs attribute. If the user configuration for Rx queues does not apply, then the Tx queue selection falls back to XPS using CPUs and finally to hashing commit, commit, commit, commit, commit, commit, commit
Add virtual XFRM interfaces to route IPSec traffic, which avoid all of the limitations of existing IPSEC tunnels commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, merge
Support DSCP and flowlabel per-transport in SCTP commit, commit, commit, commit, commit
Add parameter support to devlink commit, commit, commit, commit, commit, commit, commit, commit
Support regions and region snapshots in devlink, allowing users access to driver defined address regions and reading and dumping snapshots from them commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
devlink: Add enable_sriov parameter to enables SR-IOV commit
Allow to attach XDP programs to both HW and SW at the same time on a given device. This enables advanced use cases where some of the work is offloaded to the NIC and some is done by the host commit, commit, commit, commit, commit, commit, commit
bridge: a new bridge port option that allows any port to have any other port (in the same bridge of course) as its backup and traffic will be forwarded to the backup port when the primary goes down. This is mainly used in MLAG and EVPN setups where we have peerlink path which is a backup of many (or even all) ports and is a participating bridge port itself commit, commit
- packet scheduler:
Introduce a set of kernel interfaces that can be used by applications that require (time-based) Scheduled Tx of packets. It adds a new SO_TXTIME socket option, and the ETF "earliest txtime first" qdisc, that provides per-queue TxTime-based scheduling. For applications/systems that the concept of time slices isn't precise enough, the etf qdisc allows applications to control the instant when a packet should leave the network controller. Recomended LWN article: Time-based packet transmission. commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, merge
(FEATURED) Add Common Applications Kept Enhanced (cake) qdisc (paper). sch_cake targets the home router use case and is intended to squeeze the most bandwidth and latency out of even the slowest ISP links and routers, while presenting an API simple enough that even an ISP can configure it commit, commit, commit, commit, commit, commit, commit, commit
Allow the flower classifier to match on tunnel options and the tunnel key action to set them commit, commit
Add skbprio, the SKB priority queue scheduler. It schedules packets according to skb->priority, which is useful for request packets in DoS mitigation systems such as Gatekeeper commit
set/match the tos/ttl fields of TC based IP tunnels commit, commit, commit
Introduce matching on double vlan/QinQ headers for TC flower commit, commit, commit, commit, commit
Add new action inheritdsfield. It copies the field DS of IPv4 and IPv6 packets into skb->priority. This enables later classification of packets based on the DS field commit
Add support for slotting with non-uniform distribution to netem packet scheduler commit
Support for templates in packet scheduler classifier commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
TIPC: Extend the existing TIPC socket diagnostics framework for information related to TIPC group communication commit
Add Geneve Options support to the TC tunnel key action. It provides the plumbing required to configure Geneve variable length options commit, commit, commit, commit
- Bluetooth
Implement Get, Set PHY Configuration and setting of PHY in Advertising. Also implemented extended advertising, scanning and connection commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Add HCI command for clear Resolv list commit
Basic implementation of veth driver XDP commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
- BPF
Implement cgroup local storage for bpf programs. The main idea is to provide a fast accessible memory for storing various per-cgroup data, e.g. number of transmitted packets. Cgroup local storage looks as a special type of map for userspace, and is accessible using generic bpf maps API for reading and updating of the data. The (cgroup inode id, attachment type) pair is used as a map key. A user can't create new entries or destroy existing entries; it happens automatically when a user attaches/detaches a bpf program to a cgroup commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Introduce BPF_MAP_TYPE_REUSEPORT_SOCKARRAY and BPF_PROG_TYPE_SK_REUSEPORT to allow userspace to be capable of directly setting up a bpf map which can then be consumed by the bpf prog to make decision. In this case, decide which SO_REUSEPORT sk to serve the incoming request. By adding BPF_MAP_TYPE_REUSEPORT_SOCKARRAY, the userspace has total control and visibility on where a SO_REUSEPORT sk should be located in a bpf map. BPF_PROG_TYPE_SK_REUSEPORT allows the bpf prog to directly select a sk from the bpf map commit, commit, commit,commit, commit, commit, commit, commit, commit
Introduce a new bpftool command: cgroup tree. The idea is to iterate over the whole cgroup tree and print all attached programs commit, commit, commit
Add support to call bpf_get_socket_cookie() helper from two more program types: BPF_PROG_TYPE_CGROUP_SOCK_ADDR and BPF_PROG_TYPE_SOCK_OPS commit, commit, commit, commit
Add TCP-BPF callback for listening sockets commit, commit, commit, commit, commit, commit
Add support for sharing BPF objects within one ASIC. This will allow us to reuse of the same program on multiple ports of a device leading to better code store utilization. It also enables sharing maps between programs attached to different ports of a device commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Extend the abilities of bpftool prog load beyond the simple cgroup use cases. Three new parameters are added: type - allows specifying program type; map - allows reusing existing maps; dev - offload/binding to a device commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
- ieee802154
ipmr: Add support for IGMPMSG_WRVIFWHOLE which is used to pass full packet and real vif id when the incoming interface is wrong commit
libceph: support for cephx v2 commit, commit, commit, commit, commit, commit, commit, commit
- netfilter
openvswitch: add kernel datapath clone action. In case the actions within clone do not modify the current flow, the actions are executed without making a copy of current key before execution commit
- netlink
SCTP: add support for SCTP_REUSE_PORT sockopt commit
smc: pnetid and SMC-D support commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
11. Architectures
- ARM
- New SoCs/platforms
Raspberry Pi Compute Module (CM1) and IO board commit
- i.MX6SSL from NXP
Renesas RZ/N1D SoC (R9A06G032), Dual Cortex-A7 with Ethernet, CAN and PLC interfaces commit, commit
TI AM654 SoC, Quad Cortex-A53, safety subsystem with Cortex-R5 controllers, communication and PRU subsystem and lots of other interfaces (PCIe, USB3, etc) commit, commit
- New boards and systems
- Other Device Tree Sources
Add S805X based P241 board commit
meson-gxl: add support for the Oranth Tanix TX3 Mini commit
meson-gxl: add support for the S905W SoC and the P281 board commit
Add Mediatek X20 Development Board support commit
rockchip: add 96boards RK3399 Ficus board commit
rockchip: add Google Bob commit
zynqmp: Add support for Avnet Ultra96 rev1 board commit
zynqmp: Remove ep108 board commit
Add DT support for Octavo Systems OSD3358-SM-RED based on TI AM335x commit
Add devicetree for Storlink/Storm SL93512R commit
BCM5301X: Add support for Linksys EA9500 commit
add support for Gatwick board based on WB50N commit
am335x: add am335x-sancloud-bbe board support commit
imx31: add LogicPD MX31Lite board description commit
imx53: Add support for imx53 HSC/DDC boards from K+P commit
imx6dl: Add Engicam i.CoreM6 1.5 Quad/Dual MIPI starter kit support commit
imx6ul: Add DTS for ConnectCore 6UL SBC Express commit
imx6ul: Add DTS for ConnectCore 6UL System-On-Module (SOM) commit
imx: Add ZII SCU2 Mezz board commit
imx: Add ZII SCU3 ESB commit
vf610: Add ZII CFU1 board commit
vf610: Add ZII SSMB SPU3 board commit
zynq: Add support for Z-turn board commit
OMAP2+: sleep33/43xx: Add RTC-Mode support commit
at91: pm: Add ULP1 mode support commit
- KVM
vgic: Let userspace opt-in to writable v2 IGROUPR commit
coresight: ETM: Add support for Arm Cortex-A73 and Cortex-A35 commit
coresight: Introduce support for Coresight Address Translation Unit commit
arm64: implement syscall wrappers to minimize the risk of userspace-controlled values being used under speculation commit
arm64: Wire up support for qspinlock, replacing the ticket lock code commit
arm64: Add support for STACKLEAK gcc plugin commit
- New SoCs/platforms
- X86
(FEATURED) Add protection against L1TF, aka L1 Terminal Fault, yet another speculative hardware engineering trainwreck. It's a hardware vulnerability which allows unprivileged speculative access to data which is available in the Level 1 Data Cache. While Meltdown breaks the user space to kernel space protection, L1TF allows to attack any physical memory address in the system and the attack works across all protection domains. It allows an attack of SGX and also works from inside virtual machines because the speculation bypasses the extended page table (EPT) protection mechanism. A l1tf boot option, with several parameters, is provided to control the mitigations applied by the kernel. FOr more details, see Documentation/admin-guide/l1tf.rst merge
(FEATURED) Add protection against userspace-userspace spectreRSB commit
(FEATURED) Support page-table isolation protection for x86-32 commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
(FEATURED) intel_rdt: support Cache Pseudo-Locking. Cache Allocation Technology (CAT), part of Intel Resource Director Technology, enables a user to specify the amount of cache space into which an application can fill. Cache pseudo-locking builds on the fact that a CPU can still read and write data pre-allocated outside its current allocated area on cache hit. With cache pseudo-locking data can be preloaded into a reserved portion of cache that no application can fill, and from that point on will only serve cache hits. The cache pseudo-locked memory is made accessible to user space where an application can map it into its virtual address space and thus have a region of memory with reduced average read latency commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
- Support Enhanced IBRS on future Intel CPUs as the default Spectre V2 mitigation technique instead of
retpoline for improved performance commit
intel_th: pci: Add Ice Lake PCH support commit
iommu/amd: Add support for IOMMU XT mode commit
iommu/amd: Add basic debugfs infrastructure for AMD IOMMU commit
perf: support the Extended PEBS feature, introduced in Goldmont Plus microarchitecture, supports all events as "Extended PEBS" commit, commit, commit, commit
- platform
Add ACPI i2c-multi-instantiate pseudo driver commit
asus-wmi: Add keyboard backlight toggle support commit
intel-hid: Add support for Device Specific Methods commit
intel-vbtn: Add support for dock mode detection commit
silead_dmi: Add touchscreen info for the Chuwi Vi10 tablet commit
thinkpad_acpi: Add support for calculator hotkey commit
tsc: Redefine notsc to behave as tsc=unstable commit
- KVM
Shadow Paging performance improvements to improve the performance of shadow paging when the guest kernel is using KPTI commit, commit, commit, commit, commit, commit, commit, commit, commit, commit , commit, ,commit, commit, commit, commit, commit, commit
nVMX: nested VMCS shadowing. It expose VMCS Shadowing feature to L1 guest. This is done in order to accelerate the use-case of Triple-Virtualization commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Nested VMX live migration commit
Hyper-V: Introduce PV guest address space mapping flush support commit, commit, commit, commit
- MIPS
Introduce NT_MIPS_DSP & NT_MIPS_FP_MODE ELF notes & corresponding regsets to expose DSP ASE & floating point mode state respectively, both for live debugging & core dumps commit, commit
Loongson: Add Loongson-3A R3.1 basic support commit
Make elf2ecoff work on 64bit host machines commit
ath79: add support for QCA953x QCA956x TP9343 commit
- NDS32
- POWERPC
Add barrier_nospec implementation for NXP PowerPC Book3E commit
Support for flushing the count cache on context switch on some IBM CPUs (controlled by firmware), as a Spectre v2 mitigation commit, commit, commit, commit, commit
Disable the speculation barrier from the command line commit
via-pmu: Replace via-pmu68k driver with via-pmu driver commit
via-pmu: Add support for m68k PowerBooks commit
powernv: Add support to enable sensor groups commit
Remove POWER9 DD1 support commit
- S390
Host large page support for KVM guests commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
ftrace: Add -mfentry and -mnop-mcount support commit
qeth: add statistics for consumed buffer elements commit
zcrypt: AP bus support for alternate driver(s) commit
zcrypt: Show load of cards and queues in sysfs commit
Support for perf report -D commit
perf list: Add support for detailed PMU event description commit
perf report: Add support for s390 auxiliary trace commit, commit
perf stat: Add transaction flag (-T) support for s390 commit
12. Drivers
12.1. Graphics
Add vkms, the Virtual Kernel Mode-Setting driver. It creates a very basic kms driver with 1 crtc/encoder/connector/plane. VKMS driver would be useful for testing, or for running X (or similar) on headless machines and be able to still use the GPU. Thus it enables a virtual display without the need for hardware display capability commit, commit
console/fbcon: defer fbcon taking over the console from the dummy console until the first text is displayed on the console. Together with the "quiet" kernel commandline option, this allows fbcon to still be used together with a smooth graphical bootup commit
vmwgfx: support for multisample surfaces commit, commit, commit, commit
Displayport support for CEC tunneling over AUX commit
efifb: BGRT: Add nobgrt option commit
debugfs: Add internal client debugfs file commit
- amdgpu
Modify CS IOCTL to allow its input as command buffer and an array of buffer handles to create a temporay bo list and then destroy it when IOCTL completes. This saves on calling for BO_LIST create and destry IOCTLs in MESA and by this improves performance commit
Add stutter mode control in a module parameter for RV. Stutter mode can save power in low DRAM use cases including but not limited to productivity application use, web browsing, and video playback commit
JPEG engine support on VCN merge
Add a sysfs entry to read GPU load from userspace commit
DP YCbCr 4:2:0 support commit
Set/read lane settings through debugfs commit
Add new polaris pci id commit
Remove internal/unused kernel module parameters commit
- amdkfd
Add Raven support commit
Add CU-masking ioctl to KFD. It allows a KFD client to control the set of CUs used by a user mode queue for executing compute dispatches. This can be used for optimizing the partitioning of the GPU and minimize conflicts between concurrent tasks commit
Add debugfs interface to trigger HWS hang commit
- i915
Icelake: Add power well support commit
Icelake: Add DSI support commit
Introducing Whiskey Lake platform commit
Introducing Amber Lake platform commit
Remove support for legacy debugfs crc interface commit
Add DisplayPort CEC-Tunneling-over-AUX support commit
gvt: Add 64K huge gtt support commit and 2M huge gtt support commit
armada: Atomic modesetting support completed commit, commit, commit, commit
- sun4i
mediatek: MT2712 SoC support merge
msm: Add A6XX device support commit
- mali-dp
- panel
Add Ilitek ILI9881c panel driver commit
Add support for the EDT ETM0700G0BDH6 commit
Add support for the EDT ETM0700G0EDH6 commit
p079zca: Support Innolux P097PFG panel commit
simple: Add Innolux TV123WAM panel driver support commit
simple: Add Sharp LQ035Q7DB03 panel support commit
simple: Add newhaven, nhd-4.3-480272ef-atxl LCD commit
simple: Add support for BOE HV070WSA-100 panel to simple-panel commit
simple: Add support for Rocktech RK070ER9427 LCD panel commit
Add AUO g070vvn01 display support (800x480) commit
pl111: Support Nomadik LCDC variant commit
tinydrm: new driver for ILI9341 display panels commit
- vc4
ipu-v3: add support for XRGB32 and XBGR32 V4L2 pixel formats commit
12.2. Storage
nvme: implement the Namespace Write Protect feature described in "NVMe TP 4005a Namespace Write Protect" commit, commit, commit
nvme: Add support for Asynchronous Namespace Access as specified in NVMe 1.3 TP 4004 commit, commit, commit, commit, commit, commit, commit, commit
nvmet-rdma: support max(16KB, PAGE_SIZE) inline data commit
nvmet: add commands supported and effects log page commit
- scsi
Switch to scsi-mq by default commit
tcmu: add module wide block/reset_netlink support commit
ufs: add Hisilicon ufs driver code commit
lpfc: Support duration field in Link Cable Beacon V1 command commit
megaraid_sas: Support FW provided TM timeout values commit
remove NCR_D700 driver commit
remove NCR_Q720 driver commit
ata: sata_rcar: Add r8a77965 support commit
12.3. Drivers in the Staging area
(FEATURED) erofs: Add EROFS (Enhanced Read-Only File System), a lightweight read-only file system with modern designs for scenarios which need high-performance read-only requirements, eg. firmwares in mobile phone or LIVECDs source
Gasket driver framework + Apex driver commit
imx: add support for RGB565_2X8 on parallel bus commit
Add driver for Xilinx AXI-Stream FIFO v4.1 IP core commit
fsl-mc: Move DPIO from staging to drivers/soc/fsl commit
vboxvideo: Add page-flip support commit
Remove Skein and Threefish code commit
comedi: drop serial2002 driver commit
iio: Drop ADIS16060 driver from staging commit
mt7621-gpio: remove driver from staging commit
12.4. Networking
- Bluetooth
Add a new Realtek 8723DE ID 0bda:b009 commit
btqca: Add wcn3990 firmware download support commit
btrtl: add support for retrieving the UART settings commit
btrtl: add support for the RTL8723BS and RTL8723DS chips commit
hci_h5: Add support for the RTL8723BS commit
hci_h5: Add support for enable and device-wake GPIOs commit
hci_h5: Add support for serdev enumerated devices commit
hci_qca: Add support for Qualcomm Bluetooth chip wcn3990 commit
hci_qca: Enable 3.2 Mbps operating speed commit
mediatek: Add protocol support for MediaTek serial devices commit
Infiniband/mlx5: Introduce mlx5 DEVX interface. It enables direct access from the user space area to the mlx5 device driver by using the KABI mechanism. The main purpose here is to make the user space driver as independent as possible from the kernel so that future device functionality and commands can be activated with minimal to none kernel changes commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Infiniband/mlx5: Support RoCE ICRC encapsulated error counter commit
RDMA/hns: Add 50GE type of hnae3 device match commit
RDMA/hns: Add TPQ link table support commit and TSQ link table support commit
hns3: Add vlan filter setting by ethtool command -K commit
aquantia: Add ethtool operations: renegotiate commit, ring size configuration commit, rx/tx flow control ethtools callback commit
ath6kl: add support for Dell Wireless 1537 commit
ath10k: add debugfs file warm_hw_reset commit
ath10k: support for multicast rate control commit
bnxt_en: Add DCBNL DSCP application protocol support commit
bnxt_en: Add external loopback test to ethtool selftest commit
bnxt_en: Add hwmon sysfs support to read temperature commit
bnxt_en: Add support for ethtool get dump commit
- can
cxgb4: Add new T5 PCI device id 0x50ae commit, 0x50af and 0x50b0 commit
cxgb4: add support to display DCB info commit
cxgb4: Support ethtool private flags commit
dpaa_eth: add support for hardware timestamping commit
dpaa_eth: add the get_ts_info interface for ethtool commit
- dsa
Add Vitesse VSC73xx DSA router driver commit
add support for ksz9897 ethernet switch commit
mv88e6xxx: 6390 vs 6390X SERDES support commit
mv88e6xxx: Add hwtimestamp support for the 6165 commit
mv88e6xxx: Add mv88e6165 PTP support commit
mv88e6xxx: add phylink support commit
realtek-smi: Add Realtek SMI driver commit
rtl8366rb: Support port 4 (WAN) commit
ti: cpsw: add CBS Qdisc offload commit
ti: cpsw: add MQPRIO Qdisc offload commit
fsl/fman: add set_tstamp interface commit
fsl/fman_port: support getting timestamp commit
ice: Report stats for allocated queues via ethtool stats commit
igb: Add support for ETF offload commit
iw_cxgb4: Support FW write completion WR commit
iwlwifi: add module parameter to disable 802.11ax commit
iwlwifi: add support for 22560 devices commit
iwlwifi: add support for IEEE802.11ax commit
iwlwifi: add a bunch of PCI IDs for 22000 and 22560 commit
ixgbe: add ipsec security registers into ethtool register dump commit
lan743x: Add EEE support commit
lan743x: Add RSS support commit
lan743x: Add power management support commit
lan743x: Add support for ethtool eeprom access commit, get_drvinfo commit, link settings commit, message level commit, statistics commit
lan743x: lan743x: Add PTP support commit
mlx4: Add support for devlink reload and load driverinit values commit
mlx5: Add core support for double vlan push/pop steering action commit
mlx5: Add support for flow table destination number commit
mlx5: Expose MPEGC (Management PCIe General Configuration) structures commit
mlx5e: Add NAPI statistics commit
mlx5e: Add TX completions statistics commit
mlx5e: Add XDP_TX completions statistics commit
mlx5e: Add support for XDP_REDIRECT in device-out side commit
mlx5e: Add UDP GSO support commit
mlx5e: Add channel events counter commit
mlx5e: support for ethtool rxnfc flow steering commit, commit, commit, commit
mlx5e: Offload setting/matching on tunnel tos/ttl commit, commit, commit
mlx5e: Support offloading double vlan push/pop tc actions commit
mlx5e: Support offloading tc double vlan headers match commit
mlxsw: Introduce initial Spectrum-2 support commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
mlxsw: Introduce algorithmic TCAM support commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
mlxsw: Support DSCP prioritization and rewrite commit, commit, commit, commit, commit, commit, commit, commit
mscc: ocelot: add VLAN filtering commit
mscc: ocelot: add bonding support commit
mt76: Add support for MediaTek MT76x0U (USB) commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
mt76: Add support for MT76x2u, a 2x2 USB 802.11ac chipset by MediaTek commit, commit, commit, commit
mt7601u: expose 802.11w support commit
mvpp2: add a debugfs interface commit, commit, commit, commit
mvpp2: mvpp2: add RSS support commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
- nfp
bpf: support u16 and u32 multiplications commit
bpf: support u32 divide commit
bpf: xdp_adjust_tail support commit
expose ring stats of inactive rings via ethtool commit
flower: add geneve option match offload commit
flower: add geneve option push action offload commit
flower: allow matching on ipv4 UDP tunnel tos and ttl commit
flower: enabled offloading of Team LAG commit
flower: offload tos and tunnel flags for ipv4 udp tunnels commit
implement netpoll ndo (thus enabling netconsole) commit
phy: Add support for Broadcom Omega internal Combo GPHY commit
phy: Add support to configure clock in Broadcom iProc mdio mux commit
phy: realtek: Support RTL8366RB variant commit
phy: realtek: add missing entry for RTL8211C to mdio_device_id table commit
phy: realtek: add support for RTL8211 commit
phy: realtek: add support for RTL8211C commit
phy: sfp: Add HWMON support for module sensors commit
phy: vitesse: Add support for VSC73xx commit
qed/qede: Multi CoS support commit
qed: Add Multi-TC RoCE support commit
qede: Add destination ip based flow profile commit
qede: Add driver callbacks for eeprom module query commit
qede: Ingress tc flower offload (drop action) support commit
qedr: Add support for kernel mode SRQ's commit
qedr: Add user space support for SRQ commit
qmi_wwan: Support dynamic config on Quectel EP06 commit
qtnfmac: enable multiple SSIDs scan support commit
qtnfmac: enable source MAC address randomization support commit
qtnfmac: implement net_device_ops callback to set MAC address commit
qtnfmac: implement basic WoWLAN support commit
qtnfmac: implement cfg80211 power management callback commit
r8169: Reinstate ASPM Support commit
r8169: add support for NCube 8168 network card commit
r8169: enable ASPM on RTL8106E commit
r8169: remove TBI 1000BaseX support commit
rsi: add firmware support for AP+BT dual mode commit
stmmac: adds support for 10Gigabit IP. The IP is called XGMAC2 commit, commit, commit, commit, commit, commit, commit
stmmac: Add support for CBS QDISC commit
ucc_geth: Add BQL support commit
wil6210: allow scan on AP interface commit
wil6210: add TX latency statistics commit
wil6210: add support for enhanced DMA RX data flows commit, enhanced DMA TX data flows commit, enhanced DMA debugfs commit
wil6210: add support for link statistics commit
wil6210: add support for Talyn-MB (Talyn ver 2.0) device commit, commit, commit, commit
wil6210: support max aggregation window size 64 commit
12.5. Audio
firewire-motu: add support for Motu Traveler commit
hda/ca0132: Adds support for the Recon3D PCI-E card commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
hda/realtek: Comprehensive model list for ALC262 commit, ALC268 commit, ALC882 & co commit
usb-audio: add support for UAC3 Power Domains. This feature of the USB audio class 3 allows the host to notify the device what it is making use of so power comsumption can be optimized commit, commit, commit, commit
usb-audio: Add support for Encore mDSD USB DAC commit
- ASoC
Intel: Boards: Add GLK Realtek Maxim I2S machine driver commit
core: add support to card re-bind using component framework commit
es7134: add support for the es7154 commit
es7241: add es7241 codec support commit
meson: adds support for the audio subsystem found on Amlogic's axg SoC family. The first SoC of this family is the A113D/X targeted at smart speaker application. The G12a SoC family, Amlogic next-gen STB chipset, will reuse this audio subsystem commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
qcom: add sdm845 sound card support commit
rt5651: Add IN3 Boost volume control commit
rt5651: Add button press support commit
rt5682: add rt5682 codec driver commit
stm32: sai: add iec958 controls support commit
tas517x: add tas5707 support commit
uniphier: add support for multichannel output commit
wcd9335: add CLASS-H Controller support commit
wcd9335: add support to wcd9335 codec commit
wm_adsp: Allow up to 8 channels for voice control commit
12.6. Tablets, touch screens, keyboards, mouses
Add MT_TOOL_DIAL commit
Add bu21029 touch driver commit
egalax_ts: add system wakeup support commit
elantech: enable middle button of touchpad on ThinkPad P72 commit
touchscreen: resistive-adc-touch: add generic resistive ADC touchscreen commit
- HID:
Add support for Apple Magic Keyboards commit
cougar: Add support for the Cougar 500k Gaming Keyboard commit
elan: Add USB-id for HP x2 10-n000nd touchpad commit
elan: Add support for touchpad on the Toshiba Click Mini L9W commit
hid-saitek: Add device ID for RAT 7 Contagion commit
input: enable Totem on the Dell Canvas 27 commit
intel-ish-hid: Enable Ice Lake mobile commit
intel-ish-hid: Enable Sunrise Point-H ish driver commit
microsoft: support the Surface Dial commit
wiimote: add support for Guitar-Hero devices commit
12.7. TV tuners, webcams, video capturers
v4l2-ctrl: Add control for VP9 profile commit
v4l: enables the video standards to be controlled directly on the subdev device node commit
v4l: Add new 10-bit packed grayscale format commit, add new 2X8 10-bit grayscale media bus code commit
vicodec: the Virtual Codec driver, a driver that emulates a HW codec commit, commit, commit, commit, commit
ak7375: Add ak7375 lens voice coil driver commit
camss: Add support for 10-bit grayscale formats commit
camss: Add support for 8x96 on csid commit, ispif commit, vfe commit
camss: Add support for RAW MIPI14 on 8x96 commit
camss: vfe: Add support for UYVY output from VFE on 8x96 commit
coda: add read-only h.264 decoder profile/level controls commit
dvb-frontends: add Socionext MN88443x ISDB-S/T demodulator driver commit
dw9807: Add dw9807 vcm driver commit
i2c: Add driver for Aptina MT9V111 commit
i2c: Copy rj54n1cb0c soc_camera sensor driver commit
i2c: lm3560: add support for lm3559 chip commit
imx274: add cropping support via SELECTION API commit
ov2680: Add Omnivision OV2680 sensor driver commit
ov5640: add HFLIP/VFLIP controls support commit
ov5640: add support of module orientation commit
ov772x: add media controller support commit
platform: Add ChromeOS EC CEC driver commit
rcar-vin: Add support for R-Car R8A77995 SoC commit, enable support for r8a77965 commit
smiapp: Support the "rotation" property commit
uvcvideo: Add KSMedia 8-bit IR format support commit
venus: add HEVC codec support commit
venus: hfi: preparation to support venus 4xx commit
venus: implementing multi-stream support commit
video-i2c: add hwmon support for amg88xx commit
12.8. Universal Serial Bus
Report wakeup events on root-hub ports commit
typec: tcpm: Support for Alternate Modes commit
typec: tcpci: move tcpci drivers out of staging commit
Add USB ehci support for nuvoton npcm7xx platform commit
option: add support for DW5821e commit
serial: kl5kusb105: remove KLSI device id commit
serial: pl2303: add a new device id for ATEN commit
serial: simple: add Motorola Tetra MTP6550 id commit
dwc3: Add a glue driver for Synopsys HAPS platform commit
host: exynos: Remove support for Exynos5440 commit
usbtmc: Add ioctl for EOM bit commit
usbtmc: Add ioctl for termination character commit
usbtmc: Add ioctl for trigger commit
usbtmc: Add ioctls to set/get usb timeout commit
12.9. Serial Peripheral Interface (SPI)
dw-mmio: add MSCC Ocelot support commit
pxa2xx: Add support for Intel Ice Lake commit
spi-gpio: add SPI_3WIRE support commit
12.10. Watchdog
Add driver for the MEN 16z069 IP-Core commit
12.11. Serial
12.12. ACPI, EFI, cpufreq, thermal, Power Management
ACPI / EC: Add another entry for Thinkpad X1 Carbon 6th commit
thermal: armada: add multi-channel sensors support commit
thermal: tsens: Add generic support for TSENS v2 IP commit
12.13. Real Time Clock (RTC)
isl1208: add support for isl1219 with tamper detection commit
12.14. Voltage, current regulators, power capping, power supply
power: reset: qcom-pon: Add Qcom PON driver commit
power: supply: add cros-ec USBPD charger driver commit
regulator: Add support for CPCAP regulators on Motorola Xoom devices commit
regulator: add QCOM RPMh regulator driver commit
regulator: bd9571mwv: Add support for toggle power switches commit
regulator: bd9571mwv: Use "backup_mode" sysfs file instead of "wake_up" commit
regulator: pfuze100: add support to en-/disable switch regulators commit
regulator: uniphier: add regulator driver for UniPhier SoC commit
12.15. Pin Controllers (pinctrl)
ocelot: add support for interrupt controller commit
intel: Add Ice Lake PCH pin controller support commit
imx: add driver for i.MX8MQ commit
berlin: add the as370 SoC pinctrl driver commit
12.16. Multi Media Card (MMC)
renesas_sdhi: add eMMC HS400 mode support commit
sdhci-of-dwcmshc: add SDHCI OF Synopsys DWC MSHC driver commit
sdhci-pci-dwc-mshc: synopsys dwc mshc support commit
sdhci-pci: Add support for Intel ICP commit
sdhci: Add support for O2 eMMC HS200 mode commit
sdhci: Add support for O2 hardware tuning commit
tmio: add eMMC HS400 mode support commit
12.17. Memory Technology Devices (MTD)
nand: Add core infrastructure to support SPI NANDs commit
rawnand: add NVIDIA Tegra NAND Flash controller driver commit
rawnand: atmel: add module param to avoid using dma commit
spinand: Add initial support for Micron MT29F2G01ABAGD commit, Winbond W25M02GV commit, MX35LF1GE4AB commit, MX35LF2GE4AB commit
12.18. Industrial I/O (iio)
Add channel for Phase commit
Add channel for Position Relative commit
accel: adxl345: add calibration offset support commit
accel: adxl345: add sampling frequency support commit
adc: Add Spreadtrum SC27XX PMICs ADC support commit
adc: at91-sama5d2_adc: add support for position and pressure channels commit
adxl345: Add support for the ADXL375 commit
chemical: Add support for Bosch BME680 sensor commit
dac: Add AD5758 support commit
light: introduce si1133 commit
vcnl4000: add VCNL4010 and VCNL4020 device id commit
vcnl4000: add support for VCNL4200 commit
ad5686: Add AD5311R support commit
12.19. Multi Function Devices (MFD)
Add support for Cirrus Logic CS47L35/L85/L90/L91 codecs commit, commit, commit, commit, commit, commit, commit, commit, commit
bd71837: Core driver for ROHM BD71837 PMIC commit
da9063: Add DA9063L support commit
intel-lpss: Add Ice Lake PCI IDs commit
12.20. Pulse-Width Modulation (PWM)
12.21. Inter-Integrated Circuit (I2C)
Add Actions Semiconductor Owl family S900 I2C driver commit
Adds an algorithm for an I2C master physically located on an FSI slave device commit, commit, commit, commit, commit, commit, commit
i2c-qcom-geni: Add bus driver for the Qualcomm GENI I2C controller commit
i801: Add support for Intel Ice Lake commit
tegra: Add support for Tegra194 commit
12.22. Hardware monitoring (hwmon)
Add support for RPi voltage sensor commit
Add support for power min, lcrit, min_alarm and lcrit_alarm commit
Add NPCM7xx: PWM and Fan driver commit
mlxreg-fan: Add support for Mellanox FAN driver commit
12.23. General Purpose I/O (gpio)
it87: Add support for IT8613 commit
tegra186: Add support for Tegra194 commit
mt7621: Add a driver for MT7621 commit
12.24. Leds
lm3692x: Support LED sync configuration commit
12.25. DMA engines
12.26. Hardware Random Number Generator (hwrng)
msm: remove msm hw_random driver commit
12.27. Cryptography hardware acceleration
Add support for the SHA512 and SHA384 algorithms in the Inside Secure SafeXcel driver commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Introduce the EIP197d engine support to the Inside Secure SafeXcel driver commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Adds support for more algorithms in the Inside Secure SafeXcel driver: MD5 (and its hmac), DES (ECB and CBC), and 3DES (ECB and CBC) commit, commit, commit, commit
ccp: Add support for new CCP/PSP device ID commit
hisilicon: SEC security accelerator driver commit
qcom-rng: Add Qcom prng driver commit
12.28. PCI
Add pci=disable_acs_redir parameter to disable ACS redirection for peer-to-peer DMA support (we don't have the peer-to-peer support yet; this is just one piece) commit, commit, commit
AER: Add sysfs attributes for rootport cumulative stats commit
AER: Add sysfs attributes to provide AER stats and breakdown commit
kirin: Add MSI support commit
pciehp: Support interrupts sent from D3hot commit
hotplug: Delete skeleton driver commit
tools: Add MSI-X support commit
12.29. FRU Support Interface (FSI)
Add new central chardev support commit
Add cfam char devices commit
sbefifo: Add driver for the SBE FIFO commit
12.30. Clock
Add driver for MAX9485 commit
actions: Add S700 SoC clock support commit
at91: add I2S clock mux driver commit
meson: add axg audio sclk divider driver commit
meson: add clk-phase clock driver commit
meson: add triple phase clock driver commit
qcom: Add display clock controller driver for SDM845 commit
qcom: clk-rpmh: Add QCOM RPMh clock driver commit
rockchip: add clock controller for px30 commit
rockchip: add support for half divider commit
samsung: Remove support for Exynos5440 commit
tegra: Add sdmmc mux divider clock commit
timer-mediatek: Add support for system timer commit
New RISC-V SBI timer driver commit
12.31. Various
GNSS receiver (e.g. a GPS receiver) subsystem commit, commit, commit, commit, commit
FPGA Device Feature List (DFL) Device Drivers commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
bus: add bus driver for accessing Allwinner A64 DE2 commit
cpufreq: armada-37xx: Add AVS support commit
cpufreq: exynos: Remove support for Exynos5440 commit
drivers/misc: Aspeed LPC snoop output using misc chardev commit
drivers: qcom: rpmh-rsc: add RPMH controller for QCOM SoCs commit
drivers: soc: Add LLCC driver commit
libnvdimm: Introduce locked DIMM capacity support commit
mailbox: Add support for i.MX messaging unit commit
mailbox: mediatek: Add Mediatek CMDQ driver commit
mailbox: ti-msgmgr: Add support for Secure Proxy commit
mei: expose fw version to sysfs commit
mux: adgs1408: new driver for Analog Devices ADGS1408/1409 mux commit
nvmem: Add Spreadtrum SC27XX efuse support commit
parport: parport_serial: Add WCH CH382L PCIe single parallel port support commit
phy: Renesas R-Car gen3 PCIe PHY driver commit
phy: bcm-sr-pcie: Add Stingray PCIe PHY driver commit
platform/mellanox: Introduce support for Mellanox register access driver commit
platform/mellanox: mlxreg-hotplug: Add hotplug hwmon uevent notification commit
ptp_qoriq: support automatic configuration for ptp timer commit
regmap: add SCCB support commit
remoteproc: qcom: Introduce Hexagon V5 based WCSS driver commit
reset: meson: add meson audio arb driver commit
reset: qcom: AOSS (always on subsystem) reset controller commit
reset: uniphier: add USB3 core reset control commit
slimbus: ngd: Add qcom SLIMBus NGD driver commit
slimbus: ngd: add stream support commit
soc: mediatek: pwrap: add mt6351 driver for mt6797 SoCs commit
soc: mediatek: pwrap: add pwrap driver for mt6797 SoCs commit
- iommu
13. List of merges