|
Size: 46705
Comment:
|
← Revision 412 as of 2026-07-26 10:18:09 ⇥
Size: 1054
Comment: Not released, but done already
|
| 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 ;) ). 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: |
| This page tracks the current stable and development releases. Changes made to older 2.6.x releases can be found in the Linux26Changes page | You can discuss the latest Linux kernel changes on the [[http://forum.kernelnewbies.org/list.php?4|New Linux Kernel Features Forum]]. |
| Line 5: | Line 7: |
| ==== 2.6.15 ==== * /!\ '''STILL NOT RELEASED!''' /!\ * '''Kernel Core changes''' * VFS changes: The "shared subtree" patches have been merged. Shared subtree semantics provide the building blocks for features like per-user-namespace, "files as directories" and versioned filesystems [http://lwn.net/Articles/159077/ Detailed LWN article], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=blob;f=Documentation/sharedsubtree.txt Documentation], original [http://marc.theaimsgroup.com/?l=linux-fsdevel&m=110565591630267&w=2 Alexander Viro's RFC]. Patches: * beginning of the shared-subtree proper: A private mount does not forward or receive propagation. This patch provides user the ability to convert any mount to private [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=07b20889e3052c7e77d6a6a54e7e83446eb1ba8 (commit)] * introduce shared mounts: This creates shared mounts. A shared mount when bind-mounted to some mountpoint, propagates mount/umount events to each other. All the shared mounts that propagate events to each other belong to the same peer-group [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=03e06e68ff76294e53ffa898cb844d2a997b043e (commit)] * introduce slave mounts: A slave mount always has a master mount from which it receives mount/umount events. Unlike shared mount the event propagation does not flow from the slave mount to the master [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a58b0eb8e64b78d9315a5491955e78b1391d42e5 (commit)] * handling of shared mounts: This makes bind, rbind, move, clone namespace and umount operations aware of the semantics of slave mount [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=5afe00221389998a25d611dc7941c06580c29eb6 (commit)] * shared mount handling: bind and rbind: Implement handling of MS_BIND in presence of shared mounts [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b90fa9ae8f51f098ee480bbaabd6867992e9fc58 (commit)] * unbindable mounts: An unbindable mount does not forward or receive propagation. Bind semantics: It is invalid to bind mount an unbindable mount. Move semantics: It is invalid to move an unbindable mount under shared mount. Clone-namespace semantics: If a mount is unbindable in the parent namespace, the corresponding cloned mount in the child namespace becomes unbindable too. Note: there is subtle difference, unbindable mounts cannot be bind mounted but can be cloned during clone-namespace [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=9676f0c6389b62bd6b24d77d4b3abdbcfa32d0f2 (commit)] * shared mount handling: move: Implement handling of mount --move in presence of shared mounts [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=2144440327fa01b2f3f65e355120a78211685702 (commit)] * shared mount handling: umount: An unmount of a mount creates a umount event on the parent. If the parent is a shared mount, it gets propagated to all mounts in the peer group [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a05964f3917c7c55368c229d7985f8e7c9977e97 (commit)] * 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 large 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)] * Reorder struct files_struct: The file_lock spinlock sits close to mostly read fields of 'struct files_struct'. In SMP (and NUMA) environments, each time a thread wants to open or close a file, it has to acquire the spinlock, thus invalidating the cache line containing this spinlock on other CPUS. This patch microoptimizes this by moving the spinlock to another cache line, so that concurrent threads can share the cache line containing 'count' and 'fdt' fields. It's worth up to 9% on a microbenchmark using a 2-physical-4-virtual CPU [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=95e861db3eaba7bc99f8605db70103ec3d078203 (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)] * "Cooperating processes" for the anticipatory I/O scheduler: Introduce the notion of cooperating processes (those that submit requests close to one another), and use these statistics to make better choices about whether or not to do anticipatory waiting [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=f5b3db0017f8415301f3427b30263186e8478c3f (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)] * Process Events Connector: It reports fork, exec, id change, and exit events for all processes to userspace. Applications that may find these events useful include accounting/auditing (e.g. ELSA), system activity monitoring (e.g. top), security, and resource management (e.g. CKRM) [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=9f46080c41d5f3f7c00b4e169ba4b0b2865258bf (commit)] * RCU torture-testing kernel module: This adds a tristate CONFIG_RCU_TORTURE_TEST, which enables an intense torture test of the RCU infrastructure. 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)] * 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)] and add uevent sysfs attribute to re-emit device hotplug events [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a7fd67062efc5b0fc9a61368c607fa92d1d57f9e (commit)]. Also, introduce struct platform_driver (allows the platform device driver methods to be passed a platform_device structure instead of instead of a plain device structure, and therefore requiring casting in every platform driver) [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=00d3dcdd96646be6059cc21f2efa94c4edc1eda5 (commit)]. Due to some of those changes, only udev versions 071 or higher will be able to run in 2.6.15. * Implement nice support across physical cpus on SMP to obtain good distribution of tasks of different nice values [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b910472dd3b7c1d51af9a594a759f642520c33e1 (commit)] * make /proc/mounts pollable [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=5addc5dd8836aa061f6efc4a0d9ba6323726297a (commit)] * SELinux: Enables files created on a MLS-enabled SELinux system to be accessible on a non-MLS SELinux system [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e517a0cd859ae0c4d9451107113fc2b076456f8f (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)] * 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)] * SHM_NORESERVE flags for shmget(): Similar to MAP_NORESERVE for shared memory segments. This is mainly to avoid abuse of OVERCOMMIT_ALWAYS and this flag is ignored for OVERCOMMIT_NEVER [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=bf8f972d3a1daf969cf44f64cc36d53bfd76441f (commit)] * '''Architecture-specific''' * x86-64: Add a new 4GB GFP_DMA32 zone between the GFP_DMA and GFP_NORMAL zones. Full details in the commit link [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a2f1b424900715ed9d1699c3bb88a434a2b42bc0 (commit)] * i386: generic cmpxchg. Makes cmpxchg generally available on the i386 platform, providing emulation of cmpxchg suitable for uniprocessor if built and run on 386 - necessary for multithreaded environments with libraries using cmpxchg [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=53e86b91b7ae66d4c2757195cbd42e00d9199cf2 (commit)] * x86-64: Support for AMD specific MCE Threshold. DRAM Errors Threshold Register realized under AMD K8 Rev F, this register is used to count correctable and uncorrectable ECC errors that occur during DRAM read operations. The user may interface through sysfs files in order to change the threshold configuration [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=89b831ef8bf5cfbb357dbc0a2e07700d7f20eec5 (commit)] * x86-64: Support ULI/ALI 1689 bridge [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=870b7681cd3f867c1ffc8d7fbe9b22216e73a536 (commit)] * x86 hot plug CPU support of physical add of new processors (hotplug disable/enable 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)] * 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)] * ppc64: support 64k pages. Adds a new CONFIG_PPC_64K_PAGES which, when enabled, changes the kernel base page size to 64K. The resulting kernel still boots on any hardware. On current machines with 4K pages support only, the kernel will maintain 16 "subpages" for each 64K page transparently [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=3c726f8dee6f55e96475574e9f645327e461884c (commit)] * ppc64: CPU freq support using 970FX powertune facility for iMac G5 and SMU based single CPU desktop [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=4350147a816b9c5b40fa59e4fa23f17490630b79 (commit)] * ppc64: Adds the ability to the SMU driver to recover missing calibration partitions from the SMU chip itself. It also adds some dynamic mechanism to /proc/device-tree so that new properties are visible to userland [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=183d020258dfd08178a05c6793dae10409db8abb (commit)] * ppc64: This adds a new thermal control framework for Powermac, along with the implementation for Powermac8,1, Powermac8,2 (iMac G5 rev 1 and 2), and Powermac9,1 (latest single CPU desktop) [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=75722d3992f57375c0cc029dcceb2334a45ceff1 (commit)] * ppc: add support for new powerbooks (late 2005 edition). This enables the ATA controller, Gigabit ethernet and basic AGP setup. Bluetooth works out-of-the box after running hid2hci. Still remaining is to get the touchpad to work [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=7fce260a6bf75080ef61408504add5618f90e41b (commit)] * ARM: Add the infrastructure to support hotplug CPU [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a054a811597a17ffbe92bc4db04a4dc2f1b1ea55 (commit)], support for local timers [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=37ee16ae93a3e4ae7dd51beb81d249f5f12a55c2 (commit)] and optimized SHA1 implementation [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=c09f98271f685af349d3f0199360f1c0e85550e0 (commit)] * ARM: Adds support for omap24xx series of processors [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=1dbae815a724303b46ab4663b5fc23c13e9d9690 (commit)] * ARM: NSLU2 machine support [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a7918f39bbe59fe76f43743bdb6bb8b0bdefd94a (commit)] * IA64: 4-level page table support [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=837cd0bdf54dd954cd6aa43d250f75ab5db79617 (commit)] * MIPS: 4-level page table support [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=c6e8b587718c486b55c2ebecc6de231a30beba35 (commit)] * MIPS updates: resurrect Cobalt 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 support [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e3ad1c23ba72214669b364c6fa304531dc768c3e (commit)], support for BCM1480 family of chips [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=f137e463b50aadba91bd116f99c59ccb9c15a12f (commit)] * Add support for SharpSL Zaurus power and battery management core driver [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=078abcf95cdb95c78d786dbc61ae3c22ee70fb61 (commit)], add support for the Sharp SL-6000x (Tosa) series of PDAs [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=8459c159f7de832eaf888398d2abf466c388dfa6 (commit)] and add support for its MMC, IRDA and UDC devices, also add a platform device for the keyboard driver [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a93876c16275376c4f9f1630ce24036d329fa7a0 (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)]; add Akita (SL-C1000) machine support [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=94cabd003e989556d8bf84027d96284dc2d99c76 (commit)], add PM device driver for the SL-Cx00 [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e8b6f7f437a624fc2e2a2ec92fbeffdcf6f0e11e (commit)] and SL-C7x0 [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=d72f25b0dfb0807bd758da56a7ed88c0eb6e70d8 (commit)] machines. * Superhyway support for SH4-202 [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=d5cb9783536a41df9f9cba5b0a1d78047ed787f7 (commit)] * Add support for the AMCC PowerPC 440SPe SoC, including PCI Express in root port mode [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b0f7b8bc57ee90138a7c429951457027a90c326f (commit)] * '''Filesystems''' * NTFS write support: NTFS finally implements write support so "vim /ntfs/foo.txt" works. You can write(2) to a file even beyond the end of the existing file. Resident non-resident files and are supported. Sparse files can also be written and holes will be filed appropriately. truncate(2), ftruncate(2) and open(2) with O_TRUNC flag also works. There're some limitations with heavily fragmented files which you won't be allowed to change. Also, notice that creation/deletion of files and directories is still not supported and mmap(2) based writes is still not complete [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=98b270362bb9ea6629732e7f5b65b8a6ce4743c7 (commit)] * Big CIFS update: Lots of performance improvements, support for mounting older pre-CIFS servers such as windows 9x and Me [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a10faeb2a3e266385cc334fe9af76e08e5e4330f (commit)], mount option for disabling the default behavior of sending byte range lock requests to the server [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=c46fa8acdc533e8084359ea11c79d56eb98313fb (commit)], add filesystem notification changes [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=8d0d50948b276b46b75b1b5855d3f9fab1e0fd92 (commit)], finish cifs mount option which requests case insensitive path name matching [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=d3485d37c0b3292aec0618b6663c57542df5da99 (commit)], suspend support [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=ede1327ea4ca8019ec6df24b3e837def091c26b8 (commit)] * '''Networking''' * 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)] * Randomize the port selected on bind() for connections to help with possible security attacks. It should also be faster in most cases because there's no need for a global lock [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=6df716340da3a6fdd33d73d7ed4c6f7590ca1c42 (commit)] * Add nf_conntrack subsystem: The existing connection tracking subsystem in netfilter can only handle ipv4. There were two choices present to add connection tracking support for ipv6, we could either duplicate all of the ipv4 connection tracking code into an ipv6 counterpart, or (the choice taken by these patches) we could design a generic layer that could handle both ipv4 and ipv6 and thus requiring only one sub-protocol (TCP, UDP, etc.) connection tracking helper module to be written. In fact nf_conntrack is capable of working with any layer 3 protocol [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=9fb9cbb1082d6b31fb45aa1a14432449a0df6cf1 (commit)] * Generic netlink family: The generic netlink family builds on top of netlink and provides simplifies access for the less demanding netlink users. It solves the problem of protocol numbers running out by introducing a so called controller taking care of id management and name resolving [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=482a8524f85a7d8c40c6fb5d072e85bc2fef327f (commit)]; and a new type-safe interface for netlink messages and attribute handling. The interface is fully binary compatible with the old interface towards userspace. Besides type safety, this interface features attribute validation capabilities, simplified message construction, and documentation [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=bfa83a9e03cf8d501c6272999843470afecb32ed (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)] * PPP MPPE encryption module, it implements the Microsoft Point-to-Point Encryption method as a PPP compressor/decompressor. This is necessary for Linux clients and servers to interoperate with Microsoft Point-to-Point Tunneling Protocol (PPTP) servers (either Microsoft PPTP servers or the poptop project) which use MPPE to encrypt data when creating a VPN [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b3f9b92a6ec1a9a5e4b4b36e484f2f62cc73277c (commit)] * Appropriate Byte Count support [http://www.ietf.org/rfc/rfc3465.txt (RFC 3465)]. ABC is a way of counting bytes ack'd rather than packets when updating congestion control [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=9772efb970780aeed488c19d8b4afd46c3b484af (commit)] * IPV6: [http://www.ietf.org/rfc/rfc3484.txt RFC 3484] compliant source address selection [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=072047e4de3800905e09d0f8ef0e1cc4e91a601e (commit)] * Wireless updates: Hardware crypto and fragmentation offload support [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=f1bf6638af9e9bbbb6fb0b769054fb7db1ae652f (commit)], QoS (WME) support [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=9e8571affd1c54b9638b4ff9844e47aae07310f6 (commit)], "wireless spy support" [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=74079fdce472a2b16d502fe39e06b135ef06c69b (commit)], mixed PTK/GTK CCMP/TKIP support [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=ccd0fda3a6d9186d067893114f65b8df758d5a1f (commit)] and WE-19 HostAP support [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=c28df16ed70d1b6cefd12135e3c68bfccd1bb635 (commit)] * Speed up SACK processing: Use "hints" to speed up the SACK processing. Various forms of this have been used by TCP developers (Web100, STCP, BIC) to avoid the 2x linear search of outstanding segments [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=6a438bbe68c7013a42d9c5aee5a40d7dafdbe6ec (commit)] * '''Drivers''' * libata: Add support for ATA passthru (arbitrary ATA command execution, necessary for SMART support) [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b095518ef51c37658c58367bd19240b8a113f25c (commit)], C/H/S support for older devices [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=8bf62ecee58360749c5f0e68bc97d5e02a6816b1 (commit)], support for Silicon Image 3131/3531 controllers [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=042c21fd2c3aa553907020131caa553a9da24589 (commit)], Marvell SATA family (DMA mode) [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=31961943e3110c5a1c36b1e0069c29f7c4380e51 (commit)] and Promise SATA 300 TX2plus PDC40775 [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=c45154a3b1fecdbb51b5462c9f730b44e62b83a5 (commit)] * IDE support for: AMD Geode GX/LX [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=7fab773de16ccaeb249acdc6e956a9759c68225d (commit)] and CS5535 [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=f5b2d8b4b5146fa2d70fec7d514fa0bd64636958 (commit)] * IDE support on the Sibyte Swarm evaluation boards and it's relatives for the BCM1250 family of system on a chip [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=4237f229018ccf937578dee97565a49d712809e8 (commit)] * IDE via82cxxx driver: support multiple controllers in the same system [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=7462cbff7d4c2dc0d182613fb4e801efb29b90ac (commit)] and remove /proc/via file: The same date can be got from this userspace program: [http://www.reactivated.net/software/viaideinfo/ http://www.reactivated.net/software/viaideinfo/] [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=861e76a8ab7ba64a74c567fa8c4d1d38c4dfdd24 (commit)]. Also, add support for VIA VT6410 [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=4f1d774aadfc5a6ed1545dca180f66ab6d0f543d (commit)] * sis5513: enable ATA133 for the SiS965 southbridge [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=14351f8e573442e2437d4b177fa10075aaefd5c9 (commit)] * Input: add Wistron driver present in fujitsu-siemens Amilo Pro V2000, Xeron Sonicpro X 155G and Acer Aspire 1500 notebooks. The driver also allows enabling/disabling the embedded wireless NIC (using the "Wifi" button) [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=5fc1468029e2a4da90ded1e0e2cdd94fbdf83bac (commit)] * e1000: Implementation of the milti-queue feature [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=24025e4ecf88743e1b3d46451b0e3f9de4bbcba5 (commit)] and support for 82571 and 82572 controllers [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=868d5309942927dc86f57009420c5d366ec05daa (commit)] * tg3: add complete support for 5714/5715 [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a4e2b347848bf626b822599329933887dc90e50f (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)], raid5 [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=3f294f4fb6f2ba887b717674da26c21f3d57f3fc (commit)], md [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=eae1701fbd264cfc7efbaf7cd4cd999760070e27 (commit)], [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=86e6ffdd243a06663713e637ee683fb27dce8e0c (commit)] * fbcon: Add support for console rotation. Can be enabled with a boot option fbcon=rotate:n, where n = 0 - normal, n = 1 - 90 degrees (clockwise), n = 2 - 180 degrees (upside down), n = 3 - 270 degrees (counterclockwise); or at runtime with "echo n > /sys/class/graphics/fb[num]/con_rotate" to set the angle of rotation of the current console or "echo n > /sys/class/graphics/fb[num]/con_rotate_all" to set the angle of rotation globally [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e4fc27618b75234b721c4a13d0e0d9d07e75e641 (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)] * 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)], add radeon PCI Express support to complete the support for newest radeon cards along with the r300 3d initial support which went into 2.6.14 [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=ea98a92ff18c03bf7f4d21536986cbbcb4c10cd9 (commit)], Matrox mystique AGP support [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=63921fbfbd87ec745e65d2e9aecdfdc9a4ce73f2 (commit)], add partial support for GMA900 within the i915GM chipset [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=3a59026ba111d85b1a86af0f1c4e5a8ef1242d82 (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)] * Adds a RapidIO subsystem to the kernel. RIO is a switched fabric interconnect used in higher-end embedded applications [http://www.rapidio.org http://www.rapidio.org] [http://lwn.net/Articles/139118/ (LWN article)] [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=394b701ce4fbfde919a9bcbf84cb4820a7c6d47c (commit)] * MTD: add Resident Flash Disk (RFD) support. This type of flash translation layer (FTL) is used by the Embedded BIOS by General Software. [http://www.gensw.com/pages/prod/bios/rfd.htm http://www.gensw.com/pages/prod/bios/rfd.htm] [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e27a9960af0506d84b9ca9dd3874b7d88901f230 (commit)] and add initial support for OneNAND flash chips, a new flash technology from Samsung with integrated SRAM buffers and logic interface [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=cd5f6346bc28a41375412b49b290d22ee4e4bbe8 (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)] * Support the SMC9111 networking device present on DB1200 boards [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=557934554655ac119d96a1bdb6ed75319bb9d1b1 (commit)] * New Omnikey Cardman 4040 [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=77c44ab1d8e9da31bf927223e1579b44f772b579 (commit)] and 4000 [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=c1986ee9bea3d880bcf0d3f1a31e055778f306c7 (commit)] smartcard reader driver ===== 2.6.14 ===== * Released October 27, 2005 [http://kernel.org/pub/linux/kernel/v2.6/ChangeLog-2.6.14 changelog] * '''Kernel Core changes''' * 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)] * 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)] * 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)] * 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)] * '''Architecture-specific''' * 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)] * 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)] * '''Networking''' * [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 [http://www.ietf.org/rfc/rfc3542.txt (RFC 3542)]: 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)] * '''Filesystems''' * [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)] * 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)] * [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)] * 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)] * '''Drivers''' * 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)] * Initial radeon r300-based chips 3D support [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=414ed537995617f4cbcab65e193f26a2b2dcfa5e (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)] ==== 2.6.13 and older ==== * See Linux26Changes 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 using the [http://www.kernel.org/git git web interface] * 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 committed 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] * There's a [http://vger.kernel.org/vger-lists.html#git-commits-head git-commits-head mailing list] where all the commit diffs and git IDs are posted, you subscribe or search the [http://marc.theaimsgroup.com/?l=git-commits-head archives] 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_7.2)>> |
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 7.2 changelog.
Summary: Linux 7.2 modifies the task scheduler to be more cache-aware and is able to co-locate tasks that share data within the same Last Level Cache domain. It also adds a fairer GPU scheduler for better scheduling of GPU jobs; better memory reclaiming that can provides large performance increases in some situations; more performant and leaner swapping implementation; support for USB4STREAM, which allows to send data streams through USB4 cables; performance improvements in Btrfs; a new dm-inlinecrypt storage target for inline block device encryption: new flags for the openat(2) system calls; faster reading of /proc/filesystems and /proc/interrupts; and preparations for the introduction of sub-schedulers in sched_ext. As always, there are many other features, new drivers, improvements and fixes.
You might also be interested in the list of changes done by LWN: part 1, part 2
Contents
-
Prominent features
- Faster performance and less cache misses with cache-aware task scheduling
- Fair(er) GPU scheduler
- Better memory reclaiming, for better performance
- Swap table phase IV
- USB4STREAM for streaming data with USB4
- Various Btrfs improvements
- New dm-inlinecrypt target for inline block device encryption
- openat(2) extensions
- Speedup reading /proc/filesystems and /proc/interrupts
- Preparations for the introduction of sched_ext sub-schedulers
- 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
- Serial
- Universal Serial Bus
- Serial Peripheral Interface (SPI)
- Watchdog
- CPU Frequency scaling
- Voltage, current regulators, power capping, power supply
- Real Time Clock (RTC)
- Pin Controllers (pinctrl)
- Multi Media Card (MMC)
- Memory Technology Devices (MTD)
- Industrial I/O (iio)
- Multi Function Devices (MFD)
- Pulse-Width Modulation (PWM)
- Inter-Integrated Circuit (I2C + I3C)
- Hardware monitoring (hwmon)
- General Purpose I/O (gpio)
- Leds
- DMA engines
- Cryptography hardware acceleration
- PCI
- Clock
- PHY ("physical layer" framework)
- EDAC (Error Detection And Correction)
- Various
- List of Pull Requests
- Other news sites
1. Prominent features
1.1. Faster performance and less cache misses with cache-aware task scheduling
This release introduces cache-aware load balancing of tasks, with the goal of co-locating tasks that share data (ie. threads of the same process) within the same Last Level Cache domain. By improving cache locality, the scheduler can reduce cache bouncing and cache misses, ultimately improving data access efficiency.
Recommended LWN article: Cache awareness for the CPU scheduler
1.2. Fair(er) GPU scheduler
The Linux kernel has a task scheduler that schedules processes, but this is not the only scheduler in the kernel. Processes that use graphic card resources do submit jobs that are executed inside the GPU, and there is a GPU scheduler that decides which job will be executed next when the GPU has processing power available. The algorithm used by the GPU scheduler can impact the fairness and latency seen by the processes submitting these jobs, and right now the algorithm used is based around the "First In, First Out" principle, which has a number of disadvantages.
This release implements a "Fair(er)" GPU scheduler modeled after the ideas of the original Linux CFS task scheduler. There are improvements in fairness and scheduling of interactive clients when running in parallel with a heavy GPU load, and so far no scheduling regressions have been found relative to FIFO.
Recommended blog post: Fair(er) DRM GPU scheduler
1.3. Better memory reclaiming, for better performance
Memory reclaiming, which is the part of the kernel that decides which parts of the memory should be sent to the swap or evicted from memory, has been improved. This release cleans up and slightly improve MGLRU's reclaim loop and dirty writeback handling. As a result, we can see an up to ~30% increase in some workloads like MongoDB with YCSB and a huge decrease in file refault, no swap involved. Other common benchmarks have no regression, and LOC is reduced, with less unexpected OOM, too.
1.4. Swap table phase IV
Phase IV of the swap table work (phase I, II, III)
This release unifies the allocation and charging of anonymous and shmem swap in folios, provides better synchronization, consolidates the metadata management, hence dropping the static array and map, and improves the performance. The static metadata overhead is now close to zero, and workload performance is slightly improved. For example, mounting a 1TB swap device saves about 512MB of memory.
Recommended LWN article: Swap tables, flash-friendly swap, swap_ops, and more
1.5. USB4STREAM for streaming data with USB4
In addition to Thunderbolt networking, which was already supported, this release adds support for streaming data directly over a cable as well (USB4STREAM). It is very simple and basically just transfers raw packets from one host to another. The driver exposes /dev/tbstreamX devices on each side of the link that can be used to transfer data using regular filesystem operations such as read(2) and write(2):
host1 # cat /dev/tbstream0
host2 # echo hello > /dev/tbstream0
This can be useful in cases where network tooling is not available or just for existing applications like dd and cat that do not support sockets. This feature can be used at the same time with thunderbolt_net so they don't rule each other out, and it allows multiple streams to be created.
1.6. Various Btrfs improvements
This release brings various improvements for the Btrfs file system:
- Enable large folios by default (they were experimental since 6.17), with no feature limitations
- Experimental support for huge folios (up to 2M)
New GET_CSUMS ioctl to return raw checksums to userspace, can be used for mkfs and deduplication optimizations
- Performance improvements on sequential writes and direct IO
1.7. New dm-inlinecrypt target for inline block device encryption
This release introduces a new dm target, dm-inlinecrypt, to support inline block-device encryption. The implementation builds on the work previously done in Android’s dm-default-key, but intentionally drops passthrough support, as that functionality does not appear likely to be accepted upstream in the near future. With this limitation, dm-inlinecrypt is positioned as a practical replacement for dm-crypt, rather than a general passthrough mechanism.
1.8. openat(2) extensions
This release adds a couple of flags to the openat(2) system calls:
OPENAT2_REGULAR flag, which refuses to open anything but regular files, protecting services from being redirected to fifos, device nodes, and friends
Add O_EMPTYPATH flag to openat(2)/openat2(2). If passed, an empty path string is accepted and LOOKUP_EMPTY is set at path resolution time, allowing to reopen the file behind the file descriptor directly
1.9. Speedup reading /proc/filesystems and /proc/interrupts
Performance when reading these two procfs files is not relevant for most applications, however some extreme users benefit from optimizing these files as much as possible, or are even used more often that you would expect (/proc/filesystems is read by libselinux and is linked into numerous frequently used programs, even simple ones like sed). This release optimizes the generation of these files.
1.10. Preparations for the introduction of sched_ext sub-schedulers
This release adds infrastructure that will be used to support sub-schedulers in sched_ext. These will be used for use cases like, for example, using different sched_ext schedulers in different cgroups
Recommended LWN article: Sub-schedulers for sched_ext
2. Core (various)
(FEATURED) Add O_EMPTYPATH to openat(2)/openat2(2). If passed, LOOKUP_EMPTY is set at path resolution time (cover), commit, commit
(FEATURED) openat(2): OPENAT2_REGULAR flag support, which refuses to open anything but regular files, protecting services from being redirected to fifos, device nodes, and friends (cover), commit, commit
- Task scheduler
(FEATURED) Cache aware scheduling, with the goal of co-locating tasks that share data within the same Last Level Cache (LLC) domain. By improving cache locality, the scheduler can reduce cache bouncing and cache misses (cover), commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit and Cache aware scheduling enhancements (cover), commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Optimized Donor Migration for Proxy Execution (cover), commit, commit, commit, commit, commit, commit
tick: Refactor idle cputime accounting (cover), commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
(FEATURED) sched_ext: Topological CPU IDs (cids): a dense, topology-ordered CPU numbering where the CPUs of a core, LLC, or NUMA node form contiguous ranges, so a topology unit becomes a (start, length) slice (cover), commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
sched_ext: Improve exit-time diagnostics (cover), commit, commit, commit
sched_ext: bitmaps windowed over a slice of cid space, so a sub-scheduler can track, for example, the idle cids of its shard without a full NR_CPUS cpumask (cover), commit, commit, commit
scx_qmap: Convert to BPF arena (cover), commit, commit, commit, commit
fair: attempts to improve SD_ASYM_CPUCAPACITY scheduling by introducing SMT awareness (cover), commit, commit, commit, commit, commit
- io_uring
zcrx: Add a mechanism to communicate conditions back to userspace via a dedicated CQE, with the initial users being notification on running out of buffers and on a frag copy fallback, plus shared-memory notification statistics (cover), commit, commit, commit, commit
net: support registered buffer for plain send and recv commit
net: allow filtering on IORING_OP_CONNECT commit
pipe: reduce pipe->mutex contention by pre-allocating outside the lock. On a writers x readers sweep with 64KB writes against a 1 MB pipe throughput improves 6-28% and average write latency drops 5-22%; under memory pressure - when the cost of holding the mutex across reclaim is highest - throughput improves 21-48% and latency drops 17-33% (cover), commit, commit
Improve write performance with RWF_DONTCACHE (cover), commit, commit, commit
proc: subset=pid: Relax check of mount visibility (cover), commit, commit, commit, commit, commit, commit, commit
Simple xattr improvements (cover), commit, commit, commit, commit
exec: relocate the dumpable mode and the user_namespace captured at execve() from mm_struct onto a new per-task task_exec_state structure that stays attached to the task for its full lifetime (cover), commit, commit, commit, commit
futex: Address the robust futex unlock race for real (cover), commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
writeback: fix race between cgroup_writeback_umount() and inode_switch_wbs() (cover), commit, commit, commit
fanotify: lift pidfd reporting restrictions and allow fanotify to report pidfds referring to the event-generating thread (cover), commit, commit
- procfs
(FEATURED Speedup reading /proc/filesystems (it is read frequently because libselinux reads it and is linked into numerous frequently used programs, even simple ones like sed) (cover), commit, commit, commit
(FEATURED Improve /proc/interrupts (cover), commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
- VFS
Add the vfs infrastructure required to implement fs-verity support with a post-EOF merkle tree: fsverity generates and stores a zero-block hash, and iomap learns to verify data on buffered reads commit, commit, commit, commit, commit
iomap: Skip the memset in iomap_iter() once the iteration is done. In high-IOPS scenarios (4k randread NVMe polling via io_uring) the pointless memset wasted memory write bandwidth; this improves IOPS by about 5% on ext4 and xfs commit
Prerequisites for supporting directory delegations in nfsd via CB_NOTIFY callbacks (cover), commit, commit, commit, commit, commit, commit, commit
Introduce IOMAP_F_ZERO_TAIL for filesystems that maintain a separate valid data length (exFAT, NTFS) commit, commit, commit, commit
Assorted dcache cleanups and fixes (cover), commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Assorted ->i_count changes + extension of lockless handling (cover), commit, commit, commit
- locking:
- liveupdate
- build
objtool/klp: Calculate object checksums (cover), commit, commit, commit, commit, commit, commit
Distributed build support for clang thinlto (cover), commit, commit
rust: Add support for software tag-based kasan (cover), commit, commit
rust: add AutoFDO support commit
Rust gpuvm immediate mode (cover), commit, commit, commit, commit, commit
Remove the architecture specific config for autofdo and propeller (cover), commit, commit
kcov: Allow simultaneous kcov_enable/kcov_remote_enable commit
rust: zerocopy-derive: import crate commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
- tools/nolibc
Remove strncpy() from the kernel commit
3. File systems
- BTRFS (FEATURED)
Enable large folios by default (they were experimental since 6.17), no feature limitations commit
Support huge data folios for 4K page size (cover), commit, commit, commit, commit, commit
Add ioctl GET_CSUMS to read raw checksums from file range. It can be used for mkfs and deduplication optimizations commit
Limit size of bios submitted from writeback (reported improvement 15% on sequential writes) commit
Don't force dio writes to be serialized (~59% improvement in DIO throughput) commit
Lockless calculation of number of shrinkable extent maps, improve performance with many memcg allocated objects commit
Properly enable compressed readahead for bs < ps and large folio cases commit, commit
Optimize fill_holes() to merge a new hole with both adjacent items: an benefit workloads with heavily fragmented hole patterns commit
Provide stable UUID for e.g. overlayfs and temp_fsid, also reflected in statvfs() field f_fsid, internal dev_t is hashed in to allow cloning (cover), commit
Add 32-bit compat ioctl for BTRFS_IOC_GET_SUBVOL_INFO commit
Remove 32bit compat code for vfs inode number commit
cleanup: remove cow fixup mechanism and checked folio flag (cover), commit, commit
cleanup: reduce memory consumption for block groups (cover), commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
tree-checker: enhanced fst extent/bitmap checks commit, commit, commit
- EXT4
A major rework of the fast commit mechanism to avoid lock contention and deadlocks. We also export snapshot statistics in /proc/fs/ext4/*/fc_info commit, commit, commit, commit, commit, commit, commit
Performance optimization for directory hash computation by processing input in 4-byte chunks and removing function pointers (cover), commit, commit
- XFS
Drop the experimental warning for the zoned allocator commit
- F2FS
- NFSD
Implement directory delegations (cover), commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Automatic NFSv4 state revocation on filesystem unmount (cover), commit, commit, commit, commit, commit, commit, commit, commit, commit
Expose the case folding behavior of local filesystems so that file servers - nfsd, ksmbd, and user space file servers - can report the actual behavior to clients instead of guessing (cover), commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Add support for netlink upcalls for the auth.unix.ip and auth.unix.gid caches in SunRPC for mountd/exportd (cover), commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
The default NFS r/w block size rises to 4MB on hosts with at least 16GB of RAM, reducing per-RPC overhead on fast networks. Smaller machines keep their previously computed default, and the value remains tunable through /proc/fs/nfsd/max_block_size commit
Expose FMODE_NOWAIT for read-only files commit
- NTFS
- SMB
- CEPH
- EROFS
- EXFAT
- EXT2
Remove deprecated dax support commit
- 9P
4. Memory management
- MGLRU
(FEATURED) Clean up and slightly improve MGLRU's reclaim loop and dirty writeback handling. As a result, we can see an up to ~30% increase in some workloads like MongoDB with YCSB and a huge decrease in file refault, no swap involved. Other common benchmarks have no regression, and LOC is reduced, with less unexpected OOM, too (cover), commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Use folio_mark_accessed to replace folio_set_active commit
(FEATURED) Swap table phase IV: unify allocation and reduce static metadata: Unify the allocation and charging of anon and shmem swap in folios, provides better synchronization, consolidates the metadata management, hence dropping the static array and map, and improves performance (cover), commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
khugepaged: support the ability to collapse anonymous memory regions to mTHPs (cover), commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Speed up the freeing of a batch of 0-order pages by first scanning them for coalescing opportunities. This is applicable to vfree() and to the releasing of frozen pages (cover), commit, commit, commit
filemap: tighten mmap_miss hit accounting. This fixes a flaw where the mmap_miss counter over-credited page cache hits during fault-arounds and page-fault retries. This results in significant reduction of redundant synchronous mmap readahead I/O, drastically cutting down execution time and gigabytes read for sparse random or strided memory access workloads (cover), commit, commit
Remove CONFIG_READ_ONLY_THP_FOR_FS and enable file THP for writable files (cover), commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Shrink obj_stock_pcp and cache multiple objcgs: Resolve a 68% performance regression caused by NUMA-node cache thrashing (cover), commit, commit, commit, commit
Remove b_end_io from struct buffer_head (cover), commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
/proc/meminfo: expose per-node balloon pages in node meminfo commit
Improve large-folio readahead on systems like 64K-page arm64 by preventing the mmap_miss check from permanently disabling target-oriented VM_EXEC readahead, and by generalizing the force_thp_readahead gate to support mappings with any usefully large maximum folio order under the cache cap (cover), commit, commit
lruvec: preemptively free dead folios during lru_add drain commit
Use per-vma locks for /proc/pid/maps reads (cover), commit, commit, commit, commit, commit, commit
page_alloc: replace kernel_init_pages() with batch page clearing commit
sparse: Remove sparse buffer pre-allocation mechanism commit
vmalloc: free unused pages on vrealloc() shrink when shrinking across a page boundary (cover), commit, commit, commit, commit, commit
vmpressure: skip socket pressure for costly order reclaim commit
Switch THP shrinker to list_lru (cover), commit, commit, commit, commit, commit, commit, commit, commit, commit
slab: support for compiler-assisted type-based slab cache partitioning (cover), commit, commit, commit
slab: introduce alloc_flags and slab_alloc_context (cover), commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
slub: defer freelist construction until after bulk allocation from a new slab. This reduces per-object overhead in bulk allocation paths and improves allocation throughput significantly commit
slub: batch partial slab list operations (cover), commit, commit
- damon
Let DAMON be paused and resumed (cover), commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
repost non-hotfix reviewed patches in damon/next tree (cover), commit, commit, commit, commit
Introduce DAMOS failed region quota charge ratio commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Introduce data attributes monitoring commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Docs/mm/damon/design: document data attributes monitoring (cover), commit, commit, commit, commit, commit, commit, commit, commit
reclaim: add autotune_monitoring_intervals parameter commit, commit
Add node_eligible_mem_bp goal metric commit
hw_tags: Disable tagging for stack and page-tables (cover), commit, commit, commit
dma-buf: heaps: Turn heaps into modules (cover), commit, commit, commit, commit
5. Block layer
Enable lock context analysis for the block layer core (cover), commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
dm cache: make smq background work limit configurable commit
(FEATURED) dm-inlinecrypt: add target for inline block device encryption (cover), commit, commit, commit
dm-inlinecrypt: add support for hardware-wrapped keys (cover), commit
6. Tracing, perf and BPF
- BPF
arena: Recover from BPF arena page faults using a scratch page and add ptep_try_set() for lockless empty-slot installs on x86 and arm64 commit, commit, commit, commit, commit, commit, commit, commit
Raise maximum call chain depth to 16 frames commit
Support stack arguments for BPF functions and kfuncs (cover), commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Adding tracing_multi link support that allows fast attachment of tracing program to many functions commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Introduce resizable hash map (cover), commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Maximum combined stack depth (cover), commit, commit, commit
Minimize annotations for arena programs (cover), commit, commit, commit, commit, commit, commit
Add bpf_real_inode() kfunc commit
Support BPF traversal of wakeup sources (cover), commit, commit
Add simple xattr support to bpffs commit
Add support for sleepable tracepoint programs (cover), commit, commit, commit, commit, commit, commit
Extend bpf syscall with common attributes support (cover), commit, commit, commit, commit, commit, commit, commit, commit
cBPF JIT spray hardening commit, commit, commit, commit, commit, commit
Extend the bpf_list family of apis (cover), commit, commit, commit, commit, commit, commit, commit, commit
tracing/eprobes: Allow use of BTF names to dereference pointers. Add syntax to the parsing of eprobes to be able to typecast a trace event field that is a pointer to a structure commit
- perf
Allow perf to read synthetic events commit
perf tools: Add inject --aslr feature, to remap ASLR-randomized addresses in perf.data files, enabling reproducible analysis across runs with different address space layouts (cover), commit, commit, commit, commit, commit
perf bench: add --write-size option to sched pipe commit
perf lock contention: Allow 'mmap_lock' in -L/--lock-filter commit
perf test: Parallel harness optimizations, summary, JUnit XML & PMU fixes commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
perf trace: Introduce --show-cpu option to display cpu id commit
Perf libunwind multiple remote support (cover), commit, commit, commit, commit, commit, commit, commit
perf: Reveal PMU type in fdinfo commit
7. Virtualization
- virtio
SR-IOV Virtual Function support for AIE4 platform (cover), commit, commit, commit, commit, commit, commit
8. Cryptography
AF_ALG: Remove support for AIO and old-style drivers commit, commit, commit
AF_ALG: remove zero-copy support from skcipher and aead commit
Fix and simplify the NIST DRBG implementation (cover), commit, commit, commit, commit, commit, commit, commit, commit
Consolidate FCrypt and PCBC code into net/rxrpc/ (cover), commit, commit, commit, commit, commit
9. Security
integrity: Add support for ML-DSA signature for EVM and IMA (cover), commit, commit, commit, commit
ima: support for removing IMA measurement list records stored in kernel memory (cover), commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
landlock: Account all audit data allocations to user space commit
landlock: Implement LANDLOCK_ADD_RULE_QUIET to mute specific specific audit logs (and other future observability events) (cover), commit, commit, commit, commit, commit, commit, commit, commit, commit
landlock: add new Landlock access rights to control UDP bind and connect/send operations (cover), commit, commit, commit, commit, commit, commit
KEYS: trusted: Debugging as a feature commit
apparmor: Enable differential encoding commit
10. Networking
IPv4: nexthop removal performance optimization commit, commit, commit
TCP: rehash onto different local ECMP path on retransmit timeout (cover), commit, commit
IPv6: Honor oif when choosing nexthop for locally generated traffic (cover), commit, commit, commit
IPv6: don't use rtnl_lock for multicast routing configuration (cover), commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
mptcp: pm: drop TCP TS with ADD_ADDRv6 + port (cover), commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Reimplement TCP-AO using crypto library (cover), commit, commit, commit, commit, commit
geneve: Allow binding UDP socket to a specific address commit, commit, commit, commit
RDMA: Introduce generic buffer descriptor infrastructure for umem (cover), commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Add ovs packet family ynl spec and unicast notification support (cover), commit, commit
- bridge
sched: tc_dump_qdisc() optimizations (cover), commit, commit, commit, commit
- wifi
Introduce Fine Timing Measurement (FTM) enhancements and Proximity Detection (PD) capabilities. The implementation follows the Wi-Fi Alliance "PR Implementation Consideration Draft 1.9 Rev 1" specification and extends the existing peer measurement framework with advanced ranging features (cover), commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Indicate (Re)Association frame encryption in SME-in-driver mode (cover), commit, commit
mlme: advertise driver's extended MLD capa/ops commit
UHR non-primary channel access commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Add 802.3 multicast encapsulation offload support (cover), commit, commit, commit
mac80211_hwsim: split NAN handling into separate file (cover), commit, commit, commit, commit, commit
More NAN patches commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Basic S1G rx rate reporting support commit
cfg80211: remove 5/10 MHz channel support commit
SUNRPC: Switch MIC token verification to crypto/krb5 (cover), commit, commit, commit, commit, commit, commit, commit, commit
atm: Remove more dead code (cover), commit, commit, commit, commit, commit, commit, commit, commit, commit
hsr: Broadcast netlink notifications in the device's net namespace commit
- netfilter
sched: netem: enhancements (cover), commit, commit, commit, commit, commit
devmem: support devmem with netkit devices (cover), commit, commit, commit, commit, commit, commit, commit, commit
psp: Add support for dev-assoc/disassoc commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
xfrm: XFRM_MSG_MIGRATE_STATE new netlink message (cover), commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
xprtrdma: Decouple req recycling from RPC completion (cover), commit, commit, commit, commit, commit
cgroup/rdma: add rdma.peak and rdma.events[.local] (cover), commit, commit, commit, commit
ethtool: let ops locked drivers run without rtnl_lock (cover), commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
- Bluetooth
ARCnet: remove outdated drivers and information and unused code (cover), commit, commit, commit, commit, commit, commit, commit
11. Architectures
- ARM
- Device Tree Sources
New SoC Qualcomm Dragonwing IPQ9650, is a new wireless networking SoC using four Cortex-A55 and one Cortex-A78 core, which is a significant upgrade from older generations (cover), commit, commit, commit, commit
New SoC ZTE zx297520v3, an older low-end wireless SoC using a single Cortex-A53 core, which so far can only run 32-bit kernels. This brings back the ZX family of chips that was removed in 2021 after support for the original zx296702 and zx296718 chips was never completed (cover), commit, commit, commit, commit
New SoC Renesas R-Car M3Le (R8A779MD), a variant of the R-Car M3-N (R8A77965) automotive SoC commit
New SoC Apple t8122 (M3), the 2023 generation of their laptop SoCs, which has now been reverse-engineered to the point of having initial kernel support for five laptop models (cover), commit, commit, commit, commit, commit
New SoC ASPEED AST27xx, their first baseboard managment controller using a 64-bit core, the Cortex-A35, following earlier generations using ARMv5/v6/v7 CPUs (cover), commit, commit, commit, commit
Two NAS boxes using the old Cortina Systems Gemini SoC based on an ARMv4 FA526 CPU core (cover), commit, commit, commit, commit, commit, commit, commit
18 industrial embedded boards using NXP i.MX6/8/9 and LX2160A ((cover), commit, commit, commit, commit, commit, commit, commit, commit) SoCs from Variscite ((cover), commit, commit, commit), , Toradex ((cover), commit, commit, commit) and SolidRun ((cover), commit, commit), plus a number of overlays for combinations with additional boards (cover), commit, commit, commit
One new carrier board and SoM using TI K3 AM62x, in addition to new overlays for older SoMs (cover), commit, commit
Three phones from Google ((cover), commit, commit), Nothing ((cover), commit, commit, commit) and Motorola (commit, commit), all using Qualcomm Snapdragon SoCs
AST26xx BMC support for two server boards, (cover), commit, commit, (cover), commit, commit
Add initial support for rk3528 (cover), commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Add interconnect support for qualcomm nord soc (cover), commit, commit
qcom: Add support for upcoming Hawi SoC (cover), commit, commit
qcom: Add support for the microsoft surface pro 12in 1st edition (snapdragon), (cover), commit, commit, commit, commit, commit
qcom: pd-mapper: Add support for Hawi SoC commit
Add initial device trees for nord SA8797P (cover), commit, commit, commit
Enable new features for flipkart-rimob (cover), commit, commit
Basic devicetree support for amlogic a9 (cover), commit, commit
Add i.mx91 9x9 qsb basic support (cover), commit, commit, commit, commit, commit
Add nxp frdm-imx95-pro board support (cover), commit, commit
Add verdin imx8m[mp] and imx95 zinnia board (cover), commit, commit, commit, commit, commit, commit, commit
imx8mp: Add DT overlays for DH i.MX8M Plus DHCOM SoM and boards commit
socfpga: agilex7m: Add SoCFPGA Agilex7-M devkit commit, commit
Add interconnect support for qualcomm shikra soc (cover), commit, commit
amlogic: T7 thermal support (cover), commit, commit, commit, commit
samsung: Add support for Google GS101 TMU (cover), commit, commit, commit, commit, commit, commit
stratix10-svc: Add support to query Arm Trusted Firmware (ATF) version commit
tegra: bpmp: Add support for multi-socket platforms commit, commit
Add efinix fpga configuration support (cover), commit, commit, commit
gpib: Add support for ines pci_xl board commit, commit, commit, commit, commit, commit, commit
mtk: add support for hw access via SMCC commit, commit, commit
Ast2700-a2 interrupt controller hierarchy and route support (cover), commit, commit, commit, commit
Add support for the ti bq25792 battery charger (cover), commit, commit, commit, commit, commit, commit, commit, commit
renesas: Add R-Car X5H PRR support commit
renesas: rcar-mfis: Add R-Car V4H/V4M support commit
sunxi: sram: Add H616 SRAM regions commit
Add am62p silicon revision detection via nvmem (cover), commit, commit
pmic-arb: Add spmi-pmic-arb support for Qualcomm Hawi SoC (cover), commit, commit
Add cpucp mailbox support for qualcomm nord soc (cover), commit, commit
rkisp1: Add support for CAC commit
Tegra114: implement EMC support (cover), commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
tegra: Add Tegra238 MC support commit
Add support for verisilicon iommu used by media codec blocks (cover), commit, commit, commit, commit
Add driver for ec found on qualcomm reference devices (cover), commit, commit
Add ufs support for exynosautov920 soc (cover), commit, commit, commit
xor: Replace vectorized version with intrinsics (cover), commit, commit, commit, commit
cpufeature: Add WORKAROUND_DISABLE_CNP capability (cover), commit, commit
Add support for the mpam v0.1 architecture version (cover), commit, commit, commit, commit
errata: Mitigate TLBI errata on Microsoft Azure Cobalt 100 CPU (cover), commit, commit, commit, commit, commit, commit, commit, commit
Unmap linear alias of kernel data/bss (cover), commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
arm64+KVM: FPSIMD/SVE/SME cleanups (cover), commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
- Device Tree Sources
- X86
Remove support for TSC-less and CX8-less CPUs commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
- platform
amd pmc: Delay s2idle suspend for some devices (cover), commit, commit, commit, commit
amd/pmc: Add support for AMD 1Ah Family 80h SoC (cover), commit, commit
intel-uncore-freq: Expose instance ID in the sysfs (cover), commit, commit
asus-wmi: add keystone dongle support commit
dell-dw5826e: Add reset driver for DW5826e commit
dell-laptop: add Inspiron N5110 to touchpad LED quirk table commit
hp-wmi: Add support for Omen 16-ap0xxx (8D26) commit
hp-wmi: Add support for Omen 16-ap0xxx (8E35) commit
hp-wmi: Add thermal support for board 8B2F commit
intel-hid: Add HP ProBook x360 440 G1 to button_array_table commit, (cover)
lenovo-wmi: Add fixes and enhancement (cover), commit, commit, commit, commit, commit, commit, commit
msi-ec: Add support for MSI Pulse GL66 12th Gen commit
oxpec: add support for OneXPlayer Super X commit
thinkpad_acpi: Add debugfs entry to display HWDD raw commit
uniwill-laptop: Charging-related improvements (cover), commit, commit, commit, commit, commit, commit, commit, commit
Add acpi-based pmt discovery support for intel pmc (cover), commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Enable nvl support in intel_pmc_core (cover), commit, commit, commit, commit, commit, commit, commit
Add tps68470 power supply support for ov13b10 sensor (cover), commit, commit, commit
Add support for hygon dhyana family 18h processor (cover), commit
- KVM
Combined patchset for MBEC/GMET support. Both MBEC and GMET allow more granular control over execute permissions, with different levels of separation between supervisor and user mode. MBEC provides support for separate supervisor and user-mode bits in the PTEs; GMET instead lacks supervisor-mode only execution commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
pmu: Add support for AMD's Host-Only and Guest-Only performance counter eventsel bits in KVM's mediated PMU passthrough implementation (cover), commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Extend KVM_HC_MAP_GPA_RANGE api to allow retry (cover), commit, commit
Virtualize AMD's "disable CPUID in usermode" (cover), commit, commit, commit, commit, commit
Runtime TDX module update support (cover), commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
cpuid: Introduce a centralized CPUID parser commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
topology: Add paramter to split LLC commit
cpu: Add Intel CPU model number for rugged Panther Lake commit
perf vendor events intel: update (cover), commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
- S390
Add support for 2G hugepages (cover), commit, commit, commit, commit
Introducing kvm_arch_set_irq_inatomic Fast Inject (cover), commit, commit, commit
Implement KVM_PRE_FAULT_MEMORY (cover), commit, commit, commit, commit, commit
vsie: Implement ASTFLEIE facility 2 (cover), commit, commit, commit, commit
Enable rust support and add required arch glue (cover), commit, commit, commit, commit, commit, commit
Convert various functions to C (cover), commit, commit, commit, commit, commit, commit, commit, commit, commit
Improve this_cpu operations (cover), commit, commit, commit, commit, commit, commit, commit
ap: Implement SE bind and associate uevents commit
debug: Add s390dbf kernel parameter commit
sclp: Allow user-space to provide PCI reports for NVMe SMART data commit
tracing: Add s390-tod clock commit
- RISCV
Support non-leaf and range invalidation features in risc-v (cover), commit, commit, commit, commit, commit, commit, commit, commit
k3: Add support for CoM260-IFX board (cover), commit, commit
Add deepcomputing fml13v05 board dts (cover), commit, commit
KVM: Batch stage-2 TLB flushes commit
Implement ARCH_HAS_CC_CAN_LINK commit
- LOONGARCH
- POWERPC
- SH
sh: ecovec24: remove FSI/DA7210/Simple-Audio-Card support commit
12. Drivers
12.1. Graphics
(FEATURED) Fair(er) DRM scheduler. It improves fairness and scheduling of interactive clients when running in parallel with a heavy GPU load (cover), commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
- xe
Add initial CRI platform support commit
xe3p: add gt tuning TileY 2x2 walk pattern commit
xe_sysctrl: Add system controller component for Xe3p dGPU platforms (cover), commit, commit, commit, commit, commit, commit, commit
Expose multi_lrc_mask in debugfs info (cover), commit, commit
PF fair scheduling auto provisioning commit
- amdgpu
Initial HDMI 2.1 FRL support (cover), commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Initial DCN 4.2.1 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
GC 11.5.6/SDMA 6.4.0/and other new IPs commit, commit, commit, commit, commit, commit, commit
Enable DC power module commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Finish support for using multiple SDMA queues for TTM operations commit, commit, commit, commit, commit, commit
Add amdgpu.ptl module parameter for PTL control (cover), commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Auxless ALPM support (cover), commit, commit, commit, commit, commit, commit, commit, commit
Add guest driver CUID support commit
amdkfd: Add kfd_ioctl_profiler to contain profiler kernel driver changes commit
- i915
- panels
Panel replay bw optimization (cover), commit, commit, commit
Add panel driver for ChipWealth CH13726A based panels (cover), commit, commit
Support Waveshare DSI TOUCH kits (cover), commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
panel-edp: Add AUO B133HAN06.6 and BOE NV133FHM-N4F V8.0 commit
panel-edp: Add and update multiple AUO, BOE, CMN, and IVO panels (cover), commit, commit, commit, commit
panel-edp: Add CSW PNB601LS1-2 and LGD LP116WHA-SPB1 commit
simple: Add Displaytech DT050BTFT-PTS panel commit
simple: Displaytech DT050BTFT-PTS panel commit
simple: Add Startek KD070HDFLD092 panel commit
Add support for TSD TST070WSBE-196C 8" MIPI-DSI panel (cover), commit, commit
Add nec lcd technologies nl6448bc33-70c panel support (cover), commit, commit
- bridge
- msm
Add PERFCNTR_CONFIG ioctl (cover), commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Add support for adreno 810 gpu (cover), commit, commit, commit, commit, commit, commit
Mdss / dpu bringup for milos (cover), commit, commit, commit, commit, commit, commit, commit
- nouveau
Add rz/g3l gfx support (cover), commit, commit, commit, commit
- panthor
sysfb: Support basic power management commit, commit, commit, commit, commit
- tyr
- v3d
- verisilicon
- nova-core
firmware: Hopper/Blackwell support (cover), 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 GA100 support (cover), commit, commit, commit, commit, commit, commit
Run unload sequence upon unbinding (cover), commit, commit, commit, commit
- drm_ras
- gud
Add RCade Display Adapter VID/PID pair commit
console: mdacon: remove this obsolete driver commit
fbdev: remove Hercules monochrome ISA graphics adapter driver commit
Add new max25014 backlight driver (cover), commit, commit, commit, commit
Add new pixel formats for xilinx zynqmp (cover), commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Add du support for rz/t2h and rz/n2h socs (cover), commit, commit, commit
12.2. Power Management
Add lecarc acpi ids for designware gpio, spi, i2c (cover), commit, commit, commit
thermal/drivers/amlogic: Add support for secure monitor calibration readout commit
thermal/drivers/qcom/tsens: Atomic temperature read with hardware-guided retries commit
thermal/drivers/qoriq: Add i.MX93 tmu support commit
thermal/drivers/samsung: Enable TMU by default commit
thermal/drivers/spacemit/k1: Add thermal sensor support commit
Support cooling device with ID in the OF commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
intel: intel_tcc_cooling: Add Arrow Lake CPU models commit
12.3. Storage
nvme: Enable PCI P2PDMA support for RAID0 and NVMe Multipath (cover), commit, commit, commit
nvme: export additional diagnostic counters via sysfs (cover), commit, commit, commit, commit, commit, commit, commit, commit
nvme: Refactor and expose per-controller timeout configuration (cover), commit, commit, commit, commit, commit, commit, commit
scsi: ufs: Add persistent TX Equalization settings support (cover), commit, commit
12.4. Drivers in the Staging area
atmel-isc: Remove driver commit
12.5. Networking
- Bluetooth
btmtk: add event filter to filter specific event commit
btusb: Add Realtek RTL8922AE VID/PID 0bda/d922 commit
btusb: Add Realtek RTL8922AE VID/PID 0bda/d923 commit
btusb: Add TP-Link UB600 for Realtek 8761BUV commit
btusb: Add USB ID 2c4e:0128 for Mercusys MA60XNB commit
btusb: Add support for Intel Lizard Peak 2 (0x8087:0x0040) commit
btusb: MT7922: Add VID/PID 0e8d/223c (cover), commit, commit
btusb: MT7925: Add VID/PID 13d3/3609 commit
- RDMA
Support perf mgmt for rxe (cover), commit, commit, commit, commit
b43: Complete n-phy rev 8 + radio 2057 rev 8 support (cover), commit, commit, commit, commit, commit, commit, commit
virtio: Add virtio CAN driver commit
Add basic driver framework for alibaba elastic ethernet adaptor (cover), commit, commit, commit, commit, commit, commit, commit, commit
gve: Add support for ptp gettimex64 (cover), commit, commit, commit
ice: Add tx reference clock index handling to an restart command (cover), commit, commit, commit
dpll/ice: Add generic DPLL type and full TX reference clock control for E825 commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Enable eee for e610 devices (cover), commit, commit, commit, commit, commit, commit
spectrum_ethtool: expose per-PG rx_discards commit
mv88e6xxx: SERDES on mv88e6321 (cover), commit, commit, commit
mlx5: Support state get/set for satellite PF ports (cover), commit, commit
mlx5: ICM page management in VHCA_ID mode (cover), commit, commit, commit
mlx5: Add satellite PF support commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
mlx5: Add vhca_id_type support to IPsec alias creation commit
mlx5: Add switchdev mode support for Socket Direct single netdev, part 1/2 (cover), commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
mlx5: Add switchdev mode support for Socket Direct single netdev, part 2/2 (cover), commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
mlx5: enable sub-page allocations for mlx5_frag_buf (cover), commit, commit, commit
mlx5e: Report more netdev stats (cover), commit, commit, commit, commit, commit
mlx5e: improve RSS indirection table sizing and resizing commit, commit, commit, commit, commit
devlink, mlx5: Add new parameters for link management and SRIOV/eSwitch configurations (cover), commit, commit, commit, commit, commit
airoha: Support multiple net_devices connected to the same GDM port (cover), commit, commit, commit, commit, commit, commit
atlantic: add PTP support for AQC113 (Antigua) (cover), commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
atlantic: add AQC113 PTP traffic class and TX path setup commit
ksz87xx: add support for low-loss cable equalizer errata (cover), commit, commit, commit
dsa: mv88e6xxx: enable devlink ATU hash param for 6320 family (cover), commit, commit, commit
dsa: netc: introduce NXP NETC switch driver for i.MX94 (cover), commit, commit, commit
dsa: mv88e6xxx: enable devlink ATU hash param for 6320 family commit
dsa: mxl862xx: SerDes ports (cover), commit, commit, commit, commit
dsa: netc: introduce NXP NETC switch driver for i.MX94 (cover), commit, commit, commit, commit, commit
dsa: netc: add bridge mode support commit, commit, commit, commit, commit, commit, commit, commit
dsa: netc: introduce NXP NETC switch driver for i.MX94 commit
dsa: qca8k: Add support for force mode for fixed link topology commit
dsa: realtek: rtl8365mb: bridge offloading and VLAN support (cover), commit, commit, commit, commit, commit, commit, commit, commit, commit
dsa: realtek: rtl8365mb: add support for RTL8367SB commit
dsa: yt921x: Add port TBF support (cover), commit, commit, commit
dsa: yt921x: Add port police support (cover), commit, commit, commit
enetc: add CBDR setup/teardown hooks to enetc_si_ops for VF support (cover), commit, commit, commit
Add preliminary NETC switch support for i.MX94 commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
hns3: enhance tc flow offload support commit, commit, commit, commit, commit, commit
ibm: emac: Use napi_gro_receive() for Rx packets commit
mana: Add support for PF device 0x00C1 commit
mana: Per-vPort EQ and MSI-X management (cover), commit, commit, commit, commit, commit, commit
mana: Expose hardware diagnostic info via debugfs commit
mana: Optimize irq affinity for low vcpu configs commit
mdio: realtek-rtl9300: Groundwork for multi SOC support (cover), commit, commit, commit, commit, commit, commit, commit, commit, commit
mdio: realtek-rtl9300: Add RTL931x support (cover), commit, commit, commit, commit, commit
Introduce airoha an8801r series gigabit ethernet phy driver (cover), commit, commit, commit, commit, commit, commit
phy: dp83867: add MDI-X management commit
phy: intel-xway: add PHY-level statistics via ethtool commit
Add motorcomm 8531s set ds func and 8522 driver (cover), commit, commit, commit
phy: realtek: Add support for PHY LEDs on RTL8221B commit
phy: realtek: support MDI swapping for RTL8226-CG commit
Add starfive jhb100 soc sgmii gmac support (cover), commit, commit, commit, commit
Add meig srm813q ids in qmi_wwan and option (cover), commit, commit
Add support for the rtl8159 10gbit usb ethernet chip (cover), commit, commit, commit
ath12k: Add support for handling incumbent signal interference in 6 GHz (cover), commit, commit
ath12k: Add support for 4-address mode commit
ath12k: thermal throttling and cooling device support (cover), commit, commit, commit, commit, commit
iwlwifi: mld: extract NAN capabilities setting to a function (cover), commit, commit, commit, commit, commit
iwlwifi: mld: track TX/RX IGTKs separately (cover), commit, commit, commit, commit, commit
iwlwifi: mark that we support iwl_rx_mpdu_desc version 7 and 8 (cover), commit, commit, commit, commit, commit
iwlwifi: validate the channels received in iwl_mcc_update_resp_v* (cover), commit, commit, commit, commit, commit
iwlwifi: mld: add chan-load hysteresis for MLO scan triggers (cover), commit, commit, commit, commit, commit
iwlwifi: mld: update link grading tables per bandwidth (cover), commit, commit, commit, commit, commit
iwlwifi: mld: add NAN DATA support - part 1 commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
iwlwifi: mld: add link and link station FW IDs to debugfs (cover), commit, commit, commit, commit, commit
iwlwifi: mld: add link and link station FW IDs to debugfs commit
iwlwifi: mld: implement UHR DPS commit
iwlwifi: mld: implement UHR multi-link PM commit
iwlwifi: mld: set fast-balance scan for active EMLSR (cover), commit, commit, commit, commit, commit
iwlwifi: mld: support NPCA capability for UHR devices commit
iwlwifi: mld: support the new statistics APIs commit
mac80211_hwsim: add NAN data path TX/RX support (cover), commit, commit, commit, commit
mac80211_hwsim: add NAN PHY capabilities commit
mac80211_hwsim: add NAN data path TX/RX support commit
mac80211_hwsim: switch to use TXQs (cover), commit, commit, commit, commit, commit, commit, commit, commit
mt76: mt76x2u: Add support for ELECOM WDC-867SU3S commit
mt76: mt7921: support per-device regulatory settings commit, commit, commit, commit, commit
mt76: mt7921u: add MT7902 USB support commit
mt76: mt7925: MT7927 (Filogic 380) support (cover), commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
mt76: mt7925: add Netgear A8500 USB device ID commit
mt76: mt792x: report txpower for the requested vif link commit, commit, commit
rtw89: use firmware offload for PHY and RF batch register writes (cover), commit, commit, commit, commit, commit, commit
rtw89: 8851bu: add Mercusys MA60XNB (2c4e:0128) commit
rtw89: 8922d: change naming number and update values for WDE/PLE quota (cover), commit, commit, commit
rtw89: debug: show large MRU in txpwr_table dbgfs commit
rtw89: 8922d: configure TX shape settings commit
rtw89: phy: increase RF calibration timeouts for USB transport (cover), commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
rtw89: Wi-Fi 7 configure TX power limit for large MRU commit
rtw89: add debugfs entry of monitor mode options to capture HE-MU packets (cover), commit, commit, commit, commit
rtw89: add USB IO offload and some refactors commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
rtw89: improve radiotap especially HE SIG-A/SIG-B commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
rtw89: debug: add RX statistics in bb_info commit
rtw89: debug: add BB diagnose commit
rtw89: debug: extend bb_info with TX status and PER commit
rtw89: phy: support per PHY RX statistics commit
rtw89: usb: Support switching to USB 3 mode commit
rtw89: add dev_id_quirks to driver_info for per-device quirk control commit
Remove all pcmcia drivers commit
12.6. Audio
FCP: Add Focusrite ISA C8X support commit
M-audio C600 disable output gain knob commit
- hda
oxygen: add HT-Omega eClaro (7284:9783) support commit
usb-audio: Add quirk for YAMAHA CDS3000 commit
Add es9356 focused soundwire codec (cover), commit, commit, commit, commit, commit, commit
Improve sdca support for duplicated features (cover), commit, commit, commit
SOF: Intel: lnl: Enable offload for UAOL link commit
SOF: ipc4-topology: Enable deep buffer capture commit
SOF: topology: allow user to add topologies (cover), commit, commit
ASoC: AMD: ACP7.x initial PCI driver bring-up commit, commit, commit, commit, commit
Add tas67524 quad-channel class-d amplifier driver (cover), commit, commit, commit, commit
nau8822: add support for supply regulators (cover), commit, commit
cs42xx8: Add SPI bus support for CS42448/CS42888 codec (cover), commit, commit
fsl-asoc-card: Add some improvements (cover), commit, commit, commit, commit, commit
imx-rpmsg: Add headphone jack detection and driver_name support (cover), commit, commit, commit
mediatek: mt2701: HDMI audio support (cover), commit, commit, commit, commit, commit, commit
mediatek: Add support for MT8196 SoC (cover), commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
qcom: qdsp6: add push/pull module support (cover), commit, commit, commit, commit, commit, commit
rsnd: Add RZ/G3E audio driver support (cover), commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
rt722-sdca: Add a control to support CAE firmware update commit
rt722-sdca: add FU06 Playback Switch for speaker mute control commit
Add support for gpios driven amplifiers (cover), commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
soc-core: Add core support for ignoring suspend on selected DAPM widgets (cover), commit, commit, commit
Add ti tac5xx2 soundwire codec driver support (cover), commit, commit, commit, commit
tegra: Add S8 PCM format support for MVC commit
tegra: Add per-stream Mixer Fade controls commit
ti: davinci-mcasp: Add audio-graph-card2 and DPCM support commit
tlv320aic3x: Add multi endpoint support commit
12.7. Tablets, touch screens, keyboards, mouses
bpf: Add Huion Inspiroy Frego M button quirk commit
Firmware support for usb-hid devices and cp2112 (cover), commit, commit
Add onexplayer configuration hid driver (cover), commit, commit, commit, commit, commit
lenovo: Use KEY_PERFORMANCE capability for ThinkPad X12 Tab Gen 2 commit
logitech-hidpp: sync wheel multiplier on wheel mode changes commit
nintendo: add support for HORI Wireless Switch Pad commit
playstation: Add DualSense Edge extra button support commit
rakk: add support for Rakk Dasig X side buttons commit
Add support for wacom w9000-series penabled touchscreens (cover), commit, commit
Pcap_ts: remove unused driver commit
stmfts: support FTS5 (cover), commit, commit, commit, commit, commit, commit, commit
Xilinx_ps2: remove driver commit
12.8. TV tuners, webcams, video capturers
Wave5: Add encoder features (cover), commit, commit, commit, commit
cadence,ti: CSI2RX Multistream Support (cover), commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
cec: add CEC LIP support (cover), commit, commit, commit, commit
i2c: cvs: Add Intel CVS driver (cover), commit, commit, commit
iris: add support for purwa platform (cover), commit, commit
iris: add FPS calculation and VPP FW overhead in frequency formula commit
pci: add AVMatrix HWS capture driver commit
Add amd isp4 driver (cover), commit, commit, commit, commit, commit, commit, commit
cros-ec: Add Dirkson to the match table commit
cros-ec: Add Kulnex and Moxoe to the match table commit
qcom: camss: Add camss TPG support for multiple targets (cover), commit, commit, commit
qcom: camss: Add PIX support for CSID/VFE-340 (cover), commit, commit, commit, commit, commit
qcom: iris: encoder feature enhancements batch2 (cover), commit, commit, commit, commit, commit, commit
qcom: iris: add support for decoding 10bit formats (cover), commit, commit, commit, commit, commit, commit
rc: mceusb: add support for 04eb:e033 commit
rga: Add RGA3 support (cover), commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
rockchip: rkcif: add support for rk3588 vicap (cover), commit, commit, commit, commit, commit, commit, commit
synopsys: enhancements and i.MX95 support (cover), commit, commit, commit, commit, commit, commit
uvcvideo: Map known XU controls (cover), commit, commit, commit
12.9. Serial
12.10. Universal Serial Bus
(FEATURED) Add support for a new protocol over USB4/Thunderbolt cable called USB4STREAM (cover), commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
cdns3: USBSSP platform driver support (cover), commit, commit
cdns3: support configurations without DRD block (cover), commit, commit
cdnsp: add support for eUSB2v2 port commit
chipidea: udc: support dynamic gadget add/remove commit, commit
Add genesys logic gl3590 hub support (cover), commit, commit
typec: ucsi: Add support for SET_PDOS command (cover), commit, commit, commit
usb: typec: ucsi: Enable debugfs for message_out data structure commit
Amd promontory 21 xhci temperature sensor support (cover), commit, commit
12.11. Serial Peripheral Interface (SPI)
Support the spacemit k1 spi controller (cover), commit, commit, commit
Add qspi support for qcs615 and improve interconnect handling (cover), commit, commit, commit, commit, commit, commit, commit
12.12. Watchdog
Add support for andes atcwdt200 (cover), commit, commit, commit
gpio_wdt: add ACPI support commit
Add support to read the watchdog bootstatus from imem (cover), commit, commit
Remove driver for integrated wdt of zfx86 486-based soc commit
Remove amd elan sc520 processor watchdog driver commit
12.13. CPU Frequency scaling
elanfreq: Drop support for AMD Elan SC4* commit
Add cpufreq scaling support for qualcomm shikra soc (cover), commit, commit
12.14. Voltage, current regulators, power capping, power supply
supply: Add support for Surface RT battery and charger (cover), commit, commit
Support for samsung s2mu005 pmic and its sub-devices (cover), commit, commit, commit, commit, commit, commit, commit, commit, commit
Add support for sgm3804 dual output driver (cover), commit, commit
mt6359: cleanup and add supplies (cover), commit, commit, commit, commit, commit, commit
qcom_smd-regulator: Add PM8019 commit
Remove used pcap regulator driver commit
12.15. Real Time Clock (RTC)
m41t93: add new features alarm, clock out, watchdog (cover), commit, commit, commit, commit, commit, commit
rtc: aspeed: add AST2700 compatible commit
ds1307: add support for clock provider in ds1307 commit
Remove unused pcap driver commit
12.16. Pin Controllers (pinctrl)
NAdd generic pinctrl for board-level mux chips (cover), commit, commit, commit, commit, commit
aspeed: Add AST2700 SoC0 support (cover), commit, commit, commit
aspeed: Add AST2700 SoC1 support (cover), commit, commit, commit
Add lpass lpi pin controller support for sm6350 (cover), commit, commit, commit, commit, commit
qcom: Add support for Qualcomm Shikra SoC (cover), commit, commit
qcom: add support for the TLMM controller on Nord platforms (cover), commit, commit
Add renesas rz/g3l pincontrol support (cover), commit, commit, commit, commit, commit, commit, commit
Add tegra238 and tegra264 pinctrl support (cover), commit, commit, commit, commit, commit
ultrarisc: add DP1000 pinctrl support (cover), commit, commit
12.17. Multi Media Card (MMC)
spacemit: enable SD card support with UHS modes for OrangePi RV2 (cover), commit, commit, commit, commit, commit, commit, commit, commit
12.18. Memory Technology Devices (MTD)
spi-nor: Enhance software protection (cover), commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
spi-nor: spansion: fix die erase support (cover), commit, commit
spinand: Add support for randomizer commit
spinand: macronix: Enable randomizer support commit
spinand: Winbond continuous read support (cover), commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
maps: remove obsolete impa7 map driver commit
12.19. Industrial I/O (iio)
adc: ad4080: add support for AD4880 dual-channel ADC (cover), commit, commit, commit
Add support for ad4129-4/8, ad4130-4, and ad4131-4/8 (cover), commit, commit, commit, commit, commit
adc: ad4691: add driver for AD4691 multichannel SAR ADC family (cover), commit, commit, commit, commit, commit, commit
adc: qcom-pm8xxx-xoadc: add support for reading channel labels from DT (cover), commit, commit, commit
dac: mcp4821: add configurable gain support (cover), commit, commit, commit
light: add support for Broadcom APDS9999 (cover), commit, commit
light: veml3328: add support for new sensor (cover), commit, commit
magnetometer: add MEMSIC MMC5983MA driver (cover), commit, commit
Update apds990x als to support device trees (cover), commit, commit, commit
12.20. Multi Function Devices (MFD)
Add MTU3 for RZ/T2H and RZ/N2H (cover), commit, commit, commit, commit
ezx-pcap: remove unused driver commit
12.21. Pulse-Width Modulation (PWM)
12.22. Inter-Integrated Circuit (I2C + I3C)
12.23. Hardware monitoring (hwmon)
pmbus: add support for flex bmr316, bmr321, bmr350 and bmr351 commit
ina238: add samples and update_interval_us support (cover), commit, commit, commit
temperature: ltc2983: Add support for ADT7604 (cover), commit, commit, commit, commit, commit, commit, commit, commit, commit
asus-ec-sensors: add rog maximus z790 extreme commit
Add ROG STRIX B850-E GAMING WIFI commit
lm63: expose pwm frequency and lut hysteresis as writable commit
Support active-high alert polarity for lm75 (cover), commit, commit
Add support for delta e50sn12051 (cover), commit, commit, commit
pmbus/adm1266: add clear_blackbox, powerup_counter, and rtc debugfs entries (cover), commit, commit, commit
pmbus/adm1266: blackbox, FW rev, rtc_class, GPIO label (cover), commit, commit, commit, commit
pmbus/max20860a: add driver for analog devices max20860a (cover), commit, commit
pmbus/max34440: add support adpm12250 commit
Add support for infineon efuse xdp730 (cover), commit, commit, commit
raspberrypi-hwmon voltage support and teardown fix (cover), commit, commit, commit
Add driver for arctic fan controller commit
Support configurable fan pwm at shutdown (cover), commit, commit, commit
Add support for the ltc4283 hot swap controller (cover), commit, commit, commit
12.24. General Purpose I/O (gpio)
gpio-zynq: Add EIO GPIO support (cover), commit, commit, commit
gpio-f7188x: Add support for NCT6126D version B commit
74x164: seed the chain from DT at probe time (cover), commit, commit
tegra186: Add support for Tegra238 commit
Add nova lake (nvl) acpi device ids to the usbio gpio and i2c drivers. (cover), commit
ts5500: remove obsolete driver commit
12.25. Leds
Introduce the multi_max_intensity sysfs attribute (cover), commit
Add support for ti lp5860 led driver chip commit
12.26. DMA engines
dw-edma: Add Xilinx CPM6-DMA DeviceID commit
Add peripheral dma support for spacemit k3 soc (cover), commit, commit, commit, commit
Add support for qcrypto in kaanapali (cover), commit, commit
sh: rz-dmac: Add DMA ACK signal routing support commit
Renesas: dmaengine and ASoC fixes (cover), commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Add gpcdma support in tegra264 (cover), commit, commit, commit, commit, commit, commit, commit, commit
12.27. Cryptography hardware acceleration
atmel-ecc: add support for atecc608b commit
hisilicon/qm: support function reset and VF isolation commit, commit, commit, commit, commit, commit
qat: add kpt support for gen6 devices commit
Talitos: fix several issues in the freescale talitos crypto driver (cover), commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
sun4i-ss - remove insecure and unused rng_alg commit
xilinx-trng: remove crypto_rng interface commit
crypto4xx: remove insecure and unused rng_alg commit
exynos-rng: remove exynos-rng driver commit
hisi-trng: move hisi-trng into drivers/char/hw_random/ commit
12.28. PCI
endpoint: pci-ep-msi: Add embedded doorbell fallback (cover), commit, commit, commit, commit, commit, commit, commit
PCI/switchtec: Add Gen6 Device IDs commit
Add pcie support for ultrarisc dp1000 soc (cover), commit, commit
12.29. Clock
qcom: Add initial clock controllers for the upcoming Hawi SoC (cover), commit, commit, commit, commit, commit, commit, commit
qcom: milos: Add GX clock controller (cover), commit, commit
Add support for videocc and camcc on x1p42100 platform (cover), commit, commit, commit, commit, commit
Add cmn pll clock controller support for ipq5332 (cover), commit, commit, commit
Support enabling interconnect path for gdsc for fixing milos camcc (cover), commit, commit, commit, commit
Add support for DU and DSI on the Renesas RZ/G3E SoC (cover), commit, commit, commit, commit, commit, commit
renesas: r9a09g047: Add support for SMUX2_DSI{0,1}_CLK commit
12.30. PHY ("physical layer" framework)
Add driver for eyeq5 ethernet phy wrapper commit
Add basic support for NXPs TJA1145 CAN transceiver] (cover), commit
Add emmc phy support for axiado ax3000 soc (cover), commit, commit, commit
econet: Add PCIe PHY driver for EcoNet SoCs (cover), commit, commit
spacemit: Add USB2 PHY support for K3 SoC (cover), commit, commit
lynx-28g: add support for big endian register maps (cover), commit, commit, commit, commit, commit, commit
lynx-28g: add support for 25GBASER (cover), commit, commit, commit, commit, commit, commit, commit
phy: ti: add PHY driver for TI DS125DF111 Dual-Channel Retimer commit
J722s sgmii support (cover), commit, commit, commit, commit, commit
12.31. EDAC (Error Detection And Correction)
igen6: Add Intel Nova Lake-H SoC support commit
igen6: Add one Intel Panther Lake-H SoC support commit
Add RRL support for Intel Diamond Rapids servers commit, commit, commit, commit, commit, commit, commit, commit
12.32. Various
- accel/amdxdna
accel/ivpu: Add support for limiting NPU frequency commit
mhi: host: pci_generic: Add Telit FE910C04 modem support commit
Rework scmi transport drivers probing sequence (cover), * Hot-join improvements and mipi hci hot-join support (cover), commit, commit, commit, commit, commit, commit, commit, commit
nfc: nxp-nci: Add ISO15693 support commit
8250_mtk: Add ACPI support commit
synclink_gt: remove broken driver commit
applicom: remove low-quality, unused driver commit
dtlk: remove driver for ISA speech synthesizer card commit
imu: st_lsm6dsx: Add support for rotation sensor (cover), commit, commit, commit, commit, commit, commit
mailbox: Add list of used channels to debugfs commit
13. List of Pull Requests
14. Other news sites
Phoronix's Feature overview