67237
Comment: nvidia 7800 fb
|
880
Linux 5.7
|
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: 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://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)] * 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_5.7)>> |
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 5.7 was released on Sun, 31 May 2020.
Summary: This release adds: support for the notion of Thermal Pressure, which lets the task scheduler to take better scheduling decisions in the face of CPU frequency changes; support for frequency invariant scheduler accounting on x86 CPUs, which makes x86 perform better with the schedutil governor; a new and better exFAT file system implementation; support for a x86 feature that allows to detect atomic operations that span cache lines; ARM Pointer Authentication support for kernel code, which helps to prevent security issues; support for spawning processes with clone3() into cgroups; write protection support in userfaultfd(), which is equivalent to (but faster than) using mprotect(2) and a SIGSEGV signal handler; and a BPF-based Linux Security Module which allows for more dynamic security auditing. As always, there are many other new drivers and improvements.
Contents
-
Prominent features
- Thermal Pressure in the task scheduler
- Frequency invariant scheduler accounting on x86 CPUs
- New exFAT file system
- Split lock detection
- ARM Kernel Pointer Authentication support
- userfaultfd() write protection support
- bpf-lsm: A BPF-based Linux Security Module
- clone3(): Allow spawning processes into cgroups
- Improved perf cgroup profiling
- Core (various)
- File systems
- Memory management
- Block layer
- Tracing, perf and BPF
- Cryptography
- Virtualization
- Security
- Networking
- Architectures
-
Drivers
- Graphics
- Power management
- Storage
- Drivers in the Staging area
- Networking
- Audio
- Input devices: Tablets, touch screens, keyboards, mouses
- TV tuners, webcams, video capturers
- Universal Serial Bus
- Serial Peripheral Interface (SPI)
- Watchdog
- Serial
- CPU frequency scaling
- Voltage, current regulators, power capping, power supply
- Real Time Clock (RTC)
- 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 + I3C)
- Hardware monitoring (hwmon)
- General Purpose I/O (gpio)
- LEDs
- DMA engines
- Cryptography hardware acceleration
- PCI
- Clock
- PHY ("physical layer" framework)
- EDAC (Error Detection And Correction)
- Modem Host Interface (MHI) Bus
- Various
- List of pull requests
- Other news sites
1. Prominent features
1.1. Thermal Pressure in the task scheduler
When a CPU is overheating, the thermal governor will usually cap the maximum CPU frequency. This, however, decreases the maximum available compute capacity of that CPU. If the task scheduler is not immediately aware of those frequency changes, it will take wrong scheduling decisions assuming that the CPU has greater computing capacity than it actually has. This release introduces the notion of Thermal Pressure, which makes the task scheduler more aware of frequency capping, and leads to better task placement among available cpus in event of overheating, which in turn leads to better performance numbers.
Recommended LWN article: Telling the scheduler about thermal pressure
1.2. Frequency invariant scheduler accounting on x86 CPUs
Suppose a CPU has two frequencies: 500 and 1000 MHz. When running a task that would consume 1/3rd of a CPU at 1000 MHz, it would appear to consume approximately 2/3rd when running at 500 MHz, giving the false impression this CPU is almost at capacity, even though it can go faster. Without frequency scale-invariance, tasks look larger just because the CPU is running slower. This makes the schedutil cpufreq governor -which uses scheduler-provided CPU utilization information as input for making its decisions- take wrong decisions and perform worse.
This release implements frequency invariant scheduler accounting on (some) x86 CPUs. This makes capacity estimates more precise and keeps tasks on the same CPU better in the face of dynamic voltage and frequency scaling. Because of the improved behavior, the intel_pstate driver defaults now to using the schedutil governor.
Recommended LWN article: Frequency-invariant utilization tracking for x86
1.3. New exFAT file system
Linux 5.4 added an implementation for the exFAT file system. This file system has been dropped; instead, an alternative implementation coming from Samsung has been found to have better quality, and has been merged in this release as a substitute of the previous implementation
1.4. Split lock detection
A split-lock occurs when an atomic CPU instruction operates on data that spans two cache lines. This is much slower than an atomic operation within a cache line, and it disrupts performance on other cores. This release adds support for a x86 features that allows to detect split locks. Using the split_lock_detect boot command line, it is possible to warn or even send SIGBUS to applications that make use of split locks.
Recommended LWN article: Developers split over split-lock detection
1.5. ARM Kernel Pointer Authentication support
Linux 5.0 added support for the ARMv8.3 Pointer Authentication extension, which uses a Pointer Authentication Code to determine whether pointers have been modified unexpectedly. This prevents many security vulnerabilities, but this support was only added for user space code. This release adds support for the arm64 kernel, which should help protect the kernel against attacks using return-oriented programming.
Recommended LWN article: ARM pointer authentication
1.6. userfaultfd() write protection support
This release adds to userfaultfd(2) -a system call added in Linux 4.3 to let a process handle page faults in userspace- the support for write protection. This means that attempts to write in areas of the address space specified with userfaultfd() can be handled in userspace. This is equivalent to (but faster than) using mprotect(2) and a SIGSEGV signal handler. hugetlbfs/shmem is not supported in this release. For more details see the documentation.
Recommended LWN article: Write-protect for userfaultfd().
1.7. bpf-lsm: A BPF-based Linux Security Module
The current kernel infrastructure for providing telemetry (Audit, Perf etc.) is disjoint from access enforcement (i.e. LSMs). Augmenting the information provided by audit requires kernel changes to audit, its policy language and user-space components. Furthermore, building a MAC policy based on the newly added telemetry data requires changes to various LSMs and their respective policy languages. This release adds a new LSM allows BPF programs to be attached to LSM hooks, which facilitates a unified and dynamic (not requiring re-compilation of the kernel) audit and MAC policy.
Recommended LWN article: KRSI — the other BPF security module.
1.8. clone3(): Allow spawning processes into cgroups
This release adds support in clone3(2) for creating a process in a different cgroup than its parent, which means that callers can limit and account processes and threads right from the moment they are spawned. A service manager can directly spawn new services into dedicated cgroups; a process can be directly created in a frozen cgroup and will be frozen as well; the initial accounting jitter experienced by process supervisors and daemons is eliminated; threaded applications or even thread implementations can choose to create a specific cgroup layout where each thread is spawned directly into a dedicated cgroup.
Recommended LWN article: Cloning into a control group
1.9. Improved perf cgroup profiling
In the past, perf could only profile tasks in a specific cgroup and there was no way to know to which cgroup the current sample belonged to. In this release, perf incorporates cgroup information into each sample, which makes possible to profile more than one cgroup and used a cgroup sort key in perf report
2. Core (various)
(FEATURED) clone: allow spawning processes into a cgroup. recommended LWN article. commit, commit, commit, commit, commit, commit
- Task scheduler
(FEATURED) Introduce Thermal Pressure tracking and optimizations, to improve task placement on thermally overloaded systems. When a CPU is overheating the thermal governor may adjust the maximum possible frequency; the task scheduler is now aware of that "thermal pressure", so it can take better decisions. Recommended LWN article, cover letter; commit, commit, commit, commit, commit, commit, commit, commit, commit
Various NUMA scheduling updates: harmonize the load-balancer and NUMA placement logic to not work against each other. The intended result is better locality, better utilization and fewer migrations commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Rework asymmetric CPU capacity wakeup to improve capacity utilization on asymmetric topologies (DynamIQ big.LITTLE systems) commit, commit, commit, commit
Improve spreading of utilization commit
- io_uring
Re-work of how pollable async IO is handled, it is no longer required thread offload to handle that. Instead we rely using poll to drive this commit, commit, commit, commit, commit
In conjunction with the above, allow expendable buffer selection, so that poll+recv (for example) no longer has to be a split operation. Recomended LWN article, commit, commit, commit, commit, commit, commit, commit
Support user xattrs in cgroupfs commit, commit, commit, commit
VFS: Massive pathwalk rewrite, cover letter, 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, 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
- kbuild
Support LLVM=1 environment variable to switch the default tools to Clang/LLVM commit
Device Tree: allow allow to run dt_binding_check without kernel configuration and allow to run dt_binding_check and dtbs_check in a single command commit, commit, commit
Allow whitelisting of symbols to keep in ksymtab when using TRIM_UNUSED_KSYM commit, commit, commit
Enable -Wtautological-compare commit
Raise minimum supported binutils version to 2.23 commit
- kunit
Add fw_devlink kernel command-line option (and remove of_devlink) that can be set to off|permissive|on|rpm which are in increasing order of enforcement by device links commit, commit, commit, commit, commit
- Power management
RCU: React to callback overload by aggressively seeking quiescent states commit and boosting RCU readers commit
Percpu-rwsem rewrite that uses its own waitqueue and atomic_t instead of an embedded rwsem. This addresses a couple of weaknesses, but the primary motivation was complications on the real-time kernel commit, commit, commit, commit, commit
Introduce raw lock nesting detection on lockdep, document the raw_lock vs. normal lock differences commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
firmware_loader: load files from the mount namespace of init commit
3. File systems
- Btrfs
Add full support for cloning inline extents commit, commit, commit
Add more cancellation point for relocation, improves long response from 'balance cancel' commit, commit, commit
New BTRFS_IOC_SNAP_DESTROY_V2 ioctl to delete subvolumes, allowing to delete by id and more future extensions commit
Speedup of extent back reference resolution, on an example test scenario the runtime of send went down from a hour to minutes commit, commit, commit, commit
Per-inode file extent tree, for in memory tracking of contiguous extent ranges to make sure i_size adjustments are accurate commit, commit, commit, commit, commit
Make pinned extents tracking per-transaction commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Factor out locking scheme used for subvolume writer and NOCOW exclusion, abstracted as DREW lock, double reader-writer exclusion (allow either readers or writers) commit, commit
Make ranged full fsyncs more efficient commit
Remove obsolete BTRFS_SUBVOL_CREATE_ASYNC ioctl commit
- XFS
Tighten metadata validation and online fsck checking commit, commit, commit, commit, commit, commit, commit, commit, commit
Introduce a common btree rebuilding library so that we can refactor xfs_repair and introduce online repair in a future cycle commit, commit, commit, commit, commit, commit, commit
- Ceph
Support for asynchronous create and unlink. Creates and unlinks are satisfied locally, without waiting for a reply from the MDS, provided the client has been granted appropriate caps (new in v15 release). This can be a big help for metadata heavy workloads such as tar and rsync. Opt-in with the new nowsync mount option commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Don't hold onto caps that aren't actually needed. This has been our long-standing behavior, but it causes issues with some active/standby applications (synchronous I/O, stalls if the standby goes down, etc) commit, commit, commit, commit, commit, commit
- CIFS
- FSCRYPT
- exFAT
- ext4
- F2FS
- NFS
Enable partial-file layout segments in the pNFS/flexfiles driver commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Add a module parameter to set the NFS automounted mountpoint timeout value commit
- OverlayFS
Let virtiofs be used as upper layer commit
4. Memory management
mremap(2): add MREMAP_DONTUNMAP flag. When remapping an anonymous, private mapping, if MREMAP_DONTUNMAP is set, the source mapping will not be removed. This is expected to be used on Chrome OS where with userfaultfd it would be possible to write an anonymous mapping to disk without having to STOP the process or worry about VMA permission changes commit, commit
Memory cgroup: recursive memory protection. It extends memory.low/min such that the knobs apply recursively to the entire subtree. Users can still assign explicit protection to subgroups, but if they don't, the protection set by the parent cgroup will be distributed dynamically such that children compete freely - as if no memory control were enabled inside the subtree - but enjoy protection from neighboring tree. This should have been the default behavior but is a mount-option to avoid regressions commit, commit, commit
(FEATURED) userfaultfd: initial write protection support (both shmem and hugetlbfs are not supported yet). This is equivalent to (but faster than) using mprotect and a SIGSEGV signal handler. For details see the documentation. recommended LWN article. commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
dma-buf: add dynamic DMA-buf handling. This allows the exporter to provide the mappings without the need to pin the backing store commit, commit, commit, commit, commit, commit, commit
Page fault enhancements: it allows the page fault handlers to be more interactive on not only SIGKILL, but also the rest of userspace signals (especially for user-mode faults), and it allows the page fault retry to happen for more than once commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Add support for free page reporting, which is an API that provides an asynchronous means of reporting free guest pages to a hypervisor, so that the memory associated with those pages can be dropped and reused by other processes and/or guests on the host. Using this it is possible to avoid unnecessary I/O to disk and greatly improve performance in the case of memory overcommit on the host commit, commit, commit, commit, commit, commit, commit, commit, commit
mbind(2): Support MPOL_MF_STRICT for huge page mapping commit
vmstat: add stat for hugepage fallback. The existing thp_fault_fallback indicates when thp attempts to allocate a hugepage but fails, or if the hugepage cannot be charged to the mem cgroup hierarchy. This release extends this to shmem as well and adds a new thp_file_fallback to complement thp_file_alloc that gets incremented when a hugepage is attempted to be allocated but fails, or if it cannot be charged to the mem cgroup hierarchy commit, commit
zswap: allow setting default status, compressor and allocator at compile time commit
Add a hugetlb_cma boot option, which allows to reserve a cma area which can be later used for 1 GB hugepages allocations commit, commit
hugetlbfs: use i_mmap_rwsem for better synchronization commit, commit,
hugetblfs: hit hugetlb_cgroup limits at reservation time, instead of at fault time commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Add Uacce (Unified/User-space-access-intended Accelerator Framework). Von Neumann architecture is not good at general data manipulation, so there are more and more heterogeneous processors, such as encryption/decryption accelerators, TPUs, or EDGE processors. The intention of Uacce is to make sure the accelerator and process can share the same address space, so the accelerator ISA can directly address any data structure of the main CPU. This differs from the data sharing between CPU and IO device, which share data content rather than address. Uacce is intended to be used with Jean Philippe Brucker's SVA patchset, which enables IO side page fault and PASID support commit, commit, commit, commit
Fix transparent huge page migration for CMA allocations commit, commit
ubsan: Split out bounds checker so it can be individually used commit, commit, commit, commit, commit, commit
5. Block layer
scsi: Allow non-root users to perform ZBC commands commit
- device mapper
dm writecache: implement gradual cleanup, adding a new option max_age that specifies the maximum age of a block in milliseconds commit
dm writecache: Add DM writecache "cleaner" policy feature that allows cache to be flushed while userspace monitors for completion to then discommision use of caching commit
dm integrity: add optional discard support commit
diskstats: more accurate io_ticks and optimization commit, commit, commit
rbd: enable multiple blk-mq queues commit
null_blk: Add support for fault injection commit
Add support for block disk resize udev notification commit, commit, commit, commit, commit
6. Tracing, perf and BPF
- perf
(FEATURED) Improve cgroup profiling. It allows to add a new cgroup id to samples so it's possible to profile more than one cgroup. A new cgroup sort key is added to perf report that shows cgroup membership commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
report: Support annotation of code without symbols commit, commit, commit
Support metric group constraint: some metric groups can't count when NMI is enabled. This release adds "MetricConstraint" in event list, which provides a hint for perf tool, and perf tool can change the metric group to non-group (standalone metrics) if NMI watchdog is enabled commit, commit, commit, commit, commit
report/top: Support sorting by a given event in group with option --group-sort-idx, and hotkeys in the TUI interface to let user select events for sorting commit, commit, commit, commit
evlist: Support the recently added PERF_SAMPLE_BRANCH_HW_INDEX commit, commit
report: Support a new key to reload the browser commit
Stitch LBR call stack (kernel): the existing Last Branch Record (LBR) allows to record call stack, but the depth of the call stack is limited by the number of the LBR registers. However, the overwritten LBRs may still be retrieved from previous samples and stitched together commit, commit
script: Introduce --deltatime option, which calculates the time difference in relation to the previous event commit
stat: Show percore counts in per CPU output commit
script: Allow --symbol to accept hexadecimal addresses commit, commit
- BPF
Extend SOCKMAP to store listening as well as established sockets. This lets use SOCKMAP BPF maps with reuseport BPF programs commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Make BPF and PREEMPT_RT co-exist. Recommended LWN article. commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
BPF programs may want to know whether an skb is gso. Expose gso_size field in the same manner as gso_segs commit, commit, commit
Add bpf_sk_assign eBPF helper, it allows assigning a previously-found socket to the skb as the packet is received towards the stack, to cause the stack to guide the packet towards that socket subject to local routing configuration. The intention is to support TProxy use cases more directly from eBPF programs attached at TC ingress, to simplify and streamline Linux stack configuration in scale environments with Cilium commit, commit, commit, commit, commit
Add bpf_sk_storage_get() and bpf_sk_storage_delete() helper to the bpf_tcp_ca's struct_ops commit, commit
Add various straight-forward helper improvements and additions to BPF cgroup based connect(), sendmsg(), recvmsg() and bind-related hooks which would allow to implement more fine-grained policies and improve current load balancer limitations commit, commit, commit, commit, commit, commit, commit
Provide bpf_sk_storage data during inet_diag's dump commit, commit, commit, commit
Add support for storing UDP sockets in sockmap and sockhash commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Adds bpftool struct_ops to support struct_ops features commit, commit, commit, commit
Introduce bpftool prog profile command, which uses hardware counters to profile BPF programs commit, commit, commit, commit
libbpf: Add support for dynamic program attach target: previously, when you wanted to attach a trace program to a bpf program the section name needs to match the tracepoint/function semantics. The addition of new APIs allow to specify the tracepoint/function dynamically commit, commit, commit
Adds bpf_link abstraction, analogous to libbpf's already existing bpf_link abstraction. This formalizes and makes more uniform existing bpf_link-like BPF program link (attachment) types (raw tracepoint and tracing links), which are FD-based objects that are automatically detached when last file reference is closed. These types of BPF program links are switched to using bpf_link framework. FD-based bpf_link approach provides great safety guarantees, by ensuring there is not going to be an abandoned BPF program attached, if user process suddenly exits or forgets to clean up after itself commit, commit, commit
Add bpf_link based BPF program attachment mechanism for cgroup BPF programs commit, commit, commit, commit, commit, commit
Introduce BPF_MODIFY_RET tracing progs. modify_return programs are allowed for security hooks and functions whitelisted for error injection commit, commit, commit, commit, commit, commit, commit
Allow per-file SELinux labeling for bpffs commit
- tracing
The ring buffer is no longer disabled when reading the trace file commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
New set_ftrace_notrace_pid file. PIDs in this file will not be traced by the function tracer commit, commit, commit
New set_event_notrace_pid file. PIDs in this file will cause events not to be traced if triggered by a task with a matching PID commit, commit
7. Cryptography
Use batched output from CRNG instead of CPU's RNG instructions for better performance commit
8. Virtualization
Add vDPA device support. vDPA device is a device that uses a datapath which complies with the virtio specifications with vendor specific control path. vDPA devices can be both physically located on the hardware or emulated by software commit, commit, commit, commit, commit, commit, commit, commit, commit
UML: Support external time travel: using a special application on a unix socket - lets multiple machines take part in a time-travelling simulation together commit, commit, commit, commit, commit, commit
vfio/pci: SR-IOV support commit, commit, commit, commit, commit, commit, commit
virtio-net: Introduce features defined in the spec: RSS receive steering, extended RSC information, and report has of incoming packets commit, commit, commit
virtio_net: Add XDP meta data support commit
virt_wifi: implement ndo_get_iflink commit
Hyper-V: PCI: Add support for protocol 1.3 commit
tools/kvm_stat: add command line switch '-c' to log in csv format commit and '-s' to set update interval commit
9. Security
(FEATURED) New LSM: MAC and Audit policy using eBPF (KRSI). It allows BPF programs to be attached to LSM hooks, which facilitates a unified and dynamic audit and MAC policy. Recommended LWN article. commit, commit, commit, commit, commit, commit, commit, commit
seccomp: allow TSYNC and USER_NOTIF together commit
- SELinux
ibmvtpm: Add support for TPM2 commit
10. Networking
Improve bind(addr, 0) behaviour. Linux used to fail to bind sockets to ephemeral ports when all of the ports were exhausted even if all sockets had SO_REUSEADDR enabled. In this case, it still is possible to connect to the different remote hosts. This release adds the net.ipv4.ip_autobind_reuse, which allows to bind SO_REUSEADDR enabled sockets to the same (addr, port) when set to 1 and all ephemeral ports are exhausted commit, commit, commit, commit
Enable SO_BINDTODEVICE for non-root users commit
Multipath TCP part 3 (but not last): Multiple subflows and path management. Recommended LWN article commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
IPv4: show tcp_allowed_congestion_control and tcp_available_congestion_control sysctls in non-initial netns commit
IPv6: Add handling for RPL source routing handling and insertion (implement as lwtunnel) commit, commit, commit, commit, commit
UDP: Bare UDP L3 Encapsulation Module. The Bareudp tunnel module provides a generic L3 encapsulation tunnelling support for tunnelling different L3 protocols like MPLS, IP, NSH etc. inside a UDP tunnel commit, commit
- Bluetooth
- Devlink
Allow capable device drivers to register their supported packet trap policers with devlink. User space can then tune the parameters of these policers (currently, rate and burst size) and read from the device the number of packets that were dropped by the policer, if supported commit, commit, commit, commit, commit, commit, commit
devlink: Add support for the DEVLINK_CMD_REGION_NEW operation, used to enable userspace requesting a snapshot of a region on demand. This can be useful to enable adding regions for a driver for which there is no trigger to create snapshots commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Refactor the auto-recover health reporter flag to be explicitly set by the devlink core. In addition, add another flag to control auto-dump attribute, also to be explicitly set by the devlink core commit, commit, commit
IPsec: Add offload support for ESP beet mode commit, commit, commit
ethtool: netlink interface, part 3 commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit and part 4 commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
- MACSec
- Bridge
- Packet schedulers
Make FIFO Qdisc offloadable commit
Introduce connection tracking hardware offload commit, commit, commit, commit, commit
Add software offload of connections with an established ct state using the NF flow table offload infrastructure, so once such flows are offloaded, they will not pass through conntrack again, and instead act_ct will restore the conntrack info metadata on the skb to the state it had on the offload event - established commit, commit, commit
Allow user to specify the type of hardware stats for the added TC action: immediate, delayed, or disabled commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
RED qdisc: Introduce an ECN nodrop mode commit, commit, commit
Enables tc classification to start from a specified chain. TC multi chain configuration can cause offloaded tc chains to miss in hardware after jumping to some chain, in such cases the software should continue from the chain that was missed in hardware commit, commit, commit, commit
Expose HW stats types per action used by drivers commit, commit
Implement callback used for adding HW counters to the SW ones for pedit and skbedit actions commit, commit, commit
- Netfilter
Introduce a netfilter egress hook to complement the existing ingress hook commit, commit, commit
conntrack: re-visit visibility of sysctls in unprivileged namespaces commit
Provide tunnel offload based on route lwtunnel commit, commit, commit, commit
Allow users to add and to restore stateful expressions of set elements commit, commit, commit, commit, commit
Support for stateful expressions in set definition commit, commit, commit
nft_tunnel: add support for geneve opts commit
xtables: Add snapshot of hardidletimer target commit
nft_set_pipapo: Performance improvements commit, commit, commit, commit, commit, commit
WiFi
Add encapsulation offloading support commit
Add infrastructure to support per TID configurations like noack policy, retry count, AMPDU control(disable/enable), RTSCTS control(enable/disable) and TX rate mask configurations commit, commit, commit, commit, commit, commit
Add support for requesting that the ranging measurement will use the trigger-based / non trigger-based flow instead of the EDCA based flow commit
Add API for telling whether the driver supports protected TWT commit
Add support for Beacon protection commit, commit, commit, commit, commit, commit, commit
To support Pre Association Security Negotiation (PASN) while already associated to one AP, allow user space to register to Rx authentication frames, so that the user space logic would be able to receive/handle authentication frames from a different AP as part of PASN commit
Allow userspace to reset IBSS stations to fix aggregation issue commit, commit
Allow to configure PMK lifetime and reauth threshold for PMKSA entries commit
openvswitch: add TTL decrement action commit
pktgen: Allow on loopback device commit
veth: Add more veth XDP stats to align with Mellanox, Intel and Marvell implementations commit, commit, commit, commit, commit
XDP: add support for atomically replacing the XDP program loaded on an interface. This is achieved by means of a new netlink attribute that can specify the expected previous program to replace on the interface commit, commit, commit, commit
Extends packet pacing to work over DEVX interface commit, commit
qrtr: migrates the Qualcomm IPC Router (QRTR) Nameservice from userspace to kernel commit
11. Architectures
11.1. ARM
- Device Tree Sources
Two new Qualcomm SoCs with their evaluation boards: Snapdragon 865 (SM8250) is the current high-end phone chip, and IPQ6018 is a new Wi-Fi 6 router chip commit, commit
Mediatek MT8516 application processor SoC for voice assistants, along with the "pumpkin" development board commit, commit
NXP i.MX8M Plus SoC, a variant of the popular i.MX8M, along with an evaluation board commit, commit, commit
Kontron "sl28" board family based on NXP LS1028A commit, commit, commit, commit
Eleven variations of the new i.MX6 TechNexion Pico board, combining the "dwarf", "hobbit", "nymph" and "pi" baseboards with i.MX6/i.MX7 SoM carriers commit, commit, commit, commit, commit
Three additional variants of the Toradex Colibri board family, all based on versions of the NXP i.MX7 commit
The Pinebook Pro laptop based on Rockchip RK3399 commit
Pine64 PineTab tablet and PinePhone phone, both based on Allwinner A64 commit, commit, commit
Samsung S7710 Galaxy Xcover 2, a 2013 vintage Android phone based on the ST-Ericsson u8500 platform commit
DH Electronics DHCOM SoM and PDK2 rev. 400 carrier based on STMicroelectronics stm32mp157 commit
Renesas M3ULCB starter kit for R-Car M3-W+ commit
Hoperun HiHope development board with Renesas RZ/G2M commit
Linutronix Testbox v2 for the Lamobo R1 router, based on Allwinner A20 commit
PocketBook Touch Lux 3 ebook reader, based on Allwinner A13 commit, commit
arm-smmu-v3: Add SMMUv3.2 range invalidation support commit
arm-smmu-v3: Finish PASID support and command queue batching commit, commit, commit, commit, commit, commit
irqchip/gic-v4: GICv4.1 architecture support commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
soc: fsl: dpio: Enable QMAN batch enqueuing commit, commit, commit
soc: mediatek: pwrap: add pwrap driver for MT6779 SoCs commit, commit, commit
Introduce Protection Domain Restart (PDR) Helpers commit, commit, commit
OMAP2+: Introduce cpuidle for am335x/am437x commit, commit, commit, commit, commit
CoreSight CTI Driver commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
KVM: Removing support for 32-bit KVM/arm host commit, commit, commit, commit, commit, commit, commit
qcom: Add support for IPQ40xx commit
- 64 bits
Introduce support for the Activity Monitors Unit (AMU) CPU extension, an optional extension in ARMv8.4 CPUs. This provides performance counters intended for system management use. Two of these counters are then used to compute the frequency scale correction factor needed to achieve better CPU utilisation numbers for the scheduler (frequency invariance) commit, commit, commit, commit, commit, commit, commit
(FEATURED) In-kernel Pointer Authentication support (previously only offered to user space). It improves function return address protection for the arm64 kernel, by compiling the kernel with ARMv8.3 Pointer Authentication instructions (referred ptrauth hereafter). This should help protect the kernel against attacks using return-oriented programming. Recommended LWN article, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
perf: Add support for ARMv8.5-PMU 64-bit counters commit, commit, commit
Enable RANDOM_TRUST_CPU for arm64 commit, commit, commit, commit
11.2. x86
Add support for generic EFI mixed mode boot: booting 64-bit x86 kernels from 32-bit firmware running on 64-bit capable CPUs without requiring the bootloader to implement the EFI handover protocol or allocate the setup block, etc commit, commit, commit
(FEATURED) Enable split lock detection for real time and debug. Split lock is an access to misaligned data across two cache lines in an atomic instruction, and it takes a significant performance penaly. This feature detects and either warns or crashes the kernel depending on the setting of the kernel boot option split_lock_detect. Recommended LWN article, commit
(FEATURED) Implement frequency invariant scheduler accounting on (some) x86 CPUs. This is done by observing and sampling the 'recent' CPU frequency average at ~tick boundaries. The CPU provides this data via the APERF/MPERF MSRs. This hopefully makes capacity estimates more precise and keeps tasks on the same CPU better in the face of dynamic voltage and frequency scaling. Recommended LWN article. commit, commit, commit, commit, commit, commit
(FEATURED) As a consequence of adding frequency invariant support, the intel_pstate driver defaults to using the schedutil governor commit
- Platforms
intel_pmc_core: Add Atom based Jasper Lake (JSL) platform support commit
intel_pmc_core: Add debugfs entries commit, commit, commit, commit, commit, commit, commit
intel-speed-select: Add display for enabled cpus count commit
mce/amd: Add protected processor identification number (PPIN) support for AMD MCE commit
vmware: Add steal time support for VMware guests commit, commit
- perf
Intel: Introduce Control-flow Enforcement opcodes commit, commit
amd: Add support for Family 19h L3 PMU commit
Add Intel Jasper Lake CPU support commit
Add Intel Ice Lake server uncore support commit
Add Intel Tiger Lake uncore support commit
vendor events: Add AMD Zen2 events commit and update Zen1 events to V2 commit
acpi: add a kernel parameter (bgrt_disable) to disable ACPI BGRT commit
intel_th: msu: Make stopping the trace optional commit
curve25519: replace with formally verified implementation commit
11.3. RISC-V
Add Supervisor Binary Interface 0.2 and CPU hotplug commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Partial support for the Kendryte K210 commit, commit, commit, commit, commit, commit, commit
Add support to dump the kernel page tables commit
eBPF JIT for 32-bit RISC-V (RV32G) commit, commit, commit, commit
11.4. S390
- /proc/cpuinfo
perf: Add new extended counters for IBM z15 commit
perf: vendor events s390: Add new deflate counters for IBM z15 commit
ipl: add support (via sysfs) to control memory clearing for FCP and CCW re-IPL commit
KVM: Add support for protected VMs 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
Remove fake numa support commit
qeth: adds support for ETHTOOL_RX_COPYBREAK commit, commit, commit, commit, commit, commit, commit, commit
qdio: export SSQD via debugfs commit
qeth: several ethtool enhancements (.set_channels, SW Timestamping, per-queue TX IRQ coalescing) commit, commit, commit, commit
zcrypt: Support for CCA protected key block version 2 commit
KVM: introduce module parameter kvm.use_gisa commit
Remove broken hibernate / power management support commit
11.5. PowerPC
Exception cleanup, rewrite syscall assembler code in C and disable compat cruft on ppc64le 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
fadump: sysfs for fadump memory reservation commit,reorganize /sys/kernel/fadump_* sysfs files commit
Add new config option PMU_SYSFS to enable PMU SPRs sysfs file creation commit
powernv: Add explicit fast-reboot support commit
powernv: Move core and fadump_release_opalcore sysfs files to another directory commit
xive: Add a debugfs file to dump internal XIVE state commit
Book3S HV: Add a capability for enabling secure guests commit
11.6. C-Sky
11.7. MIPS
Add modern DeviceTree and irqchip support to Loongson64 commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Add support for Desktop Management Interface (DMI) commit
11.8. ARC
12. Drivers
12.1. Graphics
- amdgpu
- Intel
Allow specific CS ring buffer sizes commit
- Tigerlake enablement patches + Tigerlake enabled by default
New sysfs entries for engine properties commit, commit, commit, commit, commit, commit, commit
debugfs: add parameters to debugfs commit, remove i915_dpcd file commit
Remove 'prefault_disable' modparam commit
- bridge
Add I2C based driver for ps8640 bridge commit
omap: Replace custom display drivers with drm_bridge and drm_panel 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, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Add tc358768 driver commit
adv7511: Add support for ADV7535 commit
- vmwgfx
- mediatek
- etnaviv
Show identity information in debugfs commit
- meson
- tidss
New driver for TI Keystone platform Display SubSystem commit
- hibmc
- pl111
Integrator IM-PD1 support commit
- sun4i
- tiny
- panel
Add Feixin K101 IM2BA02 panel commit
Add Samsung s6e88a0-ams452ef01 panel driver commit
Add driver for Novatek NT35510-based panels commit
Add panel driver for Elida KD35T133 panels commit
simple: Add EDT panel support commit
simple: Add NewEast Optoelectronics CO., LTD WJFH116008A panel support commit
simple: Add Rocktech RK101II01D-CT panel commit
simple: Add support for the Frida FRD350H54004 panel commit
simple: add panel-dpi support commit
- matroxfb
Add Matrox MGA-G200eW board support commit
Add getfb2 ioctl, it allow to pass multiple planes and modifiers, just like addfb2 over addfb commit
Enables huge-and giant page-table entries for TTM and TTM-enabled graphics drivers commit, commit, commit, commit, commit, commit, commit, commit, commit
Add support for bridge bus-format negotiation between all elements of the 'encoder -> bridges -> connector/display' section of the pipeline commit, commit, commit, commit, commit, commit, commit, commit
12.2. Power management
pm-graph v5.6 commit
- EFI
Introduces an arch agnostic way of loading the initrd into memory from the EFI stub commit, commit, commit
Add embedded peripheral firmware support: the EFI code / ROM itself sometimes may contain data which is useful/necessary for peripheral drivers to have access to. Specifically the EFI code may contain an embedded copy of firmware which needs to be (re)loaded into the peripheral, commit, commit, commit, commit, commit, commit, commit, commit, commit
ACPI: Add new tiny-power-button driver, an alternative to the ACPI Button driver that only handles the power button. Rather than notifying userspace via the input layer or a netlink event, this driver directly signals the init process to shut down commit
- thermal
int340x: processor_thermal: Add Tiger Lake support commit
imx_sc: add i.MX system controller thermal support commit
imx8mm: Add support for i.MX8MM thermal monitoring unit commit
sprd: Add Spreadtrum thermal driver support commit
tsens: Add watchdog support commit
rcar_gen3_thermal: Add r8a77961 support commit
imx8mm: Add i.MX8MP support commit
12.3. Storage
- nvmem
- SCSI
lpfc: Add Link Integrity FPIN registration and logging commit, commit
zfcp: expose fabric_name in fc_host sysfs commit, commit, commit
zfcp: provide user information on the state of the otherwise transparent IBM Fibre Channel Endpoint Security commit, commit, commit, commit
qla2xxx: Add beacon LED config sysfs interface commit
qla2xxx: Add sysfs node for D-Port Diagnostics AEN data commit
qla2xxx: Add ql2xrdpenable module parameter for RDP commit
pm80xx: sysfs attribute for non fatal dump commit
iscsi: Report connection state in sysfs commit
- AHCI
Add Intel Comet Lake H RAID PCI ID commit
Add Intel Comet Lake PCH RAID PCI ID commit
Add Intel Comet Lake PCH-H PCI ID commit
Add Intel Comet Lake PCH-U PCI ID commit
Add Intel Comet Lake PCH-V PCI ID commit
Add support for Loongson 7A1000 SATA controller commit
Add sysfs attribute to show remapped NVMe device count commit
nvmet: make ctrl model commit and ctrl-id configurable commit
nvme: expose hostid commit and hostnqn via sysfs for fabrics controllers commit
ide: remove no longer used au1xxx-ide driver commit
12.4. Drivers in the Staging area
Restore octeon driver commit
Restore octeon-usb host controller driver commit
iio: adc: ad7192: move out of staging commit
most: move core files out of the staging area commit
- media
rtl8188eu: Add ASUS USB-N10 Nano B1 to device table commit * remove hp100 driver commit
Remove staging version of exfat filesystem commit
Remove wusbcore and UWB from the kernel tree commit
12.5. Networking
- Bluetooth
- ath11k
atlantic: MACSec offloading support for AQC devices commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
axienet: Add mii-tool support commit
bcmgenet: Add ACPI bindings commit, commit, commit, commit, commit, commit
bgmac: configure MTU and add support for frames beyond 8192 byte size commit
brcmfmac: add USB autosuspend feature support commit
cdc_ncm: Implement the 32-bit version of NCM Transfer Block commit
- cxgb4/chcr
- dpaa2-eth
- DSA
Add support for configuring the MTU on front-panel switch ports, while seamlessly adapting the CPU port and the DSA master to the largest value plus the tagger overhead commit, commit, commit, commit, commit, commit, commit, commit
Add support for matching VLAN TCI keys/masks to the CFP code commit, commit, commit, commit, commit
Wire up Ocelot tc-flower to Felix DSA commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
mt7530: add support for port mirroring commit
mv88e6xxx: Add SERDES/PCS registers to ethtool -d commit, commit, commit
- sja1105
Add support for the SGMII port commit
Add 100baseT1_Full support commit
Show more ethtool statistics counters for P/Q/R/S commit
Port and flow policers (SJA1105, Felix/Ocelot) commit, commit, commit, commit, commit, commit
- e1000e
ti: add networking support for k3 am65x/j721e soc commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
- hns3
- ice
- igc
- ionic
ipa: introduce Qualcomm IPA driver. The IPA is a component present in some Qualcomm SoCs that allows network functions such as aggregation, filtering, routing, and NAT to be performed without active involvement of the main application processor (AP) commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
iwlwifi: Support new FW API version, EDCA measurements and new scan API features commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
ll_temac: ethtool support for controlling rx and tx ring sizes and irq coalesce parameters commit, commit
- mac80211_hwsim
mdio: add ipq8064 mdio driver commit
- mlx5
mlx5/mlx5e: Support connection tracking hardware offload commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Devlink health dump support for both rx and tx health reporters commit, commit, commit, commit, commit
mlx5: FEC modes supports commit, commit, commit, commit, commit, commit
mlx5/mlx5e: support handling tunnel restore when the packet was decapsulated on first chain hop commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
mlxsw: Implement ACL-dropped packets identification commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
- mlxfw
Improve error reporting and FW reactivate support commit, commit, commit, commit, commit, commit, commit
Offload TC action pedit munge dsfield commit, commit, commit, commit, commit
Implement ACL-dropped packets identification commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Offload FLOW_ACTION_MANGLE commit
Offload TC action skbedit priority commit, commit, commit, commit, commit
Offload RED ECN nodrop mode commit
Add packet trap policers support commit, commit, commit, commit, commit, commit, commit, commit
- mt76
mt7615: Add support for the MT7622 SoC built-in WLAN chip commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
mt7615: dual-band concurrent support 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
mt7615: introduce LED support commit
mt7615: implement hardware reset support commit
mt7615: introduce mt7663e support 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
mt7615: report firmware version using ethtool commit
mt7603: make dynamic sensitivity adjustment configurable via debugfs commit
eeprom: add support for big endian eeprom partition commit
Enable Airtime Queue Limit support commit
Channel switch support for USB devices commit
- mvneta
- octeontx2-vf
Add network driver for the virtual functions of OcteonTX2 SOC's resource virtualization unit (RVU) commit, commit, commit, commit, commit, commit, commit, commit
Add flow control support (802.3 pause frames) and add other changes wrt generic admin function (AF) functionality commit, commit, commit, commit, commit, commit, commit
- phy
Add marvell usb to mdio controller commit
marvell10g: add energy detect power down tunable commit
mscc: add support for RGMII MAC mode commit
mscc: RGMII delays and VSC8502 support commit, commit, commit, commit
phylib and phylink: Pause updates commit, commit, commit, commit, commit, commit, commit, commit, commit
qtnfmac: WPA3 OWE/SAE support for AP commit, commit, commit, commit, commit
rtw88: add a debugfs entry to dump coex's info commit and a debugfs entry to enable/disable coex mechanism commit
r8152: support additional Microsoft Surface Ethernet Adapter variant commit
sfc: support configuring vf spoofchk on EF10 VFs commit
- stmmac
qmi_wwan: add support for DW5816e commit
qmi_wwan: add Telit LE910C1-EUX composition commit
12.6. Audio
Add more WMA profiles and WMA decoder parameters to UAPI and then support for these in qcom driver. Also adds FLAC and APE IDs and decoder parameters to UAPI and then support in qcom driver commit, commit, commit, commit, commit, commit, commit, commit, commit
hda/realtek: Add supported new mute Led for HP commit, and for ALC236 commit
hda/realtek - Add new codec supported for ALC245 commit and for ALC287 commit
hda/hdmi: Add module option to disable audio component binding commit
usb-audio: Add support for Presonus Studio 1810c commit
usb-audio: Add support for MOTU MicroBook IIc commit
soundwire: cadence: multi-link support commit
soundwire: intel: add trigger support in sdw dai driver commit
- ASoC
Add Multi CPU DAI support commit, commit, commit, commit, commit, commit
Intel: CHT: add support for pcm512x boards commit
Intel: boards: add sof_sdw machine driver commit
Intel: sof_da7219_max98373: Add support for max98360a speaker amp commit
Intel: sof_rt5682: Add rt1015 speaker amp support commit
Intel: sof_rt5682: Add support for tgl-max98373-rt5682 commit
Intel: sof_sdw: Add Volteer support with RT5682 SNDW helper function commit
SOF: enable data probing feature for audio DSP: First, provide new and alter existing interfaces interfaces (page allocation, runtime flow adjustments) to make them compress friendly, then provide probe APIs. Probes can be treated as endpoints which allow for data extraction from or injection to target module - a great ally when debugging problematic audio issues such as distortions, glitches or gaps commit, commit, commit, commit, commit, commit, commit, commit, commit
SOF: Intel: add SoundWire support commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
SOF: update S0ix/D0ix support commit, commit, commit, commit, commit, commit, commit, commit, commit
amd: Add machine driver for Raven based platform commit
brcm: Add DSL/PON SoC audio driver commit
jz4740-i2s: Add support for the JZ4760 commit and JZ4770 commit
max98357a: Add ACPI HID MAX98360A commit
meson: add t9015 internal DAC driver commit
meson: gx: add support for the i2s and spdif audio outputs commit, commit, commit, commit, commit, commit, commit, commit, commit
Add support for the AIU audio controller found on the 32-bit Meson8 and Meson8b SoCs commit, commit, commit
meson: g12a: add internal audio DAC support commit, commit, commit
rl6231: Add new supports on rl6231 commit
Add codec2codec DAI link support to simple-audio-card commit, commit, commit
tas2562: Add support for digital volume control commit
ti: Add udma-pcm platform driver for UDMA commit
ti: davinci-mcasp: Add support for platforms using UDMA commit
tlv320adcx140: Add the tlv320adcx140 codec driver family commit, commit, commit
12.7. Input devices: Tablets, touch screens, keyboards, mouses
keyboard: Add support for Azoteq IQS620A/621/622/624/625 commit
elants_i2c: support palm detection commit
goodix: add support for more then one touch-key commit
goodix: add support for Goodix GT917S commit
goodix: support gt9147 touchpanel commit
usbtouchscreen: add support for BonXeon TP commit
- HID
logitech-dj: add support for the static device in the Powerplay mat/receiver commit
mcp2221: add usb to i2c-smbus host bridge commit
Add driver fixing Glorious PC Gaming Race mouse report descriptor commit
logitech: Add support for Logitech G11 extra keys commit
multitouch: add eGalaxTouch P80H84 support commit
alps: Add AUI1657 device ID commit
12.8. TV tuners, webcams, video capturers
Add 14-bit raw bayer pixel formats commit
aspeed: add AST2600 support commit
atmel: atmel-isc-base: expose white balance as v4l2 controls commit
em28xx: Enable Hauppauge 461e rev2 commit
Add driver for Sony IMX219 sensor commit
imx219: Add support for RAW8 bit bayer format commit
imx219: Add support for cropped 640x480 resolution commit
m88ds3103: Add support for ds3103b demod commit
ov5675: add vflip/hflip control support commit
rc: add keymap for Videostrong KII Pro commit
sun8i: Add Allwinner A83T Rotate driver commit
tvp5150: add support to limit sdtv standards commit
tvp5150: add v4l2-event support commit
venus: support frame rate control commit
venus: vdec: handle 10-bit bitstreams commit
12.9. Universal Serial Bus
core: Add ACPI support for USB interface devices commit
Add driver to control USB fast charge for iOS devices commit
dwc2: add support for STM32MP15 SoCs USB OTG HS and FS commit
dwc3: Add Amlogic A1 DWC3 glue commit
gadget: add raw-gadget interface. The incentive to implement a different interface was to provide a somewhat raw and direct access to the USB Gadget layer for the userspace, where every USB request is passed to the userspace to get a response. See documentation for the list of differences between Raw Gadget and GadgetFS commit, commit
gadget: add udc driver for max3420 commit
gadget: aspeed: add ast2600 vhub support commit
musb: jz4740: Add support for the JZ4770 commit
phy: Add driver for the Ingenic JZ4770 USB transceiver commit
serial: Add Fintek F81534A series usb-to-serial driver commit, commit, commit, commit, commit, commit
Tegra XUSB OTG support commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
serial: option: add BroadMobi BM806U commit
serial: option: add Wistron Neweb D19Q1 commit
serial: option: add support for ASKEY WWHC050 commit
serial: qcserial: Add DW5816e support commit
typec: Add sysfs node to show cc orientation commit
typec: Driver for Intel PMC Mux-Agent commit, commit, commit, commit, commit, commit, commit, commit, commit
xhci-tegra: Tegra186/Tegra194 LPM commit
12.10. Serial Peripheral Interface (SPI)
Add FSI-attached SPI controller driver commit
Add driver for ar934x spi controller commit
Add support for Mediatek spi-nor controller commit
meson-spicc: add support for Amlogic G12A commit
rspi: Add support for active-high chip selects commit
spi-fsl-dspi: Add support for LS1028A commit
12.11. Watchdog
Add stop_on_reboot module parameter to control reboot policy commit
Add K3 RTI watchdog support commit
12.12. Serial
serial/sysrq: Add a magic sysrq serial secuence: a string sequence that can enable sysrq if it follows BREAK on a serial line. This is necessary because having sysrq always enabled doesn't work for some embedded boards that tend to generate garbage on serial line commit, commit
imx serial: Implement support for reversing TX and RX polarity commit
Add CONSOLE_POLL support to SiFive UART commit
fsl_lpuart: add LS1028A earlycon support commit
fsl_lpuart: add LS1028A support commit
8250: Support console on software emulated rs485 ports commit
8250_bcm2835aux: Support rs485 software emulation commit
8250_early: Add earlycon for BCM2835 aux uart commit
8250_tegra: Create Tegra specific 8250 driver commit
ar933x_uart: add RS485 support commit
12.13. CPU frequency scaling
12.14. Voltage, current regulators, power capping, power supply
Add smb208 support commit
Add support for MP8869 regulator commit
mp5416: add mp5416 regulator driver commit
mp886x: add MP8867 support commit
qcom_smd: Add pmi8994 regulator support commit
12.15. Real Time Clock (RTC)
sun6i: Make external 32k oscillator optional commit
Add support for the MediaTek MT2712 RTC commit
jz4740: Add support for JZ4760 SoC commit
ds1307: add support for watchdog timer on ds1388 commit
rc5t619: Add Ricoh RC5T619 RTC driver commit
fsl-ftm-alarm: enable acpi support commit
alpha: remove legacy rtc driver commit
ia64: remove legacy efirtc driver commit
12.16. Pin Controllers (pinctrl)
bcm2835: Add support for all GPIOs on BCM2711 commit
da9062: add driver support commit
mediatek: Add support for pin configuration dump via debugfs commit
qcom: Add ipq6018 pinctrl driver commit
12.17. Multi Media Card (MMC)
core: Add MMC software queue support, and set the queue depth as 64 to allow more requests can be be prepared, merged and inserted into IO scheduler, which improves the performance commit, commit, commit, commit, commit
mmci: Add support for sdmmc variant revision 2.0 commit
sdhci-esdhc-imx: add strobe-dll-delay-target support commit
12.18. Memory Technology Devices (MTD)
rawnand: Add support for Macronix NAND randomizer commit
rawnand: macronix: Add support for deep power down mode commit
rawnand: toshiba: Support reading the number of bitflips for BENAND (Built-in ECC NAND) commit
spi-nor: Add SR 4bit block protection support commit
spi-nor: remove mtk-quadspi driver commit
spinand: Add new series Micron SPI NAND devices (M78A, M79A and M70A) commit, commit, commit, commit, commit, commit
spinand: toshiba: Support for new Kioxia Serial NAND commit
12.19. Industrial I/O (iio)
adc: ad7124: add 3db filter commit
adc: rn5t618: Add ADC driver for RN5T618/RC5T619 commit
amplifiers: ad8366: add support for HMC1119 Attenuator commit
amplifiers: hmc425a: Add support for HMC425A attenuator commit
chemical: atlas-sensor: add DO-SM module support commit
dac: ad5770r: Add AD5770R support commit
dac: ltc2632: add support for LTC2636 family commit
imu: adis: add support product ID check in adis_initial_startup commit
imu: inv_mpu6050: add support of IAM20680 commit
imu: inv_mpu6050: add support of ICM20609 & ICM20689 commit
imu: inv_mpu6050: add support of ICM20690 commit
light: Add a driver for Sharp GP2AP002x00F commit
light: Add support for Azoteq IQS621/622 ambient light sensors commit
light: add Dyna-Image AL3010 driver commit
light: al3320a implement suspend support commit
position: Add support for Azoteq IQS624/625 angle sensors commit
pressure: icp10100: add driver for InvenSense ICP-101xx commit
srf04: add power management feature commit
temperature: Add support for Azoteq IQS620AT temperature sensor commit
trigger: stm32-timer: add power management support commit
vcnl4000: Enable runtime pm for vcnl4200/4040 commit
12.20. Multi Function Devices (MFD)
Add support for Azoteq IQS620A/621/622/624/625 commit
sc27xx: Add USB charger type detection support commit
intel-lpss: Add Intel Comet Lake PCH-V PCI IDs commit
12.21. Pulse-Width Modulation (PWM)
12.22. Inter-Integrated Circuit (I2C + I3C)
i2c: brcmstb: Support BCM2711 HDMI BSC controllers commit
12.23. Hardware monitoring (hwmon)
adt7475: Add attenuator bypass support commit and inverting PWM output commit
Support ADI Fan Control IP commit
pmbus: add support for 2nd Gen Renesas digital multiphase commit
pmbus/tps53679: Add support for TPS53647 and TPS53667 commit, commit, commit, and for TPS53681 commit
pmbus/ltc2978: add support for more parts commit
12.24. General Purpose I/O (gpio)
Core: Add new ioctl that allows user-space processes to reuse the file descriptor associated with the character device for watching any changes in line properties. Every such event contains the updated line information commit
tools: Add gpio-watch program for monitoring changes in line infocommit
Add driver for Mellanox BlueField 2 GPIO controller commit
12.25. LEDs
Add SGI IP30 LED support commit
12.26. DMA engines
Add basic debugfs support commit
ti: k3-udma: Implement support for atype (for virtualization) commit
uniphier-xdmac: Add UniPhier external DMA controller driver commit
12.27. Cryptography hardware acceleration
caam: Add support for SKCIPHER, HASH, RSA and AEAD algorithms commit, commit, commit, commit, commit, commit, commit, commit, commit
caam: enable prediction resistance in HRWNG commit
chtls: add/delete TLS header in driver commit
marvell: Support for Marvell OcteonTX CPT driver commit, commit, commit
xilinx - Add Xilinx AES driver commit
12.28. PCI
Add support for Error Disconnect Recover (EDR, you can find EDR spec here) and _OSC based negotiation support for DPC commit, commit, commit, commit, commit, commit, commit, commit, commit
P2PDMA: Add Intel Skylake-E Root Ports B, C, D to the whitelist commit
mobiveil: Add PCIe Gen4 RC driver for Layerscape SoCs commit
tegra: Add support for PCIe endpoint mode in Tegra194 commit
vmd: Add two VMD device IDs commit
genirq: Sanitize interrupt injection commit, commit, commit, commit, commit, commit, commit
tools: pcitest: Add 'd' command-line option to support DMA commit and add 'e' to clear IRQ commit
12.29. Clock
Ingenic: Add support for TCU of X1000 commit
at91: add at91rm9200 pmc driver commit
at91: add at91sam9g45 pmc driver commit
at91: add at91sam9n12 pmc driver commit
at91: add sama5d3 pmc driver commit
imx7d: Add PXP clock commit
imx8mm: Add CLKO2 support commit
keystone: Add new driver to handle syscon based clocks commit
meson: g12a: add support for the SPICC SCLK Source clocks commit
mmp2: Add clocks for the thermal sensors commit
mmp2: Add support for PLL clock sources commit
qcom: Add modem clock controller driver for SC7180 commit
qcom: clk-alpha-pll: Add support for controlling Lucid PLLs commit
qcom: gcc: Add global clock controller driver for SM8250 commit
qcom: gpucc: Add support for GX GDSC for SC7180 commit
qcom: rpmh: Add support for RPMH clocks on SM8250 commit
si5341: Support multiple input ports commit
sprd: add clocks support for SC9863A commit
clocksource: Add driver for the Ingenic JZ47xx OST commit
clocksource: ingenic: Add support for TCU of X1000 commit
12.30. PHY ("physical layer" framework)
amlogic: Add Amlogic A1 USB2 PHY Driver commit
amlogic: Add Amlogic AXG MIPI/PCIE analog PHY Driver commit
amlogic: Add Amlogic AXG PCIE PHY Driver commit
qcom-qmp: Add MSM8996 UFS QMP support commit
qcom-qusb2: Add generic QUSB2 V2 PHY support commit
qcom: qmp: Add SDM845 PCIe QMP PHY support commit
qcom: qmp: Add SDM845 QHP PCIe PHY commit
qualcomm: Add Synopsys 28nm Hi-Speed USB PHY driver commit
qualcomm: usb: Add SuperSpeed PHY driver commit
tegra: xusb: Add Tegra194 support commit
ti: gmii-sel: add support for am654x/j721e soc commit
uniphier-pcie: Add legacy SoC support for Pro5 commit
uniphier-usb3hs: Add legacy SoC support for Pro5 commit
uniphier-usb3ss: Add Pro5 support commit
12.31. EDAC (Error Detection And Correction)
Add EDAC driver for DMC520 commit
12.32. Modem Host Interface (MHI) Bus
Add the MHI (Modem Host Interface) bus interface to Linux kernel. MHI is a communication protocol used by the host processors to control and communicate with modems over a high speed peripheral bus or shared memory. The MHI protocol has been designed and developed by Qualcomm Innovation Center, Inc., for use in their modems commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
12.33. Various
bus: ti-sysc: Add support for PRUSS SYSC type commit
counter: 104-quad-8: Support Differential Encoder Cable Status commit
counter: 104-quad-8: Support Filter Clock Prescaler commit
counter: stm32-timer-cnt: add power management support commit
eeprom: at24: add TPF0001 ACPI ID for 24c1024 device commit
extcon: axp288: Add wakeup support commit
firmware: xilinx: Add ZynqMP aes API for AES functionality commit
habanalabs: add debugfs write64/read64 commit
habanalabs: support temperature offset via sysfs commit
Add Operating State Manager (OSM) L3 interconnect provider support on SDM845 and SC7180 SoCs to handle bandwidth requests from CPU to scale L3 caches commit, commit, commit, commit, commit
interconnect: qcom: Add SC7180 interconnect provider driver commit
interconnect: qcom: Consolidate interconnect RPMh support commit
irqchip/ingenic: Add support for TCU of X1000 commit
irqchip: Add driver for Loongson I/O Local Interrupt Controller commit
irqchip: Add driver for Loongson-3 HyperTransport PIC controller commit
mailbox: imx: add SCU MU support commit
mailbox: sun6i-msgbox: Add a new mailbox driver commit
mei: me: add cedar fork device ids commit
misc: pci_endpoint_test: Add ioctl to clear IRQ commit
misc: pci_endpoint_test: Add support to get DMA option from userspace commit
ptp: Add a ptp clock driver for IDT 82P33 SMU commit
ptp: add VMware virtual PTP clock driver commit
remoteproc: updates for OMAP remoteproc support commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
remoteproc: add IPA notification to q6v5 driver commit
13. List of pull requests
14. Other news sites
Phoronix: Linux 5.7 feature overview
Español: Las novedades de Linux 5.7