67705
Comment:
|
1055
typo
|
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, Operating System, Linus Torvalds, Open Source, drivers, filesystems, network, memory management, scheduler, preemption, 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]] or the Linux Kernel mailing list (there is a web interface in [[http://www.lkml.org|www.lkml.org]] or [[https://lore.kernel.org/lkml/|lore.kernel.org/lkml]]). The lore.kernel.org/lkml/ archive is also available via NTTP if you prefer to use a newsreader: use `nntp://nntp.lore.kernel.org/org.kernel.vger.linux-kernel` for that. List of changes of older releases can be found at LinuxVersions. If you're going to add something here look first at LinuxChangesRules! |
Line 3: | Line 5: |
===== 2.6.15 ===== * '''STILL NOT RELEASED!''' * Page table scalability improvements: Currently, a single page table lock is used to protect all operations on an address space's page tables. This has been detected to cause scalability problems in largue multiprocessor systems ej: 512-cpu SGI altix, specially in heavily multithreaded workloads (threads of a same process share the same address space and hence the same page table lock). With this patch, a separate spinlock per page-table page is used, to guard the page table entries in that page. Splitting the lock is not quite for free: another cacheline access. So for now enable it by config for machines with 4 or more CPUs. While this (and many other scalability changes) may look high-end oriented now, remember that cheap multi-core desktops CPUs are there. [http://lwn.net/Articles/157151/ (LWN article)] [http://marc.theaimsgroup.com/?l=linux-kernel&m=112603203327134&w=2 (benchmark vs SGI's "reduced locking by using atomic page table operations" non-merged approach)] [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=4c21e2f2441dc5fbb957b030333f5a3f2d02dea7 (commit)] * .text page fault SMP scalability optimization: This fixes a case where large systems wouldn't scale well while faulting in the .text. The reason was a useless overwrite of the same pte from all cpu [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=1a44e149084d772a1bcf4cdbdde8a013a8a1cfde (commit)] * Swaptoken tuning: It turns out that the original swap token implementation, by Song Jiang, only enforced the swap token while the task holding the token is handling a page fault, this patch approximates that, like the page fault code does. It has the effect of automatically, and gradually, disabling the enforcement of the swap token when there is little or no paging going on, and "turning up" the intensity of the swap token code the more the task holding the token is thrashing [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=fcdae29aa7a5c79f245110f6680afdc1858d3626 (commit)] * Demand faulting for huge pages [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=4c887265977213985091476be40ab11dfdcb4caf (commit)] * Add generic memory add/remove and supporting functions for memory hotplug [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=3947be1969a9ce455ec30f60ef51efb10e4323d1 (commit)] * IPv4/IPv6: UFO (UDP Fragmentation Offload) Scatter-gather approach: UFO is a feature wherein the Linux kernel network stack will offload the IP fragmentation functionality of large UDP datagram to hardware. This will reduce the overhead of stack in fragmenting the large UDP datagram to MTU sized packets [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e89e9cf539a28df7d0eb1d0a545368e9920b34ac (commit)] * Add the infrastructure to support hotplug CPU on ARM [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a054a811597a17ffbe92bc4db04a4dc2f1b1ea55 (commit)] * x86 hot plug CPU support of physical add of new processors (hotplug add/remove of already existing CPUs was already supported) [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=9f40a72a7e819789f66910c8cd60aab005cdb413 (commit)] * Add LSM hooks for key management facilities (see link) [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=29db9190634067c5a328ee5fcc2890251b836b4b (commit)] * RCU torture-testing kernel module: This adds a tristate CONFIG_RCU_TORTURE_TEST, which enables an intense torture test of the RCU infratructure. This is needed for testing due to the continued changes to the RCU infrastructure [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a241ec65aeac3d69a08a7b153cccbdb7ea35063f (commit)] * Support for shared HPET interrupts: The driver previously acknowledged interrupts for both edge and level interrupts, but didn't actually allow a shared interrupt in the latter case [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=0d29086177aaa1e7d14e6ebb7fc067b3ca6d5c11 (commit)] * Driver Core: add the ability for class_device structures to be nested: Allows struct class_device to be nested, so that another struct class_device can be the parent of a new one, instead of only having the struct class be the parent [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=51d172d5f3a193e4b8f76179b2e55d7a36b94117 (commit)] * Add vmalloc_node(size, node) (allocate necessary memory on the specified node) and get_vm_area_node(size, flags, node) [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=930fc45a49ddebe7555cc5c837d82b9c27e65ff4 (commit)] * Generic dispatch queue: Implements generic dispatch queue which can replace all dispatch queues implemented by each iosched [http://marc.theaimsgroup.com/?l=linux-kernel&m=112238633622498&w=2 (mailing list)] [http://lwn.net/Articles/157208/ (LWN article)] [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=8922e16cf6269e668123acb1ae1fdc62b7a3a4fc (commit)] * Reimplement elevator online switching code [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=cb98fc8bb9c141009e2bda99c0db39d387e142cf (commit)] * Optimized SHA1 implementation for ARM [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=c09f98271f685af349d3f0199360f1c0e85550e0 (commit)] * Add sysfs support for ide tape [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=d5dee80ad69439ad8dccf8fa4d7fed0068aec9cf (commit)] * Add "revision" support for having multiple revisions for each match/target in arp_tables and ip6_tables [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=6b7d31fcdda5938e5d3f1f8b0922cc25aa200dfc (commit)] * Support for the Artemis and ATIK astronomical based USB CCD cameras [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=c9c7746dd333c12f482af2f1e63ea7eafc7cd529 (commit)] * USB: delete the bluetty driver [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a6c82600d4058346ea6fd801bc21d7abcc1350d8 (commit)] * Nokia 7600/6230(i)/6170/66x0 DKU2 USB driver [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=50260b69bbec383058875de26dbde28b1a6f8d00 (commit)] * Nvidia Geforce 7800 series (7800, 7800 GTX, 7800 GO and 7800 GTX GO cards) framebuffer support [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=7015faa7df829876a0f931cd18aa6d7c24a1b581 (commit)] * MPC8xx PCMCIA support (PowerPC 8xx series PCMCIA controller) [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=de957c89b7dadb3147e885d7b6eb9db73d0eea57 (commit)] * Support for SA1100 Jornada flash device support [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=183e1a349466a1b90430a58f3efad25a3e555cb2 (commit)] * Resurrect Cobalt (MIPS-based) support for 2.6 [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=c4ed38a0c6e2e5c4906296758f816ee71373792f (commit)] * Base Au1200 (MIPS-based) 2.6 support [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e3ad1c23ba72214669b364c6fa304531dc768c3e (commit)] * Add support for BCM1480 family of chips (MIPS-based) [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=f137e463b50aadba91bd116f99c59ccb9c15a12f (commit)] * Support for sharp zaurus sl-5500 touchscreen [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=1753298947afe5eb56da755bc057f1868f345ec1 (commit)] and its PCMCIA slot [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=77bb86a1b9f8b872d8efc33c4f4359f809220252 (commit)] |
You can discuss the latest Linux kernel changes on the [[http://forum.kernelnewbies.org/list.php?4|New Linux Kernel Features Forum]]. |
Line 34: | Line 7: |
===== 2.6.14 ===== * Released October 27, 2005 [http://kernel.org/pub/linux/kernel/v2.6/ChangeLog-2.6.14 changelog] * Numa-aware slab allocator: It creates slabs on multiple nodes and manages slabs in such a way that locality of allocations is optimized. Each node has its own list of partial, free and full slabs. All object allocations for a node occur from node specific slab lists [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e498be7dafd72fd68848c1eef1575aa7c5d658df (commit - benchmarks)] * Lazy page table copies in fork() for VMAs without anonymous pages (the ones with anonymous pages are still copied): Defer copying of ptes until fault time when it is possible to reconstruct the pte from backing store, speeding up fork() greatly specially for processes using lots of shared memory [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=d992895ba2b27cf5adf1ba0ad6d27662adc54c5e (commit)] * Add /proc/$PID/smaps: This file will shows how much memory is resident in each mapping. Useful for people who want to perform memory consumption analysis [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e070ad49f31155d872d8e96cab2142840993e3c0 (commit)] * Add /proc/$PID/numa_maps: This file will show on which nodes pages reside [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=6e21c8f145f5052c1c2fb4a4b41bee01c848159b (commit)] * Lock-free file descriptor look-up [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=ab2af1f5005069321c5d130f09cce577b03f43ef (commit)] - [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b835996f628eadb55c5fb222ba46fe9395bf73c7 (commit)] * Four-level page table support for the ppc64 architecture: extends the usable user address range to 44 bits (16T). [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e28f7faf05159f1cfd564596f5e6178edba6bd49 (commit)] * Support hotplug cpu on 32-bit SMP powermacs: When a cpu is off-lined, it is put into sleep mode with interrupts disabled. It can be on-lined again by asserting its soft-reset pin, which is connected to a GPIO pin [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=31139971b3dc9fbb2e8a8572fb81e6e8470f363a (commit)] * Add TASK_NONINTERACTIVE task state bit to the cpu scheduler: It can be used by blocking points to mark the task's wait as "non-interactive". This does not mean the task will be considered a CPU-hog - the wait will simply not have an effect on the waiting task's priority - positive or negative alike [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=d79fc0fc6645b0cf5cd980da76942ca6d6300fa4 (commit)] * [http://www.ietf.org/rfc/rfc2637.txt PPTP] (Point-to-Point Tunneling Protocol) conntrack support and NAT helper added to allow proper management of multiple NAT'd PPTP connections. PPTP, a Microsoft-designed protocol, is used in many places to provide VPN access due to the native support in Microsoft Windows. [http://en.wikipedia.org/wiki/PPTP Wikipedia article] [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=926b50f92a30090da2c1a8675de954c2d9b09732 (commit)] * DCCP: "Datagram Congestion Control Protocol". Datagram protocol (like UDP), but with a congestion control mechanism. [http://lwn.net/Articles/149756/ (LWN article)] Currently a [http://www.icir.org/kohler/dcp/draft-ietf-dccp-spec-11.txt RFC draft] [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=7c657876b63cb1d8a2ec06f8fc6c37bb8412e66c (commit)] * Implement SKB fast cloning: Protocols that make extensive use of SKB cloning, for example TCP, eat at least 2 allocations per packet sent as a result. To cut the kmalloc() count in half, we implement a pre-allocation scheme wherein we allocate 2 sk_buff objects in advance, then use a simple reference count to free up the memory at the correct time [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=d179cd12928443f3ec29cfbc3567439644bd0afc (commit)] * Add netlink connector: userspace <-> kernel space easy to use communication module which implements easy to use bidirectional message bus using netlink as its backend [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=7672d0b54411371e0b6a831c1cb2f0ce615de6dc (commit)], also a "async connector mode" [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=acd042bb2de50d4e6fb969281a00cc8b8b71e46d (commit)] * IPV6: Support several new sockopt / ancillary data in Advanced API (RFC3542): IPV6_RECVPKTINFO, IPV6_PKTINFO, IPV6_RECVHOPOPTS, IPV6_HOPOPTS, IPV6_RECVDSTOPTS, IPV6_DSTOPTS, IPV6_RTHDRDSTOPTS, IPV6_RECVRTHDR, IPV6_RTHDR, IPV6_RECVHOPOPTS, IPV6_HOPOPTS, IPV6_{RECV,}TCLASS [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=333fad5364d6b457c8d837f7d05802d2aaf8a961 (commit)] - [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=41a1f8ea4fbfcdc4232f023732584aae2220de31 (commit)] * [http://fuse.sourceforge.net/ FUSE]: Allows to implement a fully functional filesystem in a userspace program [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=d8a5ba45457e4a22aa39c939121efd7bb6c76672 (commit)] * [http://v9fs.sourceforge.net/ 9P support]: Linux port of the [http://www.cs.bell-labs.com/sys/doc/9.html Plan9]'s [http://plan9.bell-labs.com/sys/man/5/INDEX.html 9P protocol] [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=93fa58cb831337fdf5d36b3b913441100a484dae (commit)] * [http://relayfs.sourceforge.net/ RelayFS]: Relayfs is just a bunch of per-cpu kernel buffers that can be efficiently written into from kernel code. These buffers are represented as files which can be mmap'ed and directly read from in user space. The purpose of this setup is to provide the simplest possible mechanism allowing potentially large amounts of data to be logged in the kernel and 'relayed' to user space." [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e82894f84dbba130ab46c97748c03647f8204f92 (commit)] * securityfs filesystem [http://lwn.net/Articles/153366/ (LWN article)] [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b67dbf9d4c1987c370fd18fdc4cf9d8aaea604c2 (commit)] * Suspend support for CIFS filesystem [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=ede1327ea4ca8019ec6df24b3e837def091c26b8 (commit)] * Enable atomic inode security labeling on ext3 and ext2: it enables atomic security labeling of newly created inodes by altering the fs code to invoke a new LSM hook to obtain the security attribute to apply to a newly created inode and to set up the incore inode security state during the inode creation transaction. This parallels the existing processing for setting ACLs on newly created inodes [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=5e41ff9e0650f327a6c819841fa412da95d57319 (commit)] - [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=10f47e6a1b8b276323b652053945c87a63a5812d (commit)] - [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=ac50960afa31877493add6d941d8402fa879c452 (commit)] * SELinux memory improvements: Reduce access rules memory usage by 20x [http://www.livejournal.com/users/james_morris/6197.html James Morris explanation] [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=782ebb992ec20b5afdd5786ee8c2f1b58b631f24 (commit)] * NTFS: Support journals ($Logfile) which have been modified by chkdsk. This means users can boot into Windows after we marked the volume dirty. The Windows boot will run chkdsk and then reboot. The user can then immediately boot into Linux rather than having to do a full Windows boot first before rebooting into Linux [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e7a1033b946f4f2622f2b338ab107f559aad542c (commit)] * SAS transport class [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=c7ebbbce366c02e5657ac6b6059933fe0353b175 (commit)] * Remove ACPI S4 BIOS support [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b01d8684e9e5b04270970c97df856d47668267e3 (commit)] * [http://ipw2100.sourceforge.net/ ipw2100] and [http://ipw2200.sourceforge.net/ ipw2200] wireless drivers (intel centrino) [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=2c86c275015c880e810830304a3a4ab94803b38b (commit)] - [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=43f66a6ce8da299344cf1bc2ac2311889cc88555 (commit)] * [http://hostap.epitest.fi/ HostAP]: Adds support to work as "Wireless Access Point" [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=ff1d2767d5a43c85f944e86a45284b721f66196c (commit)] * [http://www.hpl.hp.com/personal/Jean_Tourrilhes/Linux/Linux.Wireless.Extensions.html Wireless extensions] API update to version 19 [http://marc.theaimsgroup.com/?l=linux-netdev&m=112568599006559&w=2 (mail)] [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=6582c164f2b3b6e58d1f13c1c031b19ee691eb14 (commit)] * ISA DMA suspend for x86/x86-64 [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=795312e763569ce4df67e7a0ca726a9901358fa2 (commit)] - [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=7dc24db1757f950f8bd21b7191106d4bf5134be7 (commit)] * PCI: Support PCI PM CAP version 3 [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=3fe9d19f9e86a55679f5f2b38ec0a43a1a510cee (commit)] * Keys: Add possessor permissions to keys. It adds extra permission grants to keys for the possessor of a key in addition to the owner, group and other permissions bits. This makes SUID binaries easier to support without going as far as labelling keys and key targets using the LSM facilities [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=664cceb0093b755739e56572b836a99104ee8a75 (commit)] * Driver for the IBM Hard Drive Active Protection System (HDAPS), an accelerometer found in most modern Thinkpads [http://lwn.net/Articles/155440/ (LWN article)] [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=860e1d6b46bd4cbc67d8d065f0f682143513382f (commit)] * Add Apple USB touchpad driver for the USB touchpad which can be found on post-February 2005 Apple Powerbooks [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=f7214ff4e8248513ec626212b2c1a3ca0b2a0888 (commit)] * Spinlock consolidation [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=fb1c8f93d869b34cacb8b8932e2b83d96a19d720 (commit)] * Largefile support for accounting: The accounting subsystem in the kernel can not correctly handle files larger than 2GB. This fixes it by adding the O_LARGEFILE flag [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=6c9c0b52b8c6b68b05bb06efd7079a8fc5e9ba60 (commit)] * Detect soft lockups, new debug feature (CONFIG_DETECT_SOFTLOCKUP). When enabled then per-CPU watchdog threads are started, which try to run once per second. If they get delayed for more than 10 seconds then a callback from the timer interrupt detects this condition and prints out a warning message and a stack dump [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=8446f1d391f3d27e6bf9c43d4cbcdac0ca720417 (commit)] * Add kzalloc(): new function, it allows to obtain pre-zeroed memory [http://lwn.net/Articles/147014/ (LWN article)] [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=dd3927105b6f65afb7dac17682172cdfb86d3f00 (commit)] * Add schedule_timeout_{,un}interruptible() [http://lwn.net/Articles/149019 (LWN article)] [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=64ed93a268bc18fa6f72f61420d0e0022c5e38d1 (commit)] ===== 2.6.13 ===== * Released August 29, 2005 [http://www.kernel.org/pub/linux/kernel/v2.6/ChangeLog-2.6.13 changelog] * Execute-in-place support: Traditionally, programs are loaded from disk to memory to be executed. However, the current wave of embedded devices store programs in a ROM/flash chip. XIP allows the kernel executing programs directly from that ROM, without being copied to RAM (saving RAM space), and bypassing the page cache/io scheduler layers (since they're not needed). [http://lwn.net/Articles/135472/ (LWN article)] [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=d763b7a4736e219528f77bf6bc75dd78b1d75c03 (commit)] * i386 CPU hotplug support: provides i386 architecture support for safely unregistering and registering processors during runtime [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=f370513640492641b4046bfd9a6e4714f6ae530d (commit)] * Add /proc/sys/fs/suid_dumpable to provide system-wide control over whether or not set-user-ID and set-group-ID processes produce core dumps. The values accepted are: 0 (default) - traditional behaviour, any process which has changed privilege levels or is execute only will not be dumped. 1 - (debug) - all processes dump core when possible. The core dump is owned by the current user and no security is applied. This is intended for system debugging situations only. Ptrace is unchecked. 2 - (suidsafe) - any binary which normally would not be dumped is dumped readable by root only. This allows the end user to remove such a dump but not access it directly. For security reasons core dumps in this mode will not overwrite one another or other files. This mode is appropriate when adminstrators are attempting to debug problems in a normal environment [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=d6e711448137ca3301512cec41a2c2ce852b3d0a (commit)] * x86 now uses the generic PCI bus setup code for assigning unassigned resources * Voluntary preemption patches * build-time configurable clock interrupt frequency: Now HZ defaults to 250 in x86. 1000 is better for "interactivity" (desktops) and 100 is good for performance (servers) and saves some energy in laptops. [http://lwn.net/Articles/145973/ (LWN article)] * inotify [http://lwn.net/Articles/104343/ (LWN article)] [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=0eeca28300df110bd6ed54b31193c83b87921443 (commit)] * Support for the Xtensa architecture: [http://www.tensilica.com/products/xtensa_architecture.htm 32-bit architecture] used in embedded devices [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=8e1a6dd2fddcc73c9e933758361e3d9c076c688a (commit)] - [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=4bedea94545165364618d403d03b61d797acba0b (commit)] - [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=5a0015d62668e64c8b6e02e360fbbea121bfd5e6 (commit)] - [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=249ac17e96811acc3c6402317dd5d5c89d2cbf68 (commit)] - [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=3f65ce4d141e435e54c20ed2379d983d362a2cb5 (commit)] * Improved CFQ IO scheduler: With support for I/O priorities [http://lwn.net/Articles/143474/ (LWN article)] [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=22e2c507c301c3dbbcf91b4948b88f78842ee6c9 (commit)] * kexec and kdump: Kexec allows users to load a new kernel from another running kernel. By preserving the memory contents in a crash scenario, kexec allows to implement kdump. Kdump is able to get a memory dump of the previous kernel, and be used as a debugging tool. [http://lwn.net/Articles/108595/ (LWN article)] [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=dc009d92435f99498cbc579ce76bf28e837e2c14 (commit)] * Runtime selectable TCP congestion algorithm: Allow using setsockopt to set TCP congestion control to use on a per socket basis. [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=5f8ef48d240963093451bcf83df89f1a1364f51d (commit)] - [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=317a76f9a44b437d6301718f4e5d08bd93f98da7 (commit)] [http://lwn.net/Articles/128681/ (LWN article)] * Add several TCP congestion modules: H-TCP [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a7868ea68d29eb2c037952aeb3b549cf05749a18 commit], TCP Hybla [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=835b3f0c0d7e1f716c45ec576662eac7a68b8548 (commit)], High Speed TCP (HS-TCP) [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a628d29b56d3f420bf3ff1d7543a9caf3ce3b994 (commit)], TCP Westwood [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=8727076289ec55298a05cabddf02b374d13c1624 (commit)], TCP BIC [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=83803034f4233d810c4adc52008921da060c55d1 (commit)] * Add Direct Rendering Manager device driver for VIA Unichrome chipsets [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=22f579c621e2f264e6d093b07d75f99bc97d5df2 (commit)] * 32/64-bit DRM ioctl compatibility: 64 bit architectures running 32 bit software have to be compatible with 32-bit ioctl calls [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=9a18664506dbce5e23f3c5de7b1c5a042dd26520 (commit)] * Add ACL support for NFSv3 [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b7fa0554cf1ba6d6895cd0a5b02989a26e0bc704 (commit)] - [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a257cdd0e2179630d3201c32ba14d7fcb3c3a055 (commit)] and NFSv4 [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=4b580ee3dc00f9828a9a7aad2724f448fdc94075 (commit)] - [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=aa1870af92d8f6d6db0883696516a83ff2b695a6 (commit)] * New driver for the "trusted computing" (TPM) crap^Wchip [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=ebb81fdb3dd0be7514b84197c4f8388a17130f04 (commit)] * Removal of the devfs configuration option ===== 2.6.12 ===== * Released June 17, 2005 [http://www.kernel.org/pub/linux/kernel/v2.6/ChangeLog-2.6.12 changelog] * Pageout throttling: With silly pageout testcases it is possible to place huge amounts of memory under I/O. With a large request queue (CFQ uses 8192 requests) it is possible to place _all_ memory under I/O at the same time. This means that all memory is pinned and unreclaimable and the VM gets upset and goes oom. This patch limits the amount of memory which is under pageout writeout to be a little more than the amount of memory at which balance_dirty_pages() callers will synchronously throttle. This means that heavy pageout activity can starve heavy writeback activity completely, but heavy writeback activity will not cause starvation of pageout [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=3799f8fcebf940f21c69e80ded882245a8bc67a7 (commit)] * Address space randomization: With these patches applied, each process's stack will begin at a random location, and the beginning of the memory area used for mmap() (which is where shared libraries go, among other things) will be randomized as well [http://lwn.net/Articles/121845/ (LWN article)] [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=6a638354be1afb0a134558869e05ddc414707205 (commit)] - [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=f1a6b09deaee24b90b1fab42f93ce1b90f0d319b (commit)] - [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=6562d1975c95c8d6817e373c54f256013d062c5c (commit)] - [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=ad4f9c53a04ce077ae2dde82029bb20a6db705ab (commit)] - [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=c0e5a50b1f28e83b1563453f90f6f0866f3a9a90 (commit)] - [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=42a172a814759a29020e5d1ee580bf4eb86afed2 (commit)] - [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=6833da342273d41d059333e7b6ae81f18dbe6dde (commit)] - [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=9bdac354e0bea82ce76ebdf51d6bbd3993782f78 (commit)] * Cpusets [http://lwn.net/Articles/127936/ (LWN article)] [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=263c0646931c7259ce59188190e0822a121fc0ad (commit)] * "resource limits": RLIMIT_NICE and RLIMIT_RTPRIO added to allow non-root tasks to raise nice and rt priorities. Defaults to traditional behavior [http://lwn.net/Articles/134460/ (LWN article)] [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e43379f10b42194b8a6e1de342cfb44463c0f6da (commit)] * Multilevel security implementation for SELinux * Support for Cyrix MediaGX (aka GEODE) CPUs. Linux and GCC treat this chip as a 586TSC with some extended instructions and alignment reqirements [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=5576007ac28bdd68800ba5816d30ec393c5765ff (commit)] * I/O barrier support for serial ATA drives * Block I/O barrier rewrite (enables full barrier support on serial ATA drives) * Annotate /proc/$PID/maps with [heap]/[stack]/[vdso] markers [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=1d39bbb3d2b67ef76d1aaa1bdef39aee2971015b (commit)] * [http://www.superh.com/products/shyway.htm SuperHyway bus support] * Device mapper multipath support [http://lwn.net/Articles/124703/ (LWN article)] * Hot-pluggable parallel ports [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=2a6c1160578808ec4ef927ccd811791d1635f264 (commit)] * Updated FAT attributes: This updates the FAT attributes as well as corrects the handling of VFAT ctime [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=71b60d7133806152284b3507a901bda2ae645ab0 (commit)] * Handle MS_SYNCHRONOUS flag in FAT: FAT filesystem has been ignoring the "sync" mount option for ages. This patches fixes this, but (obviously) degrades performance unless you mount your FAT filesystem as asynchronous ("async mount option) [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=3e261a474262b622709d4851a1f26123e61ab13c (commit)] * Add timing information to printk messages [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=bd0ac8842ea3484a090fd30507c80ae4cb22de3b (commit)] * Allow admin to enable only some of the Magic-Sysrq functions [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=ea59ccebb3a5a8e76bf9505047e7706027ccf35a (commit)] * Loglevel boot option [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=5d65f423092e68ab44a2a6386c0b3f1985f79c41 (commit)] * Remove IPV6 "experimental" status ===== 2.6.11 ===== * Released March 2, 2005 [http://www.kernel.org/pub/linux/kernel/v2.6/ChangeLog-2.6.11 changelog] * Conversion to 4-level page tables [http://lwn.net/Articles/117749/ (LWN article)] [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=fcbb3756afbe9a4703c45cab86f947412a0358cf (commit)] * New Pipe implementation [http://lwn.net/Articles/118750/ (LWN article)] * "Big Kernel Semaphore": Turns the Big Kernel Lock into a semaphore [http://lwn.net/Articles/102253/ (LWN article)] [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=deac7335cecb3c1e23a032a3f56a34c643871d3b (commit)] * Introduces the CAP_AUDIT_WRITE and CAP_AUDIT_CONTROL capabilities [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=324689781d5d305903f86578b71596fb2a96dd05 (commit)] * Simplify readahead code [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=e8eb956c01529eccc6d7407ab9529ccc6522600f (commit)] - [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=af006eae66249e03d1024fb71cdfae58e7fa7b7e (commit)] * Support for Extended Attributes in the body of large inode in ext3: saves space and improves performance in some cases [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=f0d1dbed7714ea06242c180c215641a92e655414 (commit)] * Add /proc/sys/kernel/bootloader_type [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=11e4268cffc468b60d2b756dc8eb455112b52308 (commit)] * Remove bitmaps from the buddy allocator [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=dda3a6ba68c264b2c850f2d9500b18d0c407a443 (commit)] * Enhanced I/O and memory accounting [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=c3adb238a7557416a3aa472038343d59c986d062 (commit)] - [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=cb6850ae19e4f6bf8ccec0ca770c7b4d1c5f9669 (commit)] * AMD Dual-core support [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=7bd66939b746c4c5a69eb74e2f83f967540e4691 (commit)] * Add Fujitsu FR-V CPU architecture [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=e003366285ac6c770b59cc618f9716c2e0ac0430 (commit)] * TCP port randomization [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=97f941fb4ca03c60da6f466721cc99f576f35877 (commit)] * SATA support for Intel ICH7 * DebugFS [http://lwn.net/Articles/115405/ (LWN article)] * Infiniband support [http://lwn.net/Articles/112531/ (LWN article)] * Remove UMSDOS [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=0512a33a91dbe2241a9a39ddeb3af1c27180aabd (commit)] * Major problems with TCP/IP BIC (the default congestion control) are resolved ===== 2.6.10 ===== * Released December 24, 2004 [http://www.kernel.org/pub/linux/kernel/v2.6/ChangeLog-2.6.10 changelog] * Accounting: report single record for multithreaded process. In kernels before 2.6.10, a separate process accounting record was written for each thread created using NTPL. Since 2.6.10, a single accounting record is written for the entire process [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=fa4c8b605c3313de9e3170b68b9e4576a6a5d45e (commit)] * x86-64 clustered APIC support [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=7f8b8c2a84d1098aec520d1f701c752f10bc5396 (commit)] * Make rlimit settings per-process instead of per-thread for POSIX compliance [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=f1a81f9149ac2321978e1357eb697f95cc31e989 (commit)] * POSIX compliant CPU clocks [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=5842ca68fe016d84f5e9a247fa4d7bdd54ff4ee4 (commit)] * Show aggregate per-process counters in /proc/$PID/stat: Add up resource usage counters for live and dead threads to show aggregate per-process usage. This mirrors the new getrusage() semantics. /proc/$PID/task/$TID/stat still has the per-thread usage [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=99ae4bcef104d602d790eb7da7cfc241ca6eefee (commit)] * Report the pages used for pagetables in /proc/$PID/status [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=713a7e3b7505f501892f031c5a51f7d6c0b89c11 (commit)] * Display committed memory limit (per the current overcommit ratio) and the amount of memory remaining under this limit in meminfo [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=2fdc35b54263b69e695334e465210a8db55a4cfa (commit)] * Thrashing control tuning [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=146f46fa1ec0b76fa76bced34b4849934791532c (commit)] * Big Kernel Lock preemption * IRQ subsystem code rework [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=133bb1db6e22ec5c8b4d0d015deed5b2fa3e447c (commit)] * Removal of the "BIO walking" helper functions * Generic circular buffer type [http://lwn.net/Articles/107314/ (LWN article)] [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=2dbf22c09c31b815202b2ffd6ba2efbfa66c0f72 (commit)] * Ext3 block reservation [http://lwn.net/Articles/81357/ (LWN article)] [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=75e03cd329884cf024993a2d61c4c32bf7bf6c49 (commit)] * Ext3 online resizing patches [http://lwn.net/Articles/89560/ (LWN article)] [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=05a7a2e19ecde7b7c559bdf5009327cff3504d9b (commit)] * Add I/O error handling to journal operations in reiserfs [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=ee0bc517002dcc9e80de36ba0a75bba39d951da9 (commit)] * sysfs backing store [http://lwn.net/Articles/69523/ (LWN article)] * I/O space write barriers [http://lwn.net/Articles/103183/ (LWN article)] [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=50ff053344ac1afbed10f2d5ef0749f816401890 (commit)] * Modular, on-the-fly switchable I/O schedulers [http://lwn.net/Articles/102976/ (LWN article)] [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=d35eec28b8b0da58d9e7d16548fc9105535fa7fe (commit)] * CFQ v2 update [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=579eef5fa2be5ed12bc8d3df3555f4e2d725af64 (commit)] * BSD secure levels module [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=05f59528b1256613657b6f7fdd7d5bd4b20cb902 (commit)] * In-kernel cryptographic key management [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=33a2761288241488ccccedc24688cf33acfba0c9 (commit)] * DVD+RW support [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=dcc573b12a9d623a13ef156bbde6b116507b437a (commit)] * CDRW packet writing support [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=23cabaea5ba85ddaba415e1d5e12073e2ce7f8e3 (commit)] * kernel events notification mechanism * Lock initializater unification [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=e09813fb9c74241a00883e6411e6e3cf66d63339 (commit)] * Panick blinking: Makes the keyboard blink when a oops happens - useful to know if the kernel has really oopsed or not (ej: X.org bugs) [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=5234bcafa9747f78ef723cb8bad14635cf17a811 (commit)] * Reworking of spin lock initialization [http://lwn.net/Articles/109505 (LWN article)] * Configurable /proc/kcore [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=71f16058e2ff1a154e6ed685a66819322c4cdf21 (commit)] ===== 2.6.9 ===== * Released October 19, 2004 [http://www.kernel.org/pub/linux/kernel/v2.6/ChangeLog-2.6.9 changelog] * Token-based thrashing control [http://lwn.net/Articles/96621 (LWN article)] [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=e6a32818710d24cc910ec4d4333f99972b3cf563 (commit)] * Concurrent O_SYNC write support: In databases it is common to have multiple threads or processes performing O_SYNC writes against different parts of the same file.[http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=96deebee4470587bc1a855c787d6919df681cdac (commit)] * Reiserfs v3 barrier support: Add reiserfs support for flush barriers, mount with -o barrier=flush to enable them. Barriers are triggered on fsync and for log commits [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=b736095823b073209ef38622227c64c593260b73 (commit)] * ext3 barrier support: Mount with "mount -o barrier=1" to enable barriers [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=52a75614f1f753e01a5a9610c5390b5b7f795912 (commit)] * Support of disk barriers: [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=74c50b2c1af1b3535cf6c39ce684e60fa9f5dfdb (commit)] * m32r architecture support * Scheduler statistics: adds lots of CPU scheduler stats in /proc/$PID/stat [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=34b334118622daae225ab8fd56c79f54f6e15774 (commit)] * RLIMIT_MEMLOCK semantics change: In Linux kernels before 2.6.9, only privileged processes (CAP_IPC_LOCK) could lock memory, and the RLIMIT_MEMLOCK soft resource limit placed an upper limit on the number of bytes that a privileged process can lock. Since kernel 2.6.9: no limits are placed on the amount of memory that a privileged process can lock; and an unprivileged process is now able to lock memory up to the soft limit defined by RLIMIT_MEMLOC [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=adaeb8014406050050cf09416d1b0e3c23838fdb (commit)] * Tunable "max sectors" limit for block I/O requests (can help latency reduction) * New prctl() option allowing programs to change their name (PR_GET_NAME) * AMD dual-core support * Out-of-line spinlocks [http://lwn.net/Articles/97537/ (LWN article)] [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=2ea380e357f23ad37c1a06c6af509b68e9d57bb6 (commit)] * Support for POSIX's waitid() Also, now linux now supports the POSIX specification that SIGCHLD is sent to the parent when one of its children resumes as a consequence of receiving a SIGCONT signal. Also, WCONTINUED flag is added to waitpid() and waitid() [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=8e81583bfd488bb0b10aa799f7ec5f7b4a79fe73 (commit)]. * Shared memory scalability improvements * "flex mmap" user-space memory layout [http://lwn.net/Articles/91829/ (LWN article)] [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=0f7c9b1849d5365d27d4553e471a8e721c8dabb7 (commit)] * x86 PAE swapspace expansion. PAE is artificially limited in terms of swapspace to the same bitsplit as ordinary i386, a 5/24 split (32 swapfiles, 64GB max swapfile size), when a 5/27 split (32 swapfiles, 512GB max swapfile size) is feasible. This patch transparently removes that limitation by using more of the space available in PAE's wider ptes for swap ptes [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=7c1c60d14d175c41c5db03f20f44c80c4d683e52 (commit)] * Show Active/Inactive on per-node meminfo: The patch below enable to display the size of Active/Inactive pages on per-node meminfo (/sys/devices/system/node/node%d/meminfo) like /proc/meminfo [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=6d4a504b45abc756eac6374591f74c7afb722b6a (commit)] * Change in TCP ICMP source quench behavior * [http://www.linux-usb.org/gadget/h2-otg.html USB "on the go" support] * New USB storage driver * Support for more than eight partitions on BSD-labeled disks * Ethtool support in the loopback driver * NETIF_F_LLTX interface [http://lwn.net/Articles/101215/ (LWN article)] * DSCP decapsulation for IPsec [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=cac8c9f3e6cd37a3dd079e12a01fc41d2650bf39 (commit)] * Removal of the ancient "busmouse" driver * Infrastructure for cluster-wide file locking * DRM subsystem cleanups * "fake NUMA" mode for x86-64 testing * Small-footprint tmpfs implementation * Support for scheduler profiling (seeing where context switches come from) * Automatic TCP window scaling calculation * Some VFS interface improvements * Executable support in hugetlb mappings * The Whirlpool digest algorithm * Removal of the very last suser() call ===== 2.6.8 ===== * Released August 14, 2004 [http://www.kernel.org/pub/linux/kernel/v2.6/ChangeLog-2.6.8 changelog] * Allow x86 to reenable interrupts on lock contention [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=e61229e7fab63f09bcab5f6d54477453ca98684c (commit)] * VFS shrinkage tuning: This adds /proc/sys/vm/vfs_cache_pressure, which tunes the vfs cache versus pagecache scanning pressure. At vfs_cache_pressure=0 we don't shrink dcache and icache at all, at vfs_cache_pressure=100 there is no change in behaviour, at vfs_cache_pressure > 100 we reclaim dentries and inodes harder [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=95afb3658a8217ff2c262e202601340323ef2803 (commit)] * Conversion to the new symbolic link resolution code (which will eventually allow an increase in the maximum link depth) [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=c989bc66ec92aabcf88f429da52a798003edc505 (commit)] * Add O_NOATIME open flag support (GNU extension): If this bit is set, read will not update the access time of the file. It is useful if you want to do something with the file atime (for instance, moving files that have not been accessed in a while to somewhere else, or something like Debian's popularity-contest) but you also want to read all files periodically (for instance, tripwire or debsums) [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=037c5577398a9d87f0b9f8d68cbf17324b5b05fe (commit)] * MNT_EXPIRE for umount(): Intrinsic automount and mountpoint degradation support. This adds support for a filesystem (such as kAFS) to perform automounting intrinsically without the need for a userspace daemon. It also adds support for such mountpoints to be degraded at the filesystem's behest until they've been untouched long enough that they'll be removed [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=92b2af55e9bd44724700c8eef889c7b368df6c94 (commit)] * Process Accounting Version 3 format added [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=f0743e893fb6ede7126ee6bb9ebad092fc2e346c (commit)] * RLIMIT_SIGPENDING added, introducing per user rlimits for both queued signals and POSIX message queues [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=05eecc7a8a3765f2dd4b4d5d8a2e928f27c620f0 (commit)], and remove unused queued_signals global accounting - rtsig-max and rtsig-nr /proc interfaces went away [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=31c7f302112bb18a7fd93cf07f52478a2688f62b (commit)] * support for 64-bit Super-H hardware * Removal of the PC9800 subarchitecture (lack of mainteinance) [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=3f7da6b29ad4612b09ddb39dd7938d11e9551ba6 (commit)] * Preemptible kernel support for the PPC64 architecture [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=5cc01b3b2ec3228457146904098dbaed01fbe0f8 (commit)] * Oprofile support for ppc32 [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=1383f594343b33211e1755524ecfd6c70ea8d1c9 (commit)] * Support for new Apple Powerbooks [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=eb5b2db2e449555fb06da1a6c81506f7593a7ad3 (commit)] * x86 no-execute support [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=3d543a2d0ce112d99d584fa99a5005629bc3c871 (commit)] * Asynchronous I/O support for USB gadgets * HPET (High Precision Event Timer) support [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=d4e2cce3c8d7a766e474e9643514f1e6be7d758d (commit)] * Reworked symbolic link lookup implementation [http://lwn.net/Articles/91959/ (LWN article)] * Lockless loopback [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=b2079a04d5b73b7cf82bb88897e86e2aee91bbc4 (commit)] * New "CPU mask" implementation * RCU performance improvements [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=48adcee8afd0838517a7e3150daa617f5b0a0c25 (commit)] - [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=2321dce287dbaf69028be4678956451c9f1157b1 (commit)] * New wait_event_interruptible_exclusive() macro * Sysfs knobs for tuning the CFQ I/O scheduler [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=cde1f64d5ecbc78bc605937540421914b4f8cb8f (commit)] * Mirroring, snapshot and dm-zero targets for the device mapper [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=82fe372266fddf32677a7e0b4e2908bbcecf90dd (commit)] - [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=9665bd2e2f0ac296d7e4c40a50978dfa9f6dce07 (commit)] - [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=db40a292b7da5640a8a464b1e8a8251eaf175fd8 (commit)] * Reiserfs data=journal support [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=e4861db92ba98c0280abf75bbbe344a14254997b (commit)] * Added permissions checking on raw SCSI commands from user space [http://lwn.net/Articles/98379/ (LWN article)] [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=edfbc0a1c7df14728a31734ecafbbcacac85ac20 (commit)] * Removal of the fcntl() file operations method * New internal infrastructure for handling file positioning and seekability [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=9286c49cc35e0a5a4ed240a80ae9ef17b37948d8 (commit)] * Removal of the (non-functional) "fastroute" networking option * TEA, XTEA, Khazad crypto algorithms [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=ca28e25885ef28aeb01553d46e225805f9f26b10 (commit)] - [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=1dbd347b7c1f8d879361609eabed7100b5f30754 (commit)] * Add deb-pkg build option [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=4c25efaec1f969b16102dea37a38f33a2848cca5 (commit)] * TCP/IP congestion control changes from Reno to BIC ===== 2.6.7 ===== * Released June 16, 2004 [http://www.kernel.org/pub/linux/kernel/v2.6/ChangeLog-2.6.7 changelog]: * Scheduling Domains [http://lwn.net/Articles/80911/ (LWN article)] [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=5a2bc24fc647c9dfb10faae4b3a86ef05fc6f596 (commit)] * Full object-based reverse-mapping scheme and removal of the per-page PTE chains [http://lwn.net/Articles/86715/ (LWN article)] * Filtered Wakeups [http://lwn.net/Articles/83633/ (LWN article)] * Ability to re-enable interrupts while waiting in spin_lock_irqsave() (for all architectures now) * msleep() function for millisecond-scale waits * del_singleshot_timer(): Deleting timers quickly [http://lwn.net/Articles/84836/ (LWN article)] * shrink "dentry" structure * Speedup readahead for seeky workloads [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=ef12b3c1abce83e8e25d27bdaab6380238e792ff (commit)] * Support for quotas, extended attributes, ACLs, SELinux in reiserfs [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=783206fcd4123700cf1bdced342dcd44d1b18e20 (commit)] - [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=c6df36c4c37c02dc45d390f7e78cbae51e4dcb2c (commit)] - [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=c86d577034339a7f7c149320be204d2ad0e3dbe2 (commit)] - [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=98ca2698e94ce62fa4f34ed6256019cabb74c8a5 (commit)] * Removal of the Intermezzo filesystem (lack of mainteinance) [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=4b18ece918a95d42904ea80a7dd62075e90d2f84 (commit)] * Remove IDE PATA TCQ support: It's been disabled some time ago, PATA TCQ has so many technical short comings, that it was never really interesting [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=066298b9347991e663ab9b0005e5fe36bad1b22c (commit)] * Dynamic addition of virtual disks on PPC64 iSeries [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=280fbb169c2d81004d866fdd6d51fc73b85b8210 (commit)] * Implement separate per-cpu stacks for processing interrupts and softirqs, along the lines of the CONFIG_4KSTACKS stuff on x86 [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=93836954c881c4c70d5cd8e64440ec17a841bfa8 (commit)] * PowerPC 750GX support [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=19f21bf97946de6637ff9d788f6fa0f5956e2597 (commit)] * new API for NUMA systems * Debugging option to put data symbols in kallsyms [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=e9bc643950e4125f25c73a12abf07669074709f5 (commit)] ===== 2.6.6 ===== * Released May 10, 2004 [http://www.kernel.org/pub/linux/kernel/v2.6/ChangeLog-2.6.6 changelog] * Removal of (struct page)->list and page dirty/clean/free lists, replaced by radix-tree tagging [http://lwn.net/Articles/80472/ (LWN article)] * Network packet timestamping optimization * Binary Increase Control (BIC) TCP developed by NCSU. It is yet another TCP congestion control algorithm for handling big fat pipes. For normal size congestion windows it behaves the same as existing TCP Reno, but when window is large it uses additive increase to ensure fairness and when window is small it uses binary search increase [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=d009df2d52345441873340c5b75ecc09b9343a22 (commit)] * [http://www.geocities.com/wronski12/posix_ipc/index.html POSIX message queues] [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=3bc45e612c620d7477b9ed3f285c9222b3bb558b (commit)] * fsync() and fdatasync() speed improvements to ext2/3 [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=c67ebc7f2644d612f7838a7f3aee1b766ce11e69 (commit)] * Addition of the fcntl() method to the file_operations structure [http://lwn.net/Articles/77190/ (LWN article)] * Laptop Mode [http://lwn.net/Articles/65437/ (LWN article)] [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=166054344dda21795e3735af51edf1a261177e7e (commit)] * Oprofile for s390 [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=f42022413a50489115f36c5e9a16f5d13e4831a4 (commit)] * 4KB kernel stacks option for the i386 architecture [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=f061c2ccd81f62b777327aa3696d652b5fb34c6f (commit)] * Non-executable stack support for several architectures [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=9abd312fda38fb2ba7b3dfe147ecbadf5cf8f57f (commit)] * Make sysfs configurable [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=7aa1fb8cb5813bfe0a33e49975f1cceb0740251f (commit)] * Reiserfs updates: data=ordered support, space preallocation, laptop mode support, logging rework, support for nested transactions [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=d4265dd282789d98d47f2febea1e60ff2a494b82 (commit)] - [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=502c984ae4ddae1964c5aae6625e56516106c396 (commit)] - [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=050ff9c100d0a9e9cb45f575783ca801d2ca42c3 (commit)] - [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=3b0970c6144b4e5cb777d8b54926c1dbeb2e2b64 (commit)] - [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=46d1f3648ddccf15793a057f7aef3e2ce5be4f0e (commit)] * Reiserfs and ext3 "commit=0 support": Restores commit interval to the default value [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=9a9b4f749ce975a57994207e7c0c5fe57148ef60 (commit)] - [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=a4fe3fb94e6ea2e27d61abd8b141856f9d662fbd (commit)] * Ext3 journalled quotas [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=c69e3890a7a5d8c0587d958e618d303fad9d941a (commit)] * NFS v4: Implement server-side reboot recovery (mostly) [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=82107aa303e744b0e67f9daa44748c5abbf01d69 (commit)] * IPv6 support in SELinux [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=bdee92e07efd44da1dc87d47485c3f9ffaf0d976 (commit)] * The lightweight auditing framework [http://lwn.net/Articles/79326/ (LWN article)] [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=4527a30f157fca45c102ea49a2fb34a4502264eb (commit)] * A mechanism which allows block drivers to respond to queries about the congestion state of their queues * "per-device unplugging patch" [http://lwn.net/Articles/75233/ (LWN article)] * CFQ scheduler [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=a7c3e7eee4fe04953547e408f8db0d615c4c1afe (commmit)] * External module support [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=eeb0e992ae01bc7c68628c20df6df0bdc1c7fd28 (commit)] * Generic snapshot support code for filesystems (taken from XFS) [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=9a6f9f9177e7403e661eb876500d57d139c0d034 (commit)] ===== 2.6.5 ===== * Released April 4, 2004 [http://www.kernel.org/pub/linux/kernel/v2.6/ChangeLog-2.6.5 changelog] * Adaptative lazy readahead [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=87698a351b86822dabbd8c1a34c8a6d3e62e5a77 (commit)] * CDROMREADAUDIO dma support: support DMA for extrating audio [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=6cea839a9cb769215c2a3cf2056ff1b09ea08378 (commit)] * Netpoll infrastructure [http://lwn.net/Articles/75944 (LWN article)] * New "kref" reference counting mechanism [http://lwn.net/Articles/75920 (LWN article)] * AIO support for reiserfs [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=71b95e3ebaa658cdb361c78b613267776957995b (commit)] * Read-only support for UFS2 [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=e935d5b963465e88c09896056578d8ece381dc9a (commit)] * Display number of slab, mapped and pagetable pages in the sysrq-M output [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=53c3a164bde6946bb9ca65eb021b0cf96035b5d3 (commit)] ===== 2.6.4 ===== * Released March 11, 2004 [http://www.kernel.org/pub/linux/kernel/v2.6/ChangeLog-2.6.4 changelog] * NGROUPS_MAX, which sets the maximum number of groups a user can belong to has increased the value to 65536 (was previously 32). This limit is also visible via the read-only /proc/sys/kernel/ngroups_max file. [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=60f095f22d9325fc88f128df204242f932c261dc (commit)] * HFS rewrite and HFS+ support [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=b20f09ad0ab9e8ef215b5c6e0ead9effc6b80aee (commit)] - [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=367a470ffe60c58c69ae8bf288cbb4615002729b (commit)] * Add SOCK_SEQPACKET for Unix domain sockets [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=32b46f96d41dfc67ad9d81c39487242ecc84be16 (commit)] * Support for the Intel "ia32e" arch * PPC64 iommu and TBL flush rework [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=aeb9bd1688d76c938acc4b17da8db33e8cbe1133 (commit)] - [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=7fb3b50550a866099fc8ea34b8565f12a104e2fa (commit)] * UTF-8 tty mode [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=8026954da2b98a1a97af65d82c492816681c0faa (commit)] * Dynamic PTY allocation (up to a million PTY devices) * Sysfs support for SCSI tapes and bluetooth devices * ARC4 crypto module Support for large numbers of groups * Generic kernel thread infrastructure [http://lwn.net/Articles/65178/ (LWN article)] * Groundwork for the hotplug CPU code * ARC4 crypto module [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=d0119535d80f4f46d831fb48f1747e732c539c79 (commit)] * Add dm-crypto crypto module [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=f3abc91effde1fd547e6005f36c94313fe970dd2 (commit)] * Enable coredumps > 2 GB [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=0d274048bea986c7498a52ea5152d66833cd2cec (commit)] * Add -mregparm=3 config option [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=cef3796e3aa0003e818a64374f439d353c49d574 (commit)] ===== 2.6.3 ===== * Released February 18, 2004 [http://www.kernel.org/pub/linux/kernel/v2.6/ChangeLog-2.6.3 changelog] * G5 support [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=7f13170c2069ff86a2a0bfc3a247ade8aefeb6aa (commit)] * Support up to 255 char columns in virtual terminals [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=f3706e57b8e26db88ddaa5b0558e5db545f2fed7 (commit)] * Set HZ to 1000 in PPC32 [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=eb6e9d736fa3e79f97ee19325c996f69079f276e (commit)] * Removal of the USB scanner code: moved support to userspace (libusb) * New DMA pool abstraction [http://lwn.net/Articles/69402/ (LWN article)] * "context mount" support for SELinux ===== 2.6.2 ===== * Released February 4, 2004 [http://www.kernel.org/pub/linux/kernel/v2.6/ChangeLog-2.6.2 changelog] * RAID 6 implementation [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=8869ce42bfc6301d645eabb64eea343569be9575 (commit)] * One-shot support for epoll [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=b248eb341da327a418e3fdd55bcad209c3802892 (commit)] * Add support for m68knommu [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=ccc218ff4f93913018f735201586caa19dc022db (commit)] * Schedulers interactivity improvements [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=80605ac9c461beed318da1af7f0355c66d90f66c (commit)] * New Qlogic SCSI driver ===== 2.6.1 ===== * Released January 9, 2004 [http://www.kernel.org/pub/linux/kernel/v2.6/ChangeLog-2.6.1 changelog] * Message Signaled Interrupt support - MSI [http://lwn.net/Articles/44135/ (LWN article)] [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=805bdfd65d2a8866870d1813cd39d739d1e2942e (commit)] * Add 32bit a.out support for x86-64 [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=dabe6cb0fc24dd4d3ee5b51c99f551a883dc2d66 (commit)] * Add `gcc -Os' config option [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=4b8ca7b0c8fb01ba87f9f6fa23f287e683f06346 (commit)] * Extensible Firmware Interface (EFI) support. [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=556bd742f63bdc0d0fdbfb28f907e272ed61d370 (commit)] ===== 2.6.0 ===== * Released December 18, 2003 [http://www.kernel.org/pub/linux/kernel/v2.6/ChangeLog-2.6.0 changelog] Rules: * Name of the new feature/description of the change, including a small explanation if possible * If its a feature and the feature has some web page add a link to it * If there's a paper (OLS!) or an article add a link to it. Or write one ;) * If there's a interesting mail (benchmarks, announcements if there's no web page, etc) about it in the mailing list, get a link in one of the list's archives (at [http://marc.theaimsgroup.com/?l=linux-kernel http://marc.theaimsgroup.com/?l=linux-kernel] please) and add the link here * Add commit's link if possible. For commits add a "(commit)" word and add the link there. Don't add the commit link to another word (please). * Searching commits for a given feature is easy. Just look for it in the shortlog, or try to find a file related with that change, then search it in the GIT tree representation and click the "history" link to see all the changes made which affects that file. The release dates will help you too. * There're two main GIT trees where you can search for commits: [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git the one which has all the stuff commited after 2.6.12-rc2] and [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git the one which has all the stuff BEFORE 2.6.12-rc2] TODO: * Import relevant data from [http://kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.14-rc5/2.6.14-rc5-mm1/broken-out/post-halloween-doc.patch davej's post halloween document] or remaining stuff from [http://kernelnewbies.org/status/latest.html Kernelnewbies status] * Find links to corresponding changesets (!!) * Keep track of what gets changed |
<<Include(Linux_5.19)>> |
Changes done in each Linux kernel release. Other places to get news about the Linux kernel are LWN kernel status or the Linux Kernel mailing list (there is a web interface in www.lkml.org or lore.kernel.org/lkml). The lore.kernel.org/lkml/ archive is also available via NTTP if you prefer to use a newsreader: use nntp://nntp.lore.kernel.org/org.kernel.vger.linux-kernel for that. 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.19 was released on Sunday, 31 Jul 2022.
Summary: This release adds optional support for IPv6 packets larger than 64KB; support AMD's SEV-SNP and Intel's TDX for more secure virtualized guests; support for a new LoongArch architecture; support for hundreds of millions of extended attributes per inode in XFS; support for ID mapping in overlayfs; support for proactive reclaim in memory control groups; support for NFS Courteous Server; support for ZSTD compressed firmware files; support for several new BPF features. As always, there are many other features, new drivers, improvements and fixes.
Contents
-
Prominent features
- More secure virtualization with AMD's SEV-SNP and Intel's TDX
- Jumbograms: IPv6 packets bigger than 64 KB
- New architecture: LoongArch
- Larger per-inode attribute limits in XFS
- ID mapping in overlayfs
- Proactive reclaim in memory control groups
- BPF improvements: dynamic pointers, typed pointers, libbpf USDT
- NFS Courteous Server
- ZSTD compressed firmware files
- Core (various)
- File systems
- Memory management
- Block layer
- Tracing, perf and BPF
- Virtualization
- Cryptography
- Security
- Networking
- Architectures
-
Drivers
- Graphics
- Power Management
- Storage
- Drivers in the Staging area
- Networking
- Audio
- Tablets, touch screens, keyboards, mouses
- TV tuners, webcams, video capturers
- Universal Serial Bus
- Serial Peripheral Interface (SPI)
- Watchdog
- Serial
- CPU Frequency scaling
- Device Voltage and 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)
- Hardware monitoring (hwmon)
- General Purpose I/O (gpio)
- Leds
- DMA engines
- Hardware Random Number Generator (hwrng)
- Cryptography hardware acceleration
- PCI
- Thunderbolt
- Clock
- PHY ("physical layer" framework)
- EDAC (Error Detection And Correction)
- Various
- List of Pull Requests
- Other news sites
1. Prominent features
1.1. More secure virtualization with AMD's SEV-SNP and Intel's TDX
These release incorporate two features that help to make existing encrypted virtualization (ie. hosts can't access the memory contents of virtualized guests) more secure:
- - AMD Secure Nested Paging (SEV-SNP): Add to confidential guests the necessary memory integrity protection against malicious hypervisor-based attacks like data replay, memory remapping and others, thus achieving a stronger isolation from the hypervisor
- Intel TDX: This release adds support for running Linux as a guest under Intel TDX, which provides encrypted guest memory support. TDX also includes memory encryption and integrity capabilities, like those of AMD's SEV-SNP Documentation
1.2. Jumbograms: IPv6 packets bigger than 64 KB
The maximum size of a standard IPv4/6 header is 64 KB. For high speed networking interfaces (400 GB), this maximum size is too small and the networking stack can't avoid having too much per-packet overhead. With the help of RFC 2675, it's possible to create the so called "jumbograms", which allow for packets much bigger than 64KB. This release incorporates supports for such packets. This feature is aimed mainly at local networks with intense network traffic, not the Internet, and can provide huge performance wins.
Recommended LWN article: Going big with TCP packets
Conference slides/video: BIG TCP
1.3. New architecture: LoongArch
This release adds initial support for the LoongArch architecture. LoongArch is a new RISC ISA, which is a bit like MIPS or RISC-V. LoongArch includes a reduced 32-bit version (LA32R), a standard 32-bit version (LA32S) and a 64-bit version (LA64). LoongArch use ACPI as its boot protocol LoongArch-specific interrupt controllers (similar to APIC) are already added in the next revision of ACPI Specification (current revision is 6.4)
1.4. Larger per-inode attribute limits in XFS
Some people want to use XFS to store hundreds of millions of xattrs per inode. This release adds an on-disk format change to allow these huge number of extended attributes. This change also increases the number of supported data extents per inode from 232 to 247, and a new logging feature is introduced that lays the foundation for future integration of attribute modifications as part of other atomic transactional operations.
1.5. ID mapping in overlayfs
ID mapping is a feature that lets you map a UID or GID to another one in a different mount. This release adds support for ID mapping in overlayfs itself, which is one of the file system where this feature is more likely to be used.
1.6. Proactive reclaim in memory control groups
This releases introduces a memcg interface to trigger memory reclaim on a memory cgroup. 'echo 10M > memory.reclaim' will trigger reclaim in the target memory cgroup.
The reason why this interface has been added is that a userspace proactive reclaimer can continuously probe the memcg to reclaim a small amount of memory. This gives more accurate and up-to-date workingset estimation as the LRUs are continuously sorted and can potentially provide more deterministic memory overcommit behavior. The memory overcommit controller can provide more proactive response to the changing behavior of the running applications instead of being reactive. A userspace reclaimer's purpose in this case is not a complete replacement for kswapd or direct reclaim, it is to proactively identify memory savings opportunities and reclaim some amount of cold pages set by the policy to free up the memory for more demanding jobs or scheduling new jobs.
1.7. BPF improvements: dynamic pointers, typed pointers, libbpf USDT
As usual, there are many BPF related changes. Between many other features, this release includes support for:
- Dynamic pointers: A dynamic pointer (struct bpf_dynptr) is a pointer that stores extra metadata alongside the address it points to. This abstraction is useful in bpf given that every memory access in a bpf program must be safe.
- Typed pointers: It enables storing pointers of a certain type in BPF map, and extends the verifier to enforce type safety and lifetime correctness properties.
- libbpf support for USDT (User Statically-Defined Tracing) probes: While USDTs themselves are pretty complicated abstraction built on top of uprobes, for end-users USDT is as natural a primitive as uprobes themselves. And thus it's important for libbpf to provide best possible user experience when it comes to build tracing applications relying on USDTs. With enough diligence and BPF cookies it's possible to implement USDT support that feels as natural as tracing any uprobe.
1.8. NFS Courteous Server
This release implements the NFSv4 Courteous Server. Previously NFSD would purge open and lock state for an unresponsive client after one lease (typically 90 seconds). Now, after one lease period, another can open and lock those files and the unresponsive client's is purged; otherwise if the unresponsive client's open and lock is uncontended, the server retains that open and lock state for to 24 hours, allowing the client's workload to resume after a network partition
1.9. ZSTD compressed firmware files
This release adds support for ZSTD compressed firmware files, and support for userspace to initiate the firmware load when it needs to, instead of being always initiated by the kernel.
2. Core (various)
- io_uring
Adds large CQE support. Large CQE's are 16 bytes longer commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Return an error when cqe is dropped commit, commit, commit, commit, commit
Support for co-operative task_work signaling, rather than always forcing an IPI commit, commit, commit, commit, commit, commit
Support sparse buffers and file maps commit, commit, commit, commit, commit, commit
Support more types of cancelations commit, commit, commit, commit, commit
io_uring passthrough for nvme commit, commit, commit, commit, commit
Add support for ring mapped provided buffers commit, commit, commit
Add socket(2) support. This is handy when using direct / registered file descriptors with io_uring commit
fanotify: support for fsnotify inode marks that don't pin inodes in memory but rather get evicted together with the inode (they are useful if userspace needs to exclude receipt of events from potentially large subtrees using fanotify ignore marks) commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
- firmware
- modules
Generic Ticket Spinlocks. This is a simple, fair spinlock. Specifically it doesn't have all the subtle memory model dependencies that qspinlock has, which makes it more suitable for simple systems as it is more likely to be correct. It is implemented entirely in terms of standard atomics and thus works fine without any arch-specific code commit, commit, commit, commit, commit, commit, commit
printk: Allow consoles to print messages concurrently. Recommended LWN article. commit
binder: extended error and logging enhancements commit, commit, commit, commit, commit
bootconfig: Support embedding a bootconfig in kernel for non initrd boot commit, commit, commit, commit
SRCU: Add boot-time control over srcu_node array allocation commit
taskstats: version 12 with thread group and exe info commit
Extend FW framework for user FW uploads commit, commit, commit, commit, commit, commit, commit, commit
tools/thermal: thermal library and tools commit, commit, commit, commit
nolibc: Add a number of library functions and splits this library into multiple files 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
binfmt_flat: Remove shared library support commit
kbuild: support W=e to make build abort in case of warning commit
objtool: Interface overhaul 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
- Driver core
initramfs: "crc" cpio format and INITRAMFS_PRESERVE_MTIME commit, commit, commit, commit, commit, commit
printk: Printk index feature documentation commit
3. File systems
- BTRFS
Avoid blocking on space reservation when doing nowait direct IO writes (+7% throughput for reads and writes) commit, commit, commit, commit, commit, commit, commit, commit
NOCOW write throughput improvement due to refined locking commit, commit, commit, commit, commit
Allow defrag to convert inline extents to regular extents commit
Support more pages sizes for the subpage support commit, commit, commit
Enable subpage support for RAID56 commit
Allow automatic block group reclaim for non-zoned filesystems, with sysfs tunables commit, commit, commit, commit
Repair super block num_devices automatically if it does not match the number of device items commit
tree-checker: check extent buffer owner against owner rootid commit
send: reduce pressure to page cache by dropping extent pages right after they're processed commit, commit
- XFS
(FEATURED) Add Large Extent Count. Removes the limits that prevent XFS from storing hundreds of millions of xattrs per inode, and while the on disk extent count format is modified, it also increases the number of supported data extents per inode from 232 to 247 commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
(FEATURED) Logged Attribute Replay feature support. This is a fundamental change to the way XFS modifies attributes, laying the foundation for future integration of attribute modifications as part of other atomic transactional operations the filesystem performs commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Add XFS messages to printk index commit
- OVERLAYFS
- CIFS
- EROFS
fscache-based on-demand read support to allow erofs be mounted and accessed even when the bootstrap/data blob files have not been fully downloaded. Then it'll have native performance after data is available locally commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Make filesystem exportable commit
Support idmapped mounts commit
- EXFAT
Introduce mount option sys_tz to use system timezone as time offset commit
- F2FS
- FAT
- NFS
(FEATURED) Implement the NFSv4 Courteous Server. Previously NFSD would purge open and lock state for an unresponsive client after one lease (typically 90 seconds). Now, after one lease period, another can open and lock those files and the unresponsive client's is purged; otherwise if the unresponsive client's open and lock is uncontended, the server retains that open and lock state for to 24 hours, allowing the client's workload to resume after a network partition commit, commit, commit, commit, commit, commit, commit
Export the NFSv4.1 'dacl' and 'sacl' attributes commit, commit, commit
- SMBFS
- ZONEFS
4. Memory management
(FEATURED) memcg: introduce per-memcg proactive reclaim. A userspace proactive reclaimer can continuously probe the memcg to reclaim a small amount of memory. This gives more accurate and up-to-date workingset estimation as the LRUs are continuously sorted and can potentially provide more deterministic memory overcommit behavior. The memory overcommit controller can provide more proactive response to the changing behavior of the running applications instead of being reactive. A userspace reclaimer's purpose in this case is not a complete replacement for kswapd or direct reclaim, it is to proactively identify memory savings opportunities and reclaim some amount of cold pages set by the policy to free up the memory for more demanding jobs or scheduling new jobs commit, commit, commit, commit
- Folios work
conversion from alloc_pages_vma() to vma_alloc_folio(), finish converting shrink_page_list() to folios, start converting shmem from pages to folios 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
Convert aops->read_page to aops->read_folio 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
- damon
COW fixes (recommended LWN article)
part 1: fix the COW security issue for THP and swap commit, commit, commit, commit, commit, commit, commit, commit, commit
part 2: reliable GUP pins of anonymous pages commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
part 3: reliable GUP R/W FOLL_GET of anonymous pages commit, commit, commit, commit, commit, commit, commit, commit
sparse-vmemmap: memory savings for compound devmaps (device-dax) commit, commit, commit, commit, commit
mprotect: avoid unnecessary TLB flushes commit, commit, commit
userfaultfd-wp: Support shmem and hugetlbfs commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
vmstat: add events for ksm cow commit
Add hugetlb_optimize_vmemmap sysctl for runtime enablement of the recent huge page vmemmap optimization feature commit, commit, commit, commit
zswap: accounting & cgroup control commit, commit, commit, commit, commit, commit
Assorted improvements to usercopy commit, commit, commit, commit
SLUB debugfs improvements based on stackdepot commit, commit, commit, commit, commit, commit
5. Block layer
loop: support partitions without scanning commit
cdrom: mark CDROMGETSPINDOWN/CDROMSETSPINDOWN obsolete commit
virtio-blk: support polling I/O and mq_ops->queue_rqs() commit, commit
zram: add a huge_idle writeback mode commit
6. Tracing, perf and BPF
- BPF
(FEATURED) Add support for dynamic pointers. A dynamic pointer (struct bpf_dynptr) is a pointer that stores extra metadata alongside the address it points to. This abstraction is useful in bpf given that every memory access in a bpf program must be safe. The verifier and bpf helper functions can use the metadata to enforce safety guarantees for things such as dynamically sized strings and kernel heap allocations. There are several uses cases for dynamic pointers in bpf programs. Some examples include: dynamically sized ringbuf reservations without extra memcpys, dynamic string parsing and memory comparisons, dynamic memory allocations that can be persisted in maps, and dynamic + ergonomic parsing of sk_buff and xdp_md packet data commit, commit, commit, commit, commit, commit
(FEATURED) Introduce typed pointer support in BPF maps commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Introduce access remote cpu elem support in BPF percpu map commit
Refine kernel.unprivileged_bpf_disabled behaviour commit
Bpf link iterator commit
Allow attach TRACING programs through LINK_CREATE command commit
Allow kfunc in tracing and syscall programs commit
Extend batch operations for map-in-map bpf-maps commit
Speed up symbol resolving in kprobe multi link commit, commit, commit, commit
- libbpf
(FEATURED) Add support for User Statically-Defined Tracing (USDTs) commit, commit, commit, commit, commit, commit, commit, commit, commit
name-based u[ret]probe attach commit, commit, commit, commit, commit
Allow to opt-out from BPF map creation commit, commit, commit, commit
Add target-less tracing SEC() definitions commit, commit, commit
Support opting out from autoloading BPF programs declaratively commit
bpftool: add program & link type names commit, commit, commit
bpftool: Use sysfs vmlinux when dumping BTF by ID commit
- perf
annotate: Add --percent-limit option commit
lock: Add -t/--thread option for report commit
Add --off-cpu option to enable the off-cpu profiling with BPF. It'd use a bpf_output event and rename it to "offcpu-time". Samples will be synthesized at the end of the record session using data from a BPF map which contains the aggregated off-cpu time at context switches commit, commit, commit, commit, commit, commit
script python: Add script for CoreSight disassembly commit, commit
stat: add user_time and system_time tool events commit, commit, commit
perf stat: Support metrics with hybrid events commit, commit, commit
7. Virtualization
KVM: Add Xen event channel acceleration 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
vDPA: Control VQ support in vDPA commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Xen: dom0less + PV drivers commit
8. Cryptography
random: Various improvements merge
9. Security
Landlock: add a new LANDLOCK_ACCESS_FS_REFER access right to properly handle file reparenting (i.e. full rename and link support) commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Support for including fs-verity file digests and signatures in the IMA measurement list as well as verifying the fs-verity file digest based signatures commit, commit, commit, commit, commit, commit, commit
KEYS: trusted: Introduce support for NXP CAAM-based trusted keys commit, commit, commit, commit, commit
Enable root to update the blacklist keyring commit, commit, commit, commit, commit
randstruct: Enable Clang support commit, commit, commit, commit, commit, commit
10. Networking
(FEATURED) Support TCPv6 segmentation offload with super-segments larger than 64k bytes using the IPv6 Jumbogram extension header (AKA BIG TCP) commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
icmp: add skb drop reasons to icmp commit, commit, commit, commit
IP: add skb drop reasons to ip ingress commit, commit, commit, commit, commit, commit, commit, commit, commit
IPv6: Expand and rename accept_unsolicited_na to accept_untracked_na commit
Add accept_unsolicited sysctl to enable adding a new neighbour cache entry in STALE state for routers on receiving an unsolicited (gratuitous) neighbour advertisement with source-link-layer-address option specified. This is similar to the arp_accept configuration for IPv4, done to implementes router-side changes for RFC9131 commit
TCP: drop reason additions commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
IPv4: Add a second bind table hashed by port and address commit
SO_RCVMARK socket option for SO_MARK with recvmsg() commit
Add skb_defer_max sysctl, max size (in skbs) of the per-cpu list of skbs being freed by the cpu which allocated them. Used by the TCP protocol so far commit
af_packet: add VLAN support for AF_PACKET SOCK_RAW GSO commit
- mptcp
Userspace path manager prerequisites commit, commit, commit, commit, commit, commit, commit
Path manager mode selection commit, commit, commit, commit, commit, commit
Userspace path manager API commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Timeout for MP_FAIL response commit, commit, commit, commit, commit, commit, commit
The infinite mapping support commit, commit, commit, commit, commit, commit, commit, commit
Improve MPTCP-level window tracking commit, commit, commit, commit, commit
inet diag listen dump support commit, commit, commit, commit
sockopt: add TCP_DEFER_ACCEPT support commit
- sched
Remove non-Ethernet drivers using virt_to_bus() commit, commit, commit, commit, commit, commit
- bridge
- can
- 802.11
memcg: accounting for objects allocated for new netdevice commit
- netfilter
Add the new nf_conntrack_events=2 autodetect mode and makes it the default commit
page_pool: introduce ethtool stats commit
rxrpc: Allow list of in-use local UDP endpoints to be viewed in /proc commit
TLS: Add opt-in zerocopy mode of sendfile() commit
11. Architectures
11.1. New LoongArch architecture
(FEATURED) Add basic LoongArch support. LoongArch is a new RISC ISA, which is a bit like MIPS or RISC-V. LoongArch includes a reduced 32-bit version (LA32R), a standard 32-bit version (LA32S) and a 64-bit version (LA64). LoongArch use ACPI as its boot protocol LoongArch-specific interrupt controllers (similar to APIC) are already added in the next revision of ACPI Specification (current revision is 6.4) commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
11.2. X86
(FEATURED) Add AMD Secure Nested Paging (SEV-SNP) Guest Support. This adds to confidential guests the necessary memory integrity protection against malicious hypervisor-based attacks like data replay, memory remapping and others, thus achieving a stronger isolation from the hypervisor. At the core of the functionality is a new structure called a reverse map table (RMP) with which the guest has a say in which pages get assigned to it and gets notified when a page which it owns, gets accessed/modified under the covers so that the guest can take an appropriate action 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
(FEATURED) TDX Support, Intel's version of a confidential computing solution called Trust Domain Extensions. This release adds support to run the kernel as part of a TDX guest. It provides similar guest protections to AMD's SEV-SNP like guest memory and register state encryption, memory integrity protection and a lot more. Design-wise, it differs from AMD's solution considerably: it uses a software module which runs in a special CPU mode called (Secure Arbitration Mode) SEAM 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 * intel_idle: Add AlderLake support commit
Remove "noclflush" commit
Remove "noexec" commit
Remove "nosep" commit
Introduce In Field Scan driver. Cloud Service Providers that operate fleets of servers have reported occasions where they can detect that a CPU has gone bad due to effects like electromigration, or isolated manufacturing defects. However, that detection method is A/B testing seemingly random application failures looking for a pattern. In-Field Scan (IFS) is a driver for a platform capability to load a crafted 'scan image' to run targeted low level diagnostics outside of the CPU's architectural error detection capabilities commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
split locks: Make life miserable for apps using split locks by slowing them down considerably while the rest of the system remains responsive. commit
- platform
gpe: Add support for Surface Pro 8 commit
asus-nb-wmi: Add keymap for MyASUS key commit
gigabyte-wmi: Add support for Z490 AORUS ELITE AC and X570 AORUS ELITE WIFI commit
thinkpad_acpi: Add a s2idle resume quirk for a number of laptops commit
winmate-fm07-keys: Winmate FM07/FM07P buttons commit
chrome: Add ChromeOS ACPI device driver commit
KVM: Add Xen event channel acceleration commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
KVM: Accept KVM_[GS]ET_TSC_KHZ as a VM ioctl commit
KVM: Support the vCPU preemption check with nopvspin and realtime hint commit
nSVM/SVM features commit, commit, commit, commit, commit, commit
KVM: nSVM: implement nested VMLOAD/VMSAVE commit
KVM: SEV: Add KVM_EXIT_SHUTDOWN metadata for SEV-ES commit
amd_hsmp: Add HSMP protocol version 5 messages commit
PCI: Add support for the SiS85C497 PIRQ router commit
Allow feature bit names from /proc/cpuinfo in clearcpuid= commit
perf/amd: Add AMD PerfMonV2 support commit, commit, commit, commit, commit, commit
- perf vendor events intel
perf intel-pt: Add support for tracing KVM test programs commit, commit, commit, commit, commit, commit
intel-pt: Add support for emulated ptwrite commit, commit, commit
xsave: Add support for XSAVEC - the Compacted XSTATE saving variant - and thus allow for guests to use this compacted XSTATE variant when the hypervisor exports that support commit
split_lock: Enable the split lock feature on Raptor Lake commit
vsyscall: Remove CONFIG_LEGACY_VSYSCALL_EMULATE commit
Remove a.out support commit
11.3. ARM
New SoCs
Renesas RZ/G2UL (R9A07G043), the single-core version of the RZ/G2L general-purpose MPU. Also basic support for Renesas RZ/G2UL SMARC EVK (based on R9A07G043U11) commit, commit
Renesas RZ/V2M (R9A09G011) is a smart camera SoC commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Renesas R-Car V4H (R8A779G0), an automotive chip with Cortex-A76 cores and deep learning acceleration. Also suppor for White Hawk boards commit, commit
Broadcom BCM47622 is a new broadband !SoC based on a quad Cortex-A7 and dual Wifi-6 commit, commit, commit
Corstone1000, a generic platform from Arm that is used for designing custom SoCs, the support for now is for the Fixed Virtual Platform emulation for it commit, commit
Mediatek MT8195 (Kompanio 1200) is a high-end consumer chip used in upcoming Chromebooks commit, commit
NXP i.MXRT1050 is a Cortex-M7 based microcontroller commit
New machines based on supported SoCs
Two wireless routers based on Broadcom bcm4708 commit
30 new boards based on NXP i.MX6, i.MX7 and i.MX8 families, mostly for the industrial embedded market, and on NXP LS1021A based IOT board 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
Two ethernet switches based on Microchip LAN966 commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Eight Qualcomm Snapdragon based machines, including a smartwatch, a Chromebook board and some phones commit, commit, commit
Another phone based on the old ST-Ericsson Ux500 platform commit
Four single-board computers based on Rockchip RK3566/RK3568 commit, commit, commit, commit, commit, commit
intel: add device tree for n6000 commit
qcom: sc7280: Delete herobrine-r0 commit
rockchip: add basic dts for the radxa rock3 model a commit
Add bosch acc board commit
Introduce HPE GXP Device tree commit
aspeed: Add Nuvia DC-SCM BMC commit
Initial clock support for exynosauto v9 SoC commit, commit, commit, commit, commit, commit, commit, commit, commit
at91: add support for secure suspend on sama5d2 commit, commit
ARMv5 multiplatform conversions commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
hpe: Introduce the HPE GXP architecture commit, commit, commit, commit, commit, commit, commit, commit
PXA multiplatform 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, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
omap1: enable multiplatform commit
perf/arm-cmn: Add CMN-650 and CMN-700 commit, commit, commit, commit
perf: arm64: Tools support for Dwarf unwinding through SVE functions commit, commit, commit, commit, commit
- ARM64
Initial support for ARMv9 Scalable Matrix Extension (SME). SME takes the approach used for vectors in SVE and extends this to provide architectural support for matrix operations. No KVM support yet, SME is disabled in guests 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
hugetlb: enable HUGETLB_PAGE_FREE_VMEMMAP for arm64 commit
Add ARMv8 NEON and Crypto Extensions implementation of SM4-ECB/CBC/CFB/CTR commit, commit
Hypervisor stack enhancements commit, commit, commit, commit, commit
Add support for hypercall services selection commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Add initial support for FEAT_WFxT commit, commit, commit, commit, commit
KVM: PSCI SYSTEM_SUSPEND support commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
perf vendors events arm64: Multiple Arm CPUs commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Support for crashkernel reservations above ZONE_DMA via the 'crashkernel=X,high' command line option commit, commit, commit, commit, commit, commit
11.4. RISCV
Support for running rv32 binaries on rv64 systems commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
kexec: add kexec_file_load() support commit, commit, commit, commit, commit, commit
KVM RISC-V Sv57x4 support and HFENCE improvements commit, commit, commit, commit, commit, commit, commit
KVM: Introduce ISA extension register commit
bpf: Implement more atomic operations for RV64 commit
efi_stub: Add support for RISCV_EFI_BOOT_PROTOCOL commit
Support for Svpbmt and D1 memory types commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
dts: microchip: add the sundance polarberry commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
perf jitdump: Add riscv64 support commit
11.5. S390
Add support for Processor Activity Instrumentation commit
Add an Ultravisor(UV) device letting the userspace send some Ultravisor calls to the UV. Currently two calls are supported. Query Ultravisor Information (QUI) and Receive Attestation Measurement (Attest[ation]) commit
crypto: add crypto library interface for ChaCha20 commit
Add KCSAN instrumentation to barriers and spinlocks commit
Add vdso randomization commit
ap: uevent on apmask/aqpmask change commit
perf list: Add IBM z16 event description for s390 commit
11.6. MIPS
Octeon: add SNIC10E board commit
11.7. M68K
Introduce a virtual m68k machine based on Goldfish interfaces defined by Google for Android simulator. It uses Goldfish-rtc (timer and RTC), Goldfish-pic (PIC) and Goldfish-tty (for early tty). The machine is created with 128 virtio-mmio buses, and they can be used to add serial console, GPU, disk, NIC, HID, hwrng, 9PFS...the virtual m68k machine has been merged in QEMU and will be available with the release 6.0 commit
11.8. OPENRISC
11.9. POWERPC
Convert powerpc to default topdown mmap layout commit, commit, commit, commit, commit, commit, commit, commit, commit
ftrace optimisation and cleanup 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
KASAN support for 64-bit Book 3S powerpc commit, commit, commit, commit
11.10. UM
Enable ARCH_HAS_GCOV_PROFILE_ALL commit
daemon: Make default socket configurable commit
xterm: Make default terminal emulator configurable commit
11.11. XTENSA
Support coprocessors on SMP commit
Add hibernation support commit
Enable context tracking and VIRT_CPU_ACCOUNTING_GEN commit, commit, commit, commit, commit
Enable KCSAN commit
Enable ARCH_HAS_DEBUG_VM_PGTABLE commit
11.12. ARC
11.13. H8300
Remove the h8300 architecture commit
12. Drivers
12.1. Graphics
Enable boot time VESA graphic mode selection commit
- Intel
- DG2 laptop PCI-IDs ("motherboard down")
Initial RPL-P PCI IDs commit
RPL-S PCI IDs added commit
DG2 Tile4 support commit
DG2: Add support for render/media decompression commit, commit, commit, commit
- DG2 render/media compression formats support
ATS-M platform info commit
Bump ADL-P DMC version to v2.16 commit
Support static DRRS commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
DP HDR support for HSW+ commit
sysfs support for multi-tile commit, commit, commit, commit, commit, commit, commit
fdinfo per-client gpu utilisation commit, commit, commit, commit, commit, commit, commit, commit
small PCI BAR enablement commit, commit, commit, commit, commit, commit, commit
GuC error capture support commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
sunset igpu legacy mmap support for newer devices commit
GuC version 70.1.1 support commit
Add first set of DG2 PCI IDs commit
Add lmem_size modparam commit
- amdgpu
SMU 13.0.7 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
Add support for GC 11.0 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
Enable sysfs nodes for vclk and dclk for NAVI12 commit
Add a AMDGPU_GEM_CREATE_DISCARDABLE flag to note that the content of a BO doesn't needs to be preserved during eviction and AMDGPU_VM_NOALLOC to let userspace control MALL allocation commit, commit
Add support for USBC connector commit
Add debugfs TA load/unload/invoke support commit
Add beige goby PCI ID commit
amdkfd: CRIU add support for GWS queues commit
amdkfd: add RAS poison consumption handling for UTCL2 (v2) commit
- bridge
- panel
- msm
Add Display Stream Compression Support commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
- Fourcc modifier for tiled but not compressed layouts
Support for userspace allocated IOVA (GPU virtual address) commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
- mxsfb
LCDIF CRC support commit
- omapdrm
- vc4
HDMI YUV support commit
- vmwgfx
- solomon
Add SSD130x OLED displays SPI support commit
- sun4i
- ast
Displayport support commit
- rockchip
- mediatek
MT8186 support commit
Add RGB565-to-XRGB8888 conversion commit
Add RGB888-to-XRGB8888 conversion commit
ttm: Add common debugfs code for resource managers commit
Remove support for Hyper-V 2008 and 2008R2/Win7 commit, commit, commit, commit
12.2. Power Management
- ACPI
cpuidle: PSCI: Improve support for suspend-to-RAM for PSCI OSI mode commit
- EFI
- thermal
- tools/power turbostat
12.3. Storage
ahci: Add a generic 'controller2' RAID id commit
nvme-apple: Add initial Apple SoC NVMe driver commit
nvme: add support for TP4084 - Time-to-Ready Enhancements commit
scsi: core: Increase max device queue_depth to 4096 commit
scsi: lpfc: Add support for ATTO Fibre Channel devices commit
scsi: lpfc: Add support for VMID tagging of NVMe I/Os commit
scsi: mpi3mr: Add bsg device support commit
scsi: mpi3mr: Add shost related sysfs attributes commit
scsi: mpi3mr: Add support for MPT commands commit
scsi: mpi3mr: Add support for NVMe passthrough commit
scsi: mpi3mr: Add support for PEL commands commit
scsi: mpi3mr: Add support for driver commands commit
scsi: mpi3mr: Add target device related sysfs attributes commit
scsi: mpi3mr: Expose adapter state to sysfs commit
scsi: scsi_debug: Add gap zone support commit
scsi: storvsc: Remove support for Hyper-V 2008 and 2008R2/Win7 commit
scsi: target: Allow changing dbroot if there are no registered devices commit
12.4. Drivers in the Staging area
H.264 Field Decoding Support for Frame-based Decoders commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
wfx: get out from the staging area commit
media: hantro: Implement support for encoder commands commit
media: hantro: Add support for Hantro G1 on RK356x commit
Remove the drivers for the Unisys s-Par commit
bcm2835-audio: remove compat ALSA card commit
12.5. Networking
- Bluetooth
appletalk: remove Apple/Farallon LocalTalk PC support commit
- ath10k
- ath11k
Add support for WCN6750 commit, commit, commit, commit, commit, commit, commit, commit, commit
Support WoW functionalities commit, commit, commit, commit, commit, commit
Add peer rhash table support commit
Add support for targets without trustzone commit
Add feature for device recovery commit, commit, commit, commit
Add support muti-type regdb data for WCN6855 commit
axienet: Use NAPI for TX completion path commit
bnxt: Support XDP multi buffer commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
bnxt_en: Enable packet timestamping for all RX packets commit
- can
cpsw: ale: add broadcast/multicast rate limit support commit
- dsa
amd: remove NI6510 support (ni65) commit
de4x5: remove support for Generic DECchip & DIGITAL EtherWORKS PCI/EISA commit
Introduce mt7986 driver commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
MediaTek SoC flow offload improvements + wireless support commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Add driver for Sunplus SP7021 commit
ti: am65-cpsw: enable bc/mc storm prevention support commit
ti: cpsw_new: enable bc/mc storm prevention support commit
hamradio: remove support for DMA SCC devices commit
- hns3
hv_netvsc: Add support for XDP_REDIRECT commit
- i40e
- ice
- ipa
ixgbe: add xdp frags support to ndo_xdp_xmit commit
- lan966x
- mdio
- mlx5
Add last command failure syndrome to debugfs commit
Lag, add debugfs to query hardware lag state commit
Lag, expose number of lag ports commit
Lag, support single FDB only on 2 ports commit
Support devices with more than 2 ports commit
Support multiport eswitch mode commit
Drop Mellanox FPGA IPsec support from the kernel commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Drop Mellanox FPGA TLS support from the kernel commit, commit, commit, commit, commit
Show statistics for a vdpa device commit, commit, commit, commit, commit
- mlxsw
Line cards status tracking commit, commit, commit, commit, commit, commit
Introduce line card support for modular switch commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Preparations for line cards support commit, commit, commit, commit, commit, commit, commit, commit, commit
Extend line card model by devices and info commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
- mt76
Ethernet->WLAN hardware flow offloading support on MT7622 commit, commit, commit, commit
mt7915: add debugfs knob for RF registers read/write commit
mt7915: add more statistics from fw_util debugfs knobs commit
mt7915: add support for 6G in-band discovery commit
mt7921: Add AP mode support commit
mt7921: add ipv6 NS offload support commit
mvneta: add support for page_pool_get_stats commit
mwifiex: Add SD8997 SDIO-UART firmware commit
- nfp
flower: decap neighbour table rework commit, commit, commit, commit, commit, commit, commit, commit, commit
flower: support ct merging when mangle action exists commit
Support 802.1ad VLAN assingment to VF commit
Support Corigine PCIE vendor ID commit
Support VxLAN inner TSO with GSO_PARTIAL offload commit
Add octeon_ep driver commit, commit, commit, commit, commit, commit, commit
octeontx2-pf: Add support for adaptive interrupt coalescing commit
- phy
adin1100: Add initial support for ADIN1100 industrial PHY commit, commit, commit, commit, commit, commit
LAN87xx: add ethtool SQI support commit
LAN937x: add interrupt support for link detection commit
adin: add support for clock output commit
dp83td510: Add support for the DP83TD510 Ethernet PHY commit
smsc: add LAN8742 phy support commit
- prestera
qed: Remove IP services API commit
Add Renesas RZ/V2M Ethernet support commit, commit, commit, commit, commit
- rtw88
- rtw89
Refine interrupt masks for SER, and add H2C for new chip commit, commit, commit
Update TX power from internal tables that support UK and 6G; implement TX/RX descriptors V1 commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
8852c: add 8852c tables, TX power and set channel functions commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
8852c: add RFK and then enable 8852ce in Makefile and Kconfig commit, commit, commit, commit, commit, commit, commit, commit, commit
sfc: add EF100 VF support via a write to sriov_numvfs commit
stmmac: intel: Add RPL-P PCI ID commit
- qmi_wwan
wan: remove support for COSA and SRP synchronous serial boards commit
wan: remove support for Z85230-based devices commit
wan: remove the lanmedia (lmc) driver commit
wcn36xx: Implement tx_rate reporting commit
wil6210: remove 'freq' debugfs commit
wireless: add plfxlc driver for pureLiFi X, XL, XC devices commit
wwan: t7xx: PCIe driver for MediaTek M.2 modem commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Remove non-Ethernet drivers using virt_to_bus() commit, commit, commit, commit, commit, commit, commit
12.6. Audio
Add generic serial MIDI driver using serial bus API commit
ctxfi: Add SB046x PCI ID commit
hda/conexant: add a new hda codec SN6140 commit
hda/cs8409: Add Speaker Playback Switch for Cyborg commit
hda/cs8409: Add Speaker Playback Switch for Warlock commit
hda/cs8409: Support new Odin Variants commit
hda/realtek: Add new type for ALC245 commit
hda/realtek: Enable 4-speaker output for Dell XPS 15 9520 laptop commit
hda/tegra: Enable Jack poll for tegra commit
hda: Jack detection poll in suspend state commit
- ASoC
Intel: AVS - Audio DSP for cAVS 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
SOF: Add IPC4 FW loader support commit, commit, commit, commit, commit
SOF: Intel: improve HDaudio DAI support commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
sof_rt5682: Add support for adl_rt1019_rt5682s commit
SOF: Intel: pci-tgl: add ADL-PS support commit
SOF: Intel: pci-tgl: add RPL-P support commit
SOF: add INTEL_IPC4 plumbing commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
SOF: sof-client: Update for different IPC versions commit, commit, commit, commit, commit, commit, commit, commit
SOF: IPC4: Introduce message handling functionality commit, commit, commit
SOF: mediatek: Add ipc support for mt8195 commit
SOF: Add support of MediaTek mt8186 commit, commit, commit, commit
adau1761: Add ADAU1761-as-ADAU1361 compatibility mode commit
ak4613: add TDM256 support commit
ASoC: cs35l41: Support external boost commit
ASoC: cs35l45: Add driver for Cirrus Logic CS35L45 Smart Amp commit
ASoC: fsl_micfil: Add support for i.MX8MPlus commit
ASoC: fsl_sai: Add support for i.MX8M Plus commit
ASoC: fsl_sai: Add support for i.MX8MM commit
ASoC: fsl_sai: Add support for i.MX8ULP commit
ASoC: fsl_ssi: Add support multi fifo script commit
ASoC: max98396: add amplifier driver commit
ASoC: mediatek: mt8192: support rt1015p_rt5682s commit
ASoC: mediatek: mt8195: add machine support for max98390 and rt5682 commit
ASoC: mediatek: mt8195: merge machine driver commit
ASoC: qcom: Add driver support for ALC5682I-VS commit
ASRC support on Tegra186 and later commit, commit, commit, commit, commit, commit
12.7. Tablets, touch screens, keyboards, mouses
Add Raspberry Pi Sense HAT joystick driver commit
Add support for Azoteq IQS7222A/B/C commit
pm8941-pwrkey - add software key press debouncing support commit
pm8941-pwrkey - add support for PON GEN3 base addresses commit
sun4i-lradc-keys - add optional clock/reset support commit
sun4i-lradc-keys - add support for R329 and D1 commit
sun4i-lradc-keys - add wakeup support commit
- HID
Add support for Mega World controller force feedback commit
amd_sfh: Add physical location to HID device commit
amd_sfh: Add support for sensor discovery commit
intel-ish-hid: ipc: add ADL and RPL device id commit
lenovo: Add support for ThinkPad TrackPoint Keyboard II commit
multitouch: Add support for Google Whiskers Touchpad commit
uclogic: Add pen support for XP-PEN Star 06 commit
uclogic: Add support for Huion Q620M commit
uclogic: Add support for Huion touch ring reports commit
uclogic: Add support for bitmap dials commit
uclogic: Add support for touch ring reports commit
uclogic: Allow three frame parameter sets commit
uclogic: Support disabling pen usage commit
wacom: Adding Support for new usages commit
12.8. TV tuners, webcams, video capturers
Support OVTI7251 on Microsoft Surface line commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Support Qualcomm custom compressed pixfmt commit, commit, commit, commit, commit, commit
amphion: handle picture skipped event commit
atmel: microchip-csi2dc: add link validation support commit
coda: Add more H.264 levels for CODA960 commit
coda: add JPEG downscale support commit
entity: Add support for ancillary links commit
i2c: adv7180: Add support for the test patterns commit
i2c: imx412: Add bulk regulator support commit
imx-jpeg: Support dynamic resolution change commit
mtk-vcodec: support for M8192 decoder commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
12.9. Universal Serial Bus
dwc3: Add AM62 USB wrapper driver commit
dwc3: xilinx: Add gpio-reset support commit
gadget: Add a new bus for gadgets commit
hcd: Add support for deferring roothub registration commit
serial: option: add Quectel BG95 modem commit
typec: mux: Add On Semi fsa4480 driver commit
12.10. Serial Peripheral Interface (SPI)
Add driver for MTK SPI NAND Flash Interface commit
Support hclk commit
aspeed: Add support for the AST2400 SPI controller commit
ingenic: Add support for use GPIO as chip select line commit
omap2-mcspi: add support for interword delay commit
12.11. Watchdog
Add Renesas RZ/N1 Watchdog driver commit
Add watchdog driver for Sunplus SP7021 commit
bcm7038_wdt: Support BCM6345 compatible string commit
hpe-wdt: Introduce HPE GXP Watchdog commit
mediatek: mt8186: add wdt support commit
mtk_wdt: mt7986: Add toprgu reset controller support commit
12.12. Serial
Add RS485 support to DW UART commit, commit, commit, commit, commit, commit
8250: dw: RZN1 DMA support commit, commit, commit, commit, commit, commit, commit, commit, commit
serial/8250: Use fifo in 8250 console driver commit
serial: stm32: add KGDB support commit and earlycon support commit
12.13. CPU Frequency scaling
mediatek: Cleanup and support MT8183 and MT8186 commit, commit, commit
tegra194: Add support for Tegra234 commit
CPPC: Enable fast_switch commit
intel_pstate: Support Sapphire Rapids OOB mode commit
12.14. Device Voltage and Frequency Scaling
Add cpu based scaling support to passive governor with required-opp property commit, commit, commit, commit
PM / devfreq: rk3399_dmc: Support new disable-freq properties commit
12.15. Voltage, current regulators, power capping, power supply
Add error flags to sysfs attributes commit
rt5759: Add support for Richtek RT5759 DCDC converter commit
12.16. Real Time Clock (RTC)
12.17. Pin Controllers (pinctrl)
mediatek: Add pinctrl driver for MT6795 Helio X10 commit
mvebu: pinctrl driver for 98DX2530 SoC commit
qcom-pmic-gpio: Add support for pmx65 commit
qcom: Add SC7280 lpass pin configuration commit
renesas: r8a77990: Add drive-strength commit
renesas: rzg2l: Add RZ/G2UL support commit
rockchip: add rk3588 support commit
rockchip: support deferring other gpio params commit
rockchip: support setting input-enable param commit
12.18. Multi Media Card (MMC)
Support zeroout using TRIM for eMMC commit
renesas_sdhi: R-Car V3H ES2.0 gained HS400 support commit
sdhci-msm: Add SoC specific compatibles commit
12.19. Memory Technology Devices (MTD)
cfi_cmdset_0002: Add S29GL064N ID definition commit
rawnand: add support for Toshiba TC58NVG0S3HTA00 NAND flash commit
rawnand: gpmi: Add large oob bch setting support commit
rawnand: kioxia: Add support for TH58NVG3S0HBAI4 commit
spi-nor: support eon en25qh256a variant commit
spi-nor: winbond: add support for W25Q512NW-IM commit
spinand: add support for more GD SPI NANDs commit, commit, commit, commit, commit
spinand: Add support for XTX XT26G0xA commit
maps: ixp4xx: Drop driver commit
12.20. Industrial I/O (iio)
accel: add support for LIS302DL variant commit
adc: ad7124: add sequencer support commit
adc: ad7192: add sequencer support commit
adc: ad_sigma_delta: Add sequencer support commit
adc: sc27xx: add support for PMIC sc2720 and sc2721 commit
adc: sc27xx: add support for PMIC sc2730 commit
adc: ti-ads1015: Add TLA2024 support commit
imu: inv_mpu6050: Add support for ICM-20608-D commit
imu: st_lsm6dsx: add support to ASM330LHHX commit
12.21. Multi Function Devices (MFD)
intel-lpss: Add support for ADL-P i2c6 and i2c7 commit
12.22. Pulse-Width Modulation (PWM)
pwm-mediatek: Add support for MediaTek Helio X10 MT6795 commit
pwm-cros-ec: Add channel type support commit
sunplus-pwm: Add Sunplus SoC SP7021 PWM Driver commit
Add support for Xilinx AXI Timer commit
12.23. Hardware monitoring (hwmon)
Add driver for the Microchip LAN966x SoC commit
adt7475: Add support for pin configuration commit
aquacomputer_d5next: Add support for Aquacomputer Farbwerk commit
aquacomputer_d5next: Add support for Aquacomputer Octo commit
asus-ec-sensors: add support for board families commit, commit, commit, commit
asus-ec-sensors: Add T_Sensor for ASUS WS X570-ACE commit
asus-ec-sensors: add ProArt X570 Creator WIFI board commit
bt1-pvt: use generic polynomial functions commit
dell-smm: Add cooling device support commit
jc42: Add support for S-34TS04A commit
lm75: Add Atmel AT30TS74 support commit
nct6775: Add i2c driver commit
nct6775: add ASUS PRO H410T / PRIME H410M-R / ROG X570-E GAMING WIFI II commit
pmbus: Add support for Infineon Digital Multi-phase xdp152 family controllers commit
tmp401: Add support of three advanced features commit
asus-ec-sensors: add ROG STRIX X570-E GAMING WIFI II commit
12.24. General Purpose I/O (gpio)
adp5588: Remove support for platform setup and teardown callbacks commit
rcar: Add R-Car Gen4 support commit
realtek-otto: Add RTL930x support commit
realtek-otto: Add RTL931x support commit
realtek-otto: Support per-cpu interrupts commit
realtek-otto: Support reversed port layouts commit
12.25. Leds
Add PWM multicolor driver commit
Add pm8350c support to Qualcomm LPG driver commit
Add driver for Qualcomm LPG commit
12.26. DMA engines
PTDMA: support polled mode commit
dw: dmamux: Introduce RZN1 DMA router support commit
qcom: gpi: Add SM8350 support commit
sun6i: Add support for 34-bit physical addresses commit
sun6i: Add support for the D1 variant commit
tegra: Add tegra gpcdma driver commit
12.27. Hardware Random Number Generator (hwrng)
mpfs: Add polarfire soc hwrng support commit
12.28. Cryptography hardware acceleration
atmel-sha204a - Add support for ATSHA204 cryptochip commit
KEYS: trusted: Introduce support for NXP CAAM-based trusted keys commit, commit, commit, commit, commit, commit, commit
caam/rng: Add support for PRNG commit
hisilicon/sec: add sm4 generic selection commit
qat: add support for 401xx devices commit
sa2ul: Add the new compatible for AM62 commit
sun8i-ss: add hmac(sha1) commit
12.29. PCI
hv: Add validation for untrusted Hyper-V values commit
mvebu: Add support for sending Set_Slot_Power_Limit message commit
qcom: Add SM8150 SoC support commit
rockchip-dwc: Add legacy interrupt support commit
12.30. Thunderbolt
12.31. Clock
en7523: Add clock driver for Airoha EN7523 SoC commit
imx8mn: add GPT support commit
imx8mp: add clkout1/2 support commit
imx: add mcore_booted module paratemter commit
mediatek: Add MT8186 mcusys clock support commit
mediatek: Add MT8186 topckgen clock support commit
qcom: add sc8280xp GCC driver commit
qcom: lpass: Add support for LPASS clock controller for SC7280 commit
renesas: Add RZ/V2M support using the rzg2l driver commit
renesas: Add support for RZ/G2UL SoC commit
renesas: cpg-mssr: Add support for R-Car V4H commit
renesas: r9a07g044: Add M1 clock support commit
renesas: rzg2l: Add support for RZ/V2M reset monitor reg commit
stm32: Introduce STM32MP13 RCC drivers (Reset Clock Controller) commit
stm32mp13: add stm32_gate management commit
sunxi-ng: h616: Add PLL derived 32KHz clock commit
clocksource: timer-gxp: Add HPE GXP Timer commit
clocksource: Add a goldfish-timer clocksource commit
12.32. PHY ("physical layer" framework)
qcom-qmp: Add support for SDX65 QMP PHY commit
qcom-qmp: Add SM6350 UFS PHY support commit
cadence: Sierra: Add TI J721E specific PCIe multilink lane configuration commit
12.33. EDAC (Error Detection And Correction)
synopsys: Add driver support for i.MX platforms commit
12.34. Various
- bus
Add initial support for MHI endpoint stack commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Add driver for initializing the SSC bus on (some) qcom SoCs commit
mhi: host: Add soc_reset sysfs commit
mhi: host: Add support for Cinterion MV32-WA/MV32-WB commit
mhi: host: Add support for Foxconn T99W373 and T99W368 commit
mhi: host: pci_generic: add Telit FN990 commit
mhi: host: pci_generic: add Telit FN980 v1 hardware revision commit
SCMI: miscellaneous changes to support basically all the SCMIv3.1 specification commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
firmware: xilinx: Add feature check support in ZU+ commit, commit, commit, commit
firewire: assist unit driver to compute packet time stamp commit, commit, commit
firmware: mtk: add adsp ipc protocol for SOF commit, commit, commit
- habanalabs
gaudi: add debugfs to fetch internal sync status commit
Add separate poll interval value for protocol commit
Add device memory scrub ability through debugfs commit
Add support for notification via eventfd commit
Add user API to get valid DRAM page sizes commit
Expose compute ctx status through info ioctl commit
Support debugfs Byte access to device DRAM commit
Unified memory manager infrastructure commit
Introduce new subsystem called hardware timestamping engine (HTE). It offers functionality such as timestamping through hardware means in realtime commit, commit, commit, commit, commit, commit, commit, commit
- interconnect
- ipmi
- mailbox
mei: add support for graphics system controller (gsc) devices commit
memory: tegra: Add Tegra234 support commit
- nvmem
of: Support more than one crash kernel regions for kexec -s commit
- powercap
- ptp
remoteproc: imx_rproc: Support i.MX93 commit
remoteproc: qcom: pas: Add MSM8226 ADSP support commit
reset: simple: Add AST2600 compatible commit
tpm: cr50: Add new device/vendor ID 0x504a6666 commit
dma: omap: hide legacy interface commit
- extcon
13. List of Pull Requests
14. Other news sites
LWN merge window part 1, part 2, Development statistics
Phoronix feature overview