37416
Comment:
|
1054
Linux 6.1
|
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''' * VFS changes: The "shared subtree" patches have been merged. Consider the following situation: a process wants to clone its own namespace, but still wants to access the CD that got mounted recently. Shared subtree semantics provide the necessary mechanism to accomplish the above. It provides the necessary building blocks for features like per-user-namespace and versioned filesystem. [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: * [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=07b20889e3052c7e77d6a6a54e7e83446eb1ba8 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=03e06e68ff76294e53ffa898cb844d2a997b043e 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=a58b0eb8e64b78d9315a5491955e78b1391d42e5 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=5afe00221389998a25d611dc7941c06580c29eb6 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=b90fa9ae8f51f098ee480bbaabd6867992e9fc58 shared mount handling: bind and rbind]: Implement handling of MS_BIND in presense of shared mounts * [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=9676f0c6389b62bd6b24d77d4b3abdbcfa32d0f2 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=2144440327fa01b2f3f65e355120a78211685702 shared mount handling: move]: Implement handling of mount --move in presense of shared mounts * [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a05964f3917c7c55368c229d7985f8e7c9977e97 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 * Page table scalability improvements: Currently, a single page table lock is used to protect all operations on an address space's page tables. This has been detected to cause scalability problems in largue multiprocessor systems ej: 512-cpu SGI altix, specially in heavily multithreaded workloads (threads of a same process share the same address space and hence the same page table lock). With this patch, a separate spinlock per page-table page is used, to guard the page table entries in that page. Splitting the lock is not quite for free: another cacheline access. So for now enable it by config for machines with 4 or more CPUs. While this (and many other scalability changes) may look high-end oriented now, remember that cheap multi-core desktops CPUs are there. [http://lwn.net/Articles/157151/ (LWN article)] [http://marc.theaimsgroup.com/?l=linux-kernel&m=112603203327134&w=2 (benchmark vs SGI's "reduced locking by using atomic page table operations" non-merged approach)] [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=4c21e2f2441dc5fbb957b030333f5a3f2d02dea7 (commit)] * .text page fault SMP scalability optimization: This fixes a case where large systems wouldn't scale well while faulting in the .text. The reason was a useless overwrite of the same pte from all cpu [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=1a44e149084d772a1bcf4cdbdde8a013a8a1cfde (commit)] * Swaptoken tuning: It turns out that the original swap token implementation, by Song Jiang, only enforced the swap token while the task holding the token is handling a page fault, this patch approximates that, like the page fault code does. It has the effect of automatically, and gradually, disabling the enforcement of the swap token when there is little or no paging going on, and "turning up" the intensity of the swap token code the more the task holding the token is thrashing [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=fcdae29aa7a5c79f245110f6680afdc1858d3626 (commit)] * Demand faulting for huge pages [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=4c887265977213985091476be40ab11dfdcb4caf (commit)] * Add generic memory add/remove and supporting functions for memory hotplug [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=3947be1969a9ce455ec30f60ef51efb10e4323d1 (commit)] * "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 infratructure. This is needed for testing due to the continued changes to the RCU infrastructure [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a241ec65aeac3d69a08a7b153cccbdb7ea35063f (commit)] * 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)]. 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''' * 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 mecanism 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)] * Add the infrastructure to support hotplug CPU on ARM [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a054a811597a17ffbe92bc4db04a4dc2f1b1ea55 (commit)], 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)] * x86 hot plug CPU support of physical add of new processors (hotplug add/remove of already existing CPUs was already supported) [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=9f40a72a7e819789f66910c8cd60aab005cdb413 (commit)] * 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)] * 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 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 support MMC, IRDA and UDC, 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)] and add 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)] * 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 appropiately. trucante(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)] * CIFS important updates: Performance improvements, improve the support for mounting to older pre-CIFS servers which went into 2.6.14 [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=history;h=d6d3f5bc68be3c4ab84e6f1f9db92291da671504;f=fs/cifs/CHANGES (commits)] * '''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 habdling. The interface is fully binary compatible with the old interface towards userspace. Besides type safety, this interface features attribute validation capabilities, simplified message contstruction, 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)] * IPV6: RFC3484 compliant source address selection [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=072047e4de3800905e09d0f8ef0e1cc4e91a601e (commit)] * '''Drivers''' * 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)] * Nokia 7600/6230(i)/6170/66x0 DKU2 USB driver [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=50260b69bbec383058875de26dbde28b1a6f8d00 (commit)] * Nvidia Geforce 7800 series (7800, 7800 GTX, 7800 GO and 7800 GTX GO cards) framebuffer support [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=7015faa7df829876a0f931cd18aa6d7c24a1b581 (commit)], 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)] * 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)] * 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://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)] ===== 2.6.14 ===== * Released October 27, 2005 [http://kernel.org/pub/linux/kernel/v2.6/ChangeLog-2.6.14 changelog] * Numa-aware slab allocator: It creates slabs on multiple nodes and manages slabs in such a way that locality of allocations is optimized. Each node has its own list of partial, free and full slabs. All object allocations for a node occur from node specific slab lists [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e498be7dafd72fd68848c1eef1575aa7c5d658df (commit - benchmarks)] * Lazy page table copies in fork() for VMAs without anonymous pages (the ones with anonymous pages are still copied): Defer copying of ptes until fault time when it is possible to reconstruct the pte from backing store, speeding up fork() greatly specially for processes using lots of shared memory [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=d992895ba2b27cf5adf1ba0ad6d27662adc54c5e (commit)] * Add /proc/$PID/smaps: This file will shows how much memory is resident in each mapping. Useful for people who want to perform memory consumption analysis [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e070ad49f31155d872d8e96cab2142840993e3c0 (commit)] * Add /proc/$PID/numa_maps: This file will show on which nodes pages reside [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=6e21c8f145f5052c1c2fb4a4b41bee01c848159b (commit)] * Lock-free file descriptor look-up [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=ab2af1f5005069321c5d130f09cce577b03f43ef (commit)] - [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b835996f628eadb55c5fb222ba46fe9395bf73c7 (commit)] * Four-level page table support for the ppc64 architecture: extends the usable user address range to 44 bits (16T). [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e28f7faf05159f1cfd564596f5e6178edba6bd49 (commit)] * Support hotplug cpu on 32-bit SMP powermacs: When a cpu is off-lined, it is put into sleep mode with interrupts disabled. It can be on-lined again by asserting its soft-reset pin, which is connected to a GPIO pin [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=31139971b3dc9fbb2e8a8572fb81e6e8470f363a (commit)] * Add TASK_NONINTERACTIVE task state bit to the cpu scheduler: It can be used by blocking points to mark the task's wait as "non-interactive". This does not mean the task will be considered a CPU-hog - the wait will simply not have an effect on the waiting task's priority - positive or negative alike [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=d79fc0fc6645b0cf5cd980da76942ca6d6300fa4 (commit)] * [http://www.ietf.org/rfc/rfc2637.txt PPTP] (Point-to-Point Tunneling Protocol) conntrack support and NAT helper added to allow proper management of multiple NAT'd PPTP connections. PPTP, a Microsoft-designed protocol, is used in many places to provide VPN access due to the native support in Microsoft Windows. [http://en.wikipedia.org/wiki/PPTP Wikipedia article] [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=926b50f92a30090da2c1a8675de954c2d9b09732 (commit)] * DCCP: "Datagram Congestion Control Protocol". Datagram protocol (like UDP), but with a congestion control mechanism. [http://lwn.net/Articles/149756/ (LWN article)] Currently a [http://www.icir.org/kohler/dcp/draft-ietf-dccp-spec-11.txt RFC draft] [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=7c657876b63cb1d8a2ec06f8fc6c37bb8412e66c (commit)] * Implement SKB fast cloning: Protocols that make extensive use of SKB cloning, for example TCP, eat at least 2 allocations per packet sent as a result. To cut the kmalloc() count in half, we implement a pre-allocation scheme wherein we allocate 2 sk_buff objects in advance, then use a simple reference count to free up the memory at the correct time [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=d179cd12928443f3ec29cfbc3567439644bd0afc (commit)] * Add netlink connector: userspace <-> kernel space easy to use communication module which implements easy to use bidirectional message bus using netlink as its backend [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=7672d0b54411371e0b6a831c1cb2f0ce615de6dc (commit)], also a "async connector mode" [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=acd042bb2de50d4e6fb969281a00cc8b8b71e46d (commit)] * IPV6: Support several new sockopt / ancillary data in Advanced API (RFC3542): IPV6_RECVPKTINFO, IPV6_PKTINFO, IPV6_RECVHOPOPTS, IPV6_HOPOPTS, IPV6_RECVDSTOPTS, IPV6_DSTOPTS, IPV6_RTHDRDSTOPTS, IPV6_RECVRTHDR, IPV6_RTHDR, IPV6_RECVHOPOPTS, IPV6_HOPOPTS, IPV6_{RECV,}TCLASS [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=333fad5364d6b457c8d837f7d05802d2aaf8a961 (commit)] - [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=41a1f8ea4fbfcdc4232f023732584aae2220de31 (commit)] * [http://fuse.sourceforge.net/ FUSE]: Allows to implement a fully functional filesystem in a userspace program [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=d8a5ba45457e4a22aa39c939121efd7bb6c76672 (commit)] * [http://v9fs.sourceforge.net/ 9P support]: Linux port of the [http://www.cs.bell-labs.com/sys/doc/9.html Plan9]'s [http://plan9.bell-labs.com/sys/man/5/INDEX.html 9P protocol] [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=93fa58cb831337fdf5d36b3b913441100a484dae (commit)] * [http://relayfs.sourceforge.net/ RelayFS]: Relayfs is just a bunch of per-cpu kernel buffers that can be efficiently written into from kernel code. These buffers are represented as files which can be mmap'ed and directly read from in user space. The purpose of this setup is to provide the simplest possible mechanism allowing potentially large amounts of data to be logged in the kernel and 'relayed' to user space." [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e82894f84dbba130ab46c97748c03647f8204f92 (commit)] * securityfs filesystem [http://lwn.net/Articles/153366/ (LWN article)] [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b67dbf9d4c1987c370fd18fdc4cf9d8aaea604c2 (commit)] * Suspend support for CIFS filesystem [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=ede1327ea4ca8019ec6df24b3e837def091c26b8 (commit)], 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)] * Enable atomic inode security labeling on ext3 and ext2: it enables atomic security labeling of newly created inodes by altering the fs code to invoke a new LSM hook to obtain the security attribute to apply to a newly created inode and to set up the incore inode security state during the inode creation transaction. This parallels the existing processing for setting ACLs on newly created inodes [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=5e41ff9e0650f327a6c819841fa412da95d57319 (commit)] - [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=10f47e6a1b8b276323b652053945c87a63a5812d (commit)] - [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=ac50960afa31877493add6d941d8402fa879c452 (commit)] * SELinux memory improvements: Reduce access rules memory usage by 20x [http://www.livejournal.com/users/james_morris/6197.html James Morris explanation] [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=782ebb992ec20b5afdd5786ee8c2f1b58b631f24 (commit)] * NTFS: Support journals ($Logfile) which have been modified by chkdsk. This means users can boot into Windows after we marked the volume dirty. The Windows boot will run chkdsk and then reboot. The user can then immediately boot into Linux rather than having to do a full Windows boot first before rebooting into Linux [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e7a1033b946f4f2622f2b338ab107f559aad542c (commit)] * SAS transport class [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=c7ebbbce366c02e5657ac6b6059933fe0353b175 (commit)] * Remove ACPI S4 BIOS support [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b01d8684e9e5b04270970c97df856d47668267e3 (commit)] * [http://ipw2100.sourceforge.net/ ipw2100] and [http://ipw2200.sourceforge.net/ ipw2200] wireless drivers (intel centrino) [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=2c86c275015c880e810830304a3a4ab94803b38b (commit)] - [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=43f66a6ce8da299344cf1bc2ac2311889cc88555 (commit)] * [http://hostap.epitest.fi/ HostAP]: Adds support to work as "Wireless Access Point" [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=ff1d2767d5a43c85f944e86a45284b721f66196c (commit)] * [http://www.hpl.hp.com/personal/Jean_Tourrilhes/Linux/Linux.Wireless.Extensions.html Wireless extensions] API update to version 19 [http://marc.theaimsgroup.com/?l=linux-netdev&m=112568599006559&w=2 (mail)] [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=6582c164f2b3b6e58d1f13c1c031b19ee691eb14 (commit)] * ISA DMA suspend for x86/x86-64 [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=795312e763569ce4df67e7a0ca726a9901358fa2 (commit)] - [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=7dc24db1757f950f8bd21b7191106d4bf5134be7 (commit)] * 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)] * 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)] Rules: * Name of the new feature/description of the change, including a small explanation if possible * If its a feature and the feature has some web page add a link to it * If there's a paper (OLS!) or an article add a link to it. Or write one ;) * If there's a interesting mail (benchmarks, announcements if there's no web page, etc) about it in the mailing list, get a link in one of the list's archives (at [http://marc.theaimsgroup.com/?l=linux-kernel http://marc.theaimsgroup.com/?l=linux-kernel] please) and add the link here * Add commit's link if possible. For commits add a "(commit)" word and add the link there. Don't add the commit link to another word (please). * Searching commits for a given feature is easy. Just look for it in the shortlog, or try to find a file related with that change, then search it in the GIT tree representation and click the "history" link to see all the changes made which affects that file. The release dates will help you too. * There're two main GIT trees where you can search for commits: [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git the one which has all the stuff commited after 2.6.12-rc2] and [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git the one which has all the stuff BEFORE 2.6.12-rc2] TODO: * Import relevant data from [http://kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.14-rc5/2.6.14-rc5-mm1/broken-out/post-halloween-doc.patch davej's post halloween document] or remaining stuff from [http://kernelnewbies.org/status/latest.html Kernelnewbies status] * Find links to corresponding changesets (!!) * Keep track of what gets changed |
<<Include(Linux_6.1)>> |
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 6.1 was released on Sun, 11 December 2022.
Summary: This release includes initial support for the Rust programming language; an optional MGLRU memory management algorithm that provides better memory management performance; a kernel memory sanitizer for improved memory safety debugging; memory tiering improvements; allow processes to voluntary collapse memory into a transparent hugepage; new BPF features such as a panic helper; better Btrfs performance overall; a Maple tree data structure with better algorithmic properties than red-black trees; support for per-cgroup Pressure Stall Information and a new IRQ/SoftIRQ PSI indicator. As always, there are many other features, new drivers, improvements and fixes.
Contents
-
Prominent features
- Initial support for the Rust programming language
- Multi-generational LRU for better memory management
- KMSAN, a kernel memory sanitizer
- Support for KCFI, a forward-edge control-flow integrity scheme
- Memory tiering improvements
- BPF features: panic helper, PKCS#7 signature verification, memory allocator
- Maple trees, a more efficient tree data structure
- Allow a process to induce collapsing of memory into transparent hugepages
- PSI improvements: per-cgroup PSI, IRQ/SoftIRQ PSI, optimizations
- Btrfs performance improvements
- Core (various)
- File systems
- Memory management
- Block layer
- Tracing, perf and BPF
- Virtualization
- Security
- Networking
- Architectures
-
Drivers
- Graphics
- Power Management
- Storage
- Drivers in the Staging area
- Networking
- Audio
- Tablets, touch screens, keyboards, mouses
- TV tuners, webcams, video capturers
- Universal Serial Bus
- Serial Peripheral Interface (SPI)
- Watchdog
- Serial
- CPU Frequency scaling
- Voltage, current regulators, power capping, power supply
- Pin Controllers (pinctrl)
- Multi Media Card (MMC)
- Memory Technology Devices (MTD)
- Industrial I/O (iio)
- Multi Function Devices (MFD)
- Inter-Integrated Circuit (I2C + I3C)
- Hardware monitoring (hwmon)
- General Purpose I/O (gpio)
- Leds
- DMA engines
- Cryptography hardware acceleration
- PCI
- Thunderbolt
- Clock
- PHY ("physical layer" framework)
- EDAC (Error Detection And Correction)
- Various
- List of Pull Requests
- Other news sites
1. Prominent features
1.1. Initial support for the Rust programming language
This release adds support for the Rust programming language. Rust aims to provide a modern system programming language with provable memory safety, without the use of a garbage collector, thus eliminating an entire class of bugs, which are the most common source of security vulnerabilities.
This release includes some initial support for Rust, which will be improved in later releases.
1.2. Multi-generational LRU for better memory management
When programs try to use more memory than what it's available, the Linux kernel needs to take a decision about which parts of memory, and from which program(s), move to swap or evict from memory. This process decides the kernel’s caching policy and ability to overcommit memory.
The current memory management subsystem in Linux attempts to make the right decision by keeping LRU (Least Recently Used) lists of pages. However, this method does not always make the best decisions. The multi-generation LRU is an alternative LRU implementation that optimizes page reclaim and improves performance under memory pressure. This implementation does not replace the current memory management scheme, it can be configured at compilation time.
Another recommended LWN article
1.3. KMSAN, a kernel memory sanitizer
KMSAN is a dynamic error detector aimed at finding uses of uninitialized values. It is based on compiler instrumentation, and is quite similar to the userspace MemorySanitizer tool.
An important note is that KMSAN is not intended for production use, because it drastically increases kernel memory footprint and slows the whole system down.
1.4. Support for KCFI, a forward-edge control-flow integrity scheme
Add support for KCFI, a forward-edge control-flow integrity scheme in the upcoming Clang 16 release, which is more suitable for kernel use than the existing CFI scheme used by CONFIG_CFI_CLANG. KCFI doesn't require LTO, doesn't alter function references to point to a jump table, and won't break function address equality. This replaces the current arm64 CFI implementation with KCFI and adds support for x86_64.
1.5. Memory tiering improvements
In modern systems, RAM can be distributed in several chips that can be accessed at a faster or slightly slower speed depending on the CPU accessing it. Modern systems are adding even more RAM tiers. This means that placement of a memory page that belongs to one node or another can severly impact performance.
This release includes a couple of improvements to the memory management subsystem. The first one is a new algorithm that helps to identify which pages are "hot" in a node so the system can promote/demote hot/cold pages to the appropriate nodes. The second change makes the tiering information available to userspace, and lets users configure it.
1.6. BPF features: panic helper, PKCS#7 signature verification, memory allocator
As usual, this release includes a few BPF features:
Some debugging techniques require a memory dump, this release allows to trigger a panic from eBPF so that the memory state can be dumped at the right moment Recommended LWN article
Because some type of BPF programs can attach to kprobe and fentry, they can run in unknown context where calling plain kmalloc() might not be safe. For this reason a small buffer of memory is reserved to allow allocation in these contexts Recommended LWN article
- There also other features, like functions PKCS#7 signature verification or an user-space-publisher ring buffer map type.
1.7. Maple trees, a more efficient tree data structure
The maple tree is an RCU-safe range based B-tree designed to use modern processor cache efficiently. There are a number of places in the kernel that a non-overlapping range-based tree would be beneficial, especially one with a simple interface. Users of an rbtree with other data structures to improve performance or an interval tree to track non-overlapping ranges will benefit the most from maple trees.
1.8. Allow a process to induce collapsing of memory into transparent hugepages
This release provides a mechanism for userspace to induce a collapse of eligible ranges of memory into transparent hugepages in process context, thus permitting users to more tightly control their own hugepage utilization policy at their own expense. The proposed interface adds a new madvise(2) mode, MADV_COLLAPSE, and leverages the new process_madvise(2) call.
1.9. PSI improvements: per-cgroup PSI, IRQ/SoftIRQ PSI, optimizations
The Pressure Stall Information provides a detailed view of the current resource usage in the system. This release includes support for optional per-cgroup PSI accounting (with some overhead), a new PSI_IRQ to IRQ/SOFTIRQ pressure, and some optimizations
1.10. Btrfs performance improvements
This release incorporates a few changes that will make Btrfs much faster when doing asynchronous buffered I/O using io_uring, also improved performance during normal buffered I/O, drastically faster lseek and FIEMAP (extent mapping information), preparations for a separate block group tree that will speed up mount times, improved inode logging (+25% faster dbench performance, -21% max latency), and other changes
2. Core (various)
(FEATURED) Initial support for the Rust programming language commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
cgroup/cpuset: cpu partition code enhancements: 1) allow partitions that have no task to have empty effective cpus 2) relax the constraints on what changes are allowed in cpuset.cpus and cpuset.cpus.partition 3) Add a new "isolated" partition type for partitions with no load balancing which is available in v1 but not yet in v2 4) allow the reading of cpuset.cpus.partition to include a reason string as to why the partition remain invalid commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
cgroup: add pids.peak interface for pids controller commit
Dynamic debugging: opt-in class'd debug for modules commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Remove the a.out implementation commit
fortify: Add run-time WARN for cross-field memcpy() commit
fortify: Explicitly check bounds are compile-time constants commit
- io_uring
zerocopy sendmsg commit
Support non-zerocopy sendto commit
Add an option to defer async work until user space calls io_uring_enter with the GETEVENTS flag. This allows the workload to choose when to schedule async work and have finer control (at the expense of complexity of managing this) of scheduling commit, commit, commit, commit, commit, commit, commit
kunit: add boot time parameter to enable KUnit commit, commit
Add sysfs entry "patched" for each klp_object commit
- rwsem: enable true lock handoff (the waiter optimistic spinning code did not work that well if we have RT tasks in the mix)
module: Add debugfs interface to view unloaded tainted modules commit
random: restore O_NONBLOCK support commit
(FEATURED) PSI: some optimizations, introduce a new PSI resource PSI_IRQ to track IRQ/SOFTIRQ pressure stall information, and introduce a per-cgroup interface "cgroup.psi" to disable or re-enable PSI stats accounting in the cgroup level commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
string: Introduce strtomem() and strtomem_pad(), to avoid the weaknesses and ambiguity of intent when using strncpy() commit
userfaultfd: add /dev/userfaultfd for fine grained access control commit, commit, commit, commit, commit
userfaultfd: open userfaultfds with O_RDONLY commit
3. File systems
- BTRFS
(FEATURED) Make lseek and fiemap much more efficient commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
(FEATURED) Support io_uring async buffered writes commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
(FEATURED) scrub: reduce memory usage commit, commit, commit, commit, commit, commit
(FEATURED) Some updates to delayed items and inode logging, brings some optimizations to inode logging, especially for logging directories, but also when logging a regular file that happens to have the name of another file that was previously deleted in the current transaction (triggered very often by the workloads simulated by dbench) commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
I/O completion cleanup and single device I/O optimizations commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
qgroup: address the performance penalty for subvolume dropping by introducing a user configurable sysfs interface, to allow certain high subtree dropping to mark qgroup inconsistent, and skip the whole accounting commit, commit, commit, commit, commit
Separate BLOCK_GROUP_TREE feature from extent-tree commit, commit, commit
fixes and cleanups around extent maps commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
send: add support for fs-verity commit
send: allow protocol version 3 with CONFIG_BTRFS_DEBUG commit, commit
- CIFS
- EROFS
- EXT4
- F2FS
- GFS2
- UDF
Support splicing to file commit
4. Memory management
(FEATURED) Multi-Gen LRU Framework commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
(FEATURED) Add Maple Tree commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
(FEATURED) Add KernelMemorySanitizer infrastructure commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
kasan: switch tag-based modes to stack ring from per-object metadata commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
kfence: add sysfs interface to disable kfence for selected slabs commit
Folio changes: this round has focused on shmem commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
ksm: count allocated rmap_items and expose in proc commit, commit
memcg: reduce memory overhead of memory cgroups commit, commit, commit
- Memory tiering
(FEATURED) Memory tiers and demotion. This patch series make the creation of memory tiers explicit under the control of device driver, exposes the tiers to userspace and allows configuring them commit, commit, commit, commit, commit, commit, commit, commit, commit
(FEATURED) New algorithm that allows for better hot page selection so the right pages can be moved to the right nodes commit, commit, commit
(FEATURED) Provides a mechanism for userspace to induce a collapse of eligible ranges of memory into transparent hugepages in process context, thus permitting users to more tightly control their own hugepage utilization policy at their own expense. The proposed interface adds a new madvise(2) mode, MADV_COLLAPSE, and leverages the new process_madvise(2) call commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Add file/shmem support to MADV_COLLAPSE commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
delayacct: support re-entrance detection of thrashing accounting commit, commit
slub: enable debugging memory wasting of kmalloc commit
Try to remember the young/dirty bits in the migration entries and carry them over when recovering the ptes commit, commit, commit, commit, commit, commit, commit
memcontrol: cleanup and optimize for two accounting params commit, commit
Improve pagecache PSI annotations commit, commit, commit, commit, commit, commit
Remove EXPERIMENTAL flag for zswap commit
tmpfs: add support for an i_version counter commit
5. Block layer
nvmet: expose max queues to configfs commit
Enable alloc caching and batched freeing for passthrough commit, commit, commit, commit, commit
iopoll support for io_uring/nvme passthrough commit, commit, commit, commit
ublk_drv: add USER_RECOVERY support; if the process or any ubq_daemon(pthread) crashes(exits accidentally), we allow user to provide new process and ubq_daemons commit, commit, commit, commit, commit, commit
sed-opal: Add ioctl to return device status commit
virtio_blk: add SECURE ERASE command support commit
6. Tracing, perf and BPF
- BPF
(FEATURED) BPF specific memory allocator commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
(FEATURED) Add user-space-publisher ring buffer map type commit, commit, commit, commit
(FEATURED) Add kfuncs for PKCS#7 signature verification commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Support direct writes to nf_conn:mark commit, commit, commit, commit, commit, commit
Support struct argument for trampoline base progs commit, commit, commit, commit, commit, commit, commit, commit
Allow for using bpf to collect hierarchical cgroup stats efficiently by integrating with the rstat framework. The rstat framework provides an efficient way to collect cgroup stats percpu and propagate them through the cgroup hierarchy commit, commit, commit, commit, commit
Add the invocation for cgroup/connect{4,6} programs to unprivileged ICMP ping (i.e. ping sockets created with SOCK_DGRAM IPPROTO_ICMP(V6) as opposed to SOCK_RAW) commit, commit, commit
Parameterize task iterators commit, commit, commit, commit, commit
Support getting tunnel flags commit
(FEATURED) Destructive bpf_kfuncs (bpf_panic) commit, commit, commit
libbpf: Allows disabling auto attach commit
libbpf: Support raw BTF placed in the default search path commit
- perf
inject: Add a command line option to specify build ids commit
lock: Add -E/--entries option commit
lock: Add -q/--quiet option to suppress header and debug messages commit
mem/c2c: Add support for AMD (tools changes) commit, commit, commit, commit, commit, commit, commit, commit
Show per-event lost sample count commit, commit, commit, commit, commit
stat: Support old kernels for bperf cgroup counting commit
tools: Add 'addr' sort key commit
Add speculation info to branch entries commit
hw_breakpoint: Optimize for thousands of tasks commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Capture branch privilege information commit, commit, commit, commit, commit, commit, commit, commit
- tracing
7. Virtualization
xen/virtio: enable grant based virtio on x86 commit, commit, commit
Fix dirty-ring ordering on weakly ordered architectures commit, commit, commit, commit, commit, commit
8. Security
(FEATURED) Add support for KCFI, a forward-edge control-flow integrity scheme in the upcoming Clang 16 release, which is more suitable for kernel use than the existing CFI scheme used by CONFIG_CFI_CLANG. KCFI doesn't require LTO, doesn't alter function references to point to a jump table, and won't break function address equality. This replaces the current arm64 CFI implementation with KCFI and adds support for x86_64 commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
9. Networking
- TCP
Add generic support for the Ethernet Power Sourcing Equipment commit, commit, commit, commit, commit, commit, commit
RDMA: Support multiple path records commit, commit, commit, commit
Remove DECnet support from kernel commit
can: support CAN XL commit, commit, commit, commit, commit, commit, commit
gro: add support of (hw)gro packets to gro stack commit
macsec: Lay the ground for MACsec hw offload commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
- mptcp
Add tc-taprio support for queueMaxSDU commit, commit, commit, commit, commit, commit, commit, commit
smc: Support SO_REUSEPORT commit
DSA changes for multiple CPU ports (part 4) commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
- TLS
netlink: support reporting missing attributes commit, commit, commit, commit, commit
openvswitch: allow specifying ifindex of new interfaces commit, commit
rtnetlink: advertise allmulti counter commit
seg6: add NEXT-C-SID support for SRv6 End behavior commit, commit, commit
vsock: updates for SO_RCVLOWAT handling commit, commit, commit, commit, commit, commit, commit, commit, commit
- phy
- wifi
Adds support for "collect_md" mode in XFRM interfaces. This feature is useful for maintaining a large number of IPsec connections with the benefits of using a network interface while reducing the overhead of maintaining a large number of devices commit, commit, commit
xfrm: start adding netlink extack support commit, commit, commit, commit, commit, commit
10. Architectures
10.1. ARM
Device Tree Sources: New SoCs
Mediatek MT8186, a Chromebook/Tablet type SoC, similar to the MT65xx series of phone SoCs, with two Cortex-A76 and six Cortex-A55 cores commit
TI AM62A, another member of the K3 family with Cortex-A53 cores, this one is targetted at Video/Vision processing for industrial and automotive applications commit, commit, commit, commit, commit
NXP i.MX8DXL is another chip for this market in the ever-growing i.MX8 family, this one again with two Cortex-A35 cores commit, commit, commit, commit, commit
Renesas R-Car H3Ne-1.7G (R8A779MB) commit, commit, commit, commit, commit, commit, commit, commit, commit and R-Car V3H2 (R8A77980A) commit, commit are minor updates of R8A77951 and R8A77980, respectively
Qualcomm IPQ8064-v2.0, IPQ8062 and IPQ8065 are all variants of the IPQ8064 chip, with minimally different features commit, commit, commit
- Device Tree Sources: New machines
Sony Xperia 1 IV is a fairly recent phone based on Qualcomm Snapdragon 8 Gen 1 commit
Three Samsung phones based on Snapdragon 410: Galaxy E5, E7 and Grand Max. These are added for both 32-bit and 64-bit kernels, as they originally shipped running 32-bit code commit, commit, commit, commit, commit
Two new servers using AST2600 BMCs: AMD DaytonaX commit and Ampere Mt. Mitchell commit
Three new machines based on Rockchips RK3399 and RK3566: Anberic RG353P and RG503 commit, commit, commit, Pine64 Pinephone Pro commit, Open AI Lab commit, commit, commit
Multiple NXP i.MX6/i.MX8 based boards: Kontron SL/BL i.MX8MM OSM-S commit, commit, commit, commit, commit, commit, commit, i.MX8MM Gateworks GW7904 commit, MSC SM2S-IMX8PLUS SoM and carrier board commit
Two development boards in the Microchip AT91 family: SAMA5D3-EDS commit and lan966x-pcb8290 commit
rockchip: Support gru-scarlet sku{2,4} variants commit
ls2081a-rdb: Add DTS for NXP LS2081ARDB commit
qcom: apq8060-dragonboard: Add TMA340 to APQ8060 DragonBoard commit
marvell: add support for Methode eDPU commit
MT8195 Acer Tomato commit, commit, commit, commit, commit, commit, commit
meson: add support for JetHome JetHub D1p (j110) commit
meson: add support for Beelink GT1 Ultimate commit
qcom: sc7280: Add device tree for herobrine evoker commit
qcom: Add new board revision and LTE SKUs for sc7280-villager family commit, commit, commit
rockchip: Add RK3399 NanoPi R4S Enterprise Edition commit
rockchip: rk3399: Radxa ROCK 4C+ commit
qcom: Add LLCC BWMON on SDM845 commit, commit, commit, commit, commit, commit, commit, commit, commit
renesas: Identify RZ/Five SoC commit
- ARM64
MediaTek Helio X10 MT6795 - M4U/IOMMU Support commit, commit, commit
sme: ptrace support for TPIDR2_EL0 commit, commit, commit, commit
perf: Kernel support for Dwarf unwinding through SVE functions commit, commit
Add DDR Sub-System Driveway PMU driver for Yitian 710 SoC commit, commit, commit
sysreg: Add hwcap for SVE EBF16 commit
alternatives mechanism: improvements commit, commit, commit, commit, commit, commit, commit, commit
iommu: M1 Pro/Max DART support commit, commit, commit, commit
10.2. X86
bpf: x86: Support in-register struct arguments in trampoline programs commit
crypto: aria-avx - add AES-NI/AVX/x86_64/GFNI assembler implementation of aria cipher commit
crypto: x86/sha512 - load based on CPU features commit
intel_idle: Add AlderLake-N support commit
iommu/amd: Add Generic IO Page Table Framework Support for v2 Page Table commit, commit, commit, commit, commit, commit
mm: x86: add CONFIG_ARCH_HAS_NONLEAF_PMD_YOUNG commit
- platform
Type-C switch driver commit, commit, commit, commit, commit, commit, commit
surface: aggregator_registry: Add HID devices for sensors and UCSI client to SP8 commit
surface: aggregator_registry: Add support for Surface Laptop Go 2 commit
amd/pmf: Introduce AMD PMF Driver commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
amd/pmf: Introduce CnQF feature for AMD PMF commit, commit, commit
amd: pmc: Add sysfs files for SMU commit
intel: pmc/core: Add Raptor Lake support to pmc core driver commit
asus-wmi: Add support for ROG X13 tablet mode commit
asus-wmi: Add support for ROG X16 tablet mode commit
asus-wmi: Implement TUF laptop keyboard LED modes commit
asus-wmi: Implement TUF laptop keyboard power states commit
asus-wmi: Support the GPU fan on TUF laptops commit
asus-wmi: Support the hardware GPU MUX on some laptops commit
hp-wmi: Support touchpad on/off commit
Add multiple-consumer support to int3472-tps68470 driver commit, commit, commit, commit, commit
Add support for another simatic board commit, commit, commit, commit, commit, commit, commit
- perf
amd: Add AMD LbrExtV2 support commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
perf mem/c2c: Add support for AMD commit, commit, commit, commit, commit, commit
intel-pt: Support itrace option flag d+e to log on error commit, commit, commit, commit, commit
perf events: Update Intel sandybridge commit, Intel sapphirerapids commit, Intel skylake commit, Intel tigerlake commit, Neoverse E1 commit, silvermont cpuids commit
Add new Raptor Lake S support commit, commit, commit, commit
rapl: Add support for Intel AlderLake-N commit
rapl: Add support for Intel Raptor Lake commit
powercap: intel_rapl: Add support for RAPTORLAKE_S commit
clear_user: Make it faster commit
tsx: Add a feature bit for TSX control MSR support commit
KVM: VMX: Support updated eVMCSv1 revision commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
10.3. LOONGARCH
Add ACPI-based generic laptop driver commit
Add SysRq-x (TLB Dump) support commit
Add kdump support commit
Add kexec support commit
Add perf events support commit
Add qspinlock support commit
Enable generic EFI compressed boot commit
10.4. RISCV
Introduce support for defining instructions to compile with toolchains that haven't yet been taught about them commit, commit, commit, commit
KVM: Allow Guest use Zihintpause extension commit
New PolarFire SoC devkit devicetrees commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Add mvendorid, marchid, and mimpid to /proc/cpuinfo output commit
Use composable cache instead of L2 cache commit, commit, commit, commit, commit, commit, commit
Enable generic EFI compressed boot commit
Enable THP_SWAP for RV64 commit
10.5. POWERPC
Stolen time accounting for VIRT_CPU_ACCOUNTING_GEN commit, commit, commit, commit
Support execute-only memory on the Radix MMU commit
microwatt: Add LiteX MMC driver commit
Add support for early debugging via Serial 16550 console commit
Enable KFENCE on book3s64 commit
10.6. S390
pai: Add support for PAI Extension 1 NNPA counters commit
dasd: add hardware copy relation commit, commit, commit, commit, commit, commit, commit
vmur: generate uevent on unsolicited device end commit
10.7. MIPS
Allow firmware to pass RNG seed to kernel commit
10.8. M68K
Allow kexec on M68KCLASSIC with MMU enabled only commit
10.9. MICROBLAZE
Add support for error injection commit
10.10. UM
Enable FORTIFY_SOURCE commit
10.11. XTENSA
Add FDPIC and static PIE support for noMMU commit
10.12. ALPHA
Add full ioread64/iowrite64 implementation commit
11. Drivers
11.1. Graphics
- amdgpu
Mode2 reset for RDNA2 commit, commit, commit, commit, commit, commit
Add DC debug option to force LTTPR mode commit
Add debug option for allocating extra way for cursor commit
Add debug option for dramclk_change_latency in apu commit
Implement DSC pass-through support commit
Add detailed GFXOFF stats to debugfs commit
Add rlcv/rlcp version info to debugfs commit
amdkfd: Added GFX 11.0.3 Support commit
- Intel
- msm
Add fault-injection support commit
- ingenic
Add support for the JZ4760(B) commit
- radeon
Drop legacy MST support commit
- mediatek
- vkms
- rcar-du
- rockchip
- ast
Add resolution support for 1152x864@75 commit
- bridge
- panfrost
Add support for devcoredump commit
dyndbg: add drm.debug style (drm/parameters/debug) bitmap support commit
- fourcc
hdmi: Add audio_infoframe packing for DP commit
- panel
11.2. Power Management
11.3. Storage
ata: ahci: Add DWC/Baikal-T1 AHCI SATA support commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
nvme: send a rediscover uevent when a persistent discovery controller reconnects commit
nvmem: add driver handling U-Boot environment variables commit
nvmem: lan9662-otp: add support commit
- scsi
lpfc: Add reporting capability for Link Degrade Signaling commit
mpi3mr: Enable Enclosure device add event commit
mpt3sas: Add support for ATTO ExpressSAS H12xx GT devices commit
qla2xxx: Add NVMe parameters support in Auxiliary Image Status commit
qla2xxx: Add debugfs create/delete helpers commit
ufs: ufs-mediatek: Support clk-scaling to optimize power consumption commit
11.4. Drivers in the Staging area
fwserial: delete the driver commit
media: atomisp: Remove watchdog timer commit
media: av7110: move to staging/media/deprecated/saa7146 commit
11.5. Networking
- Bluetooth
Add VID/PID 0489/e0e0 for MediaTek MT7921 commit
btintel: Add support for Magnetor commit
btusb: Add BT device 0cb8:c549 from RTW8852AE to tables commit
btusb: Add RTL8761BUV device (Edimax BT-8500) commit
btusb: Add Realtek RTL8852C support ID 0x13D3:0x3592 commit
btusb: Add a new PID/VID 13d3/3578 for MT7921 commit
btusb: Add a new PID/VID 13d3/3583 for MT7921 commit
btusb: Add a new VID/PID 0e8d/0608 for MT7921 commit
btusb: RTL8761BUV consistent naming commit
- RDMA
asix: ax88772: add ethtool pause configuration commit
ath11k: Enable remain-on-channel support on WCN6750 commit
brcmfmac: Support 89459 pcie commit
- can
- dsa
DSA changes for multiple CPU ports (part 4) commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
LAN9303: Add basic support for LAN9354 commit
bcm_sf2: Have PHYLINK configure CPU/IMP port(s) commit
Add tc-taprio support for queueMaxSDU commit, commit, commit, commit, commit, commit, commit, commit
microchip: add KSZ9896 switch support commit
microchip: add KSZ9896 to KSZ9477 I2C driver commit
microchip: add the support for set_ageing_time commit
mt7530: add support for in-band link status commit
mv88e6xxx: support RGMII cmode commit
etheradi: Add ADIN1110 support commit
Add WED support for MT7986 chipset commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
stmicro: stmmac: dwmac-rk: Add rv1126 support commit
am65-cpsw: Add support for J7200 CPSW5G commit
- fec
- hns3
Add getting capabilities of gro offload and fd from firmware commit
Add querying and setting fec llrs mode from firmware commit
Add querying fec ability from firmware commit
Add querying fec statistics commit
Add support config dscp map to tc commit
Add support to query and set lane number by ethtool commit
debugfs add dump dscp map info commit
Support ndo_select_queue() commit
i40e: Add basic support for I710 devices commit
- ibmveth
- ice
L2TPv3 offload support commit, commit, commit, commit, commit
Add low latency Tx timestamp read commit
Add support for VLAN priority filters in switchdev commit
Add support for ip TTL & ToS offload commit
Allow 100M speeds for some devices commit
ice: Implement devlink port splitting commit, commit, commit
Support features on new E810T variants commit
igc: add xdp frags support to ndo_xdp_xmit commit
lan743x: Add support for Rx IP & TCP checksum offload commit
- lan966x
macb: Add zynqmp SGMII dynamic configuration support commit
marvell: prestera: add nexthop routes offloading commit, commit, commit, commit, commit, commit, commit, commit, commit
microchip: sparx5: Add QoS offload support commit, commit, commit, commit, commit
- mlx5
Support DMABUF in umems and enable ATS commit, commit, commit, commit
HW definitions and support for NPPS clock settings commit, commit
Support querying eswitch functions from DEVX commit
Add support for SF tunnel offload commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
xsk updates commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
xsk perf optimizations commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
mlx5e: MACSec Extended packet number and replay window offload commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
mlxsw: Configure max LAG ID for Spectrum-4 commit, commit, commit, commit
mscc: ocelot: add support for all sorts of standardized counters present in DSA commit
- nfp
ngbe: Add build support for ngbe commit
- octeontx2-af
pcs: add new PCS driver for altera TSE PCS commit
- phy
adin1100: add PHY IDs of adin1110/adin2111 commit
at803x: add disable hibernation mode support commit
broadcom: Implement suspend/resume for AC131 and BCM5241 commit
micrel: Cable Diag feature for lan8814 phy commit
realtek: add support for RTL8211F(D)(I)-VD-CG commit
tja11xx: add interface mode and RMII REF_CLK support commit
phylink: allow RGMII/RTBI in-band status commit
RollBall / Hilink / Turris 10G copper SFP support commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
- r8152
- r8169
- ravb
- rtw89
- sfc
systemport: Enable all RX descriptors for SYSTEMPORT Lite commit
- tsnep
virtio-net: use mtu size as buffer length for big packets commit
- wifi
ath11k: Add TWT debugfs support for STA interface commit
ath11k: Add WoW support for WCN6750 commit
ath11k: Add cold boot calibration support on WCN6750 commit
ath11k: Add spectral scan support for 160 MHz commit
ath11k: Add support to connect to non-transmit MBSSID profiles commit
ath11k: implement SRAM dump debugfs interface commit
Add support for bcm4378 on Apple platforms commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
brcmfmac: add 43439 SDIO ids and initialization commit
iwlwifi: pcie: add support for BZ devices commit
mt76: add PPDU based TxS support for WED device commit
mt76: mt7921: introduce Country Location Control support commit
rt2x00: add throughput LED trigger commit
rtw89: add firmware drop and crash simulation commit, commit, commit, commit
rtw89: complete basic features of 8852c commit, commit, commit, commit, commit, commit, commit, commit, commit
rtw89: support channel context commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
rtw89: coex: complete BT-coexistence feature for 8852C commit, commit, commit, commit, commit, commit, commit, commit, commit
rtw89: add P2P support commit, commit, commit, commit, commit
rtw89: support TX diversity for 1T2R variant model commit, commit, commit, commit, commit
rtw89: support for enable/disable MSDU aggregation commit
11.6. Audio
hda/realtek: Add Intel Reference SSID to support headset keys commit
hda: cs35l41: Support System Suspend commit
intel-dspconfig: add ES8336 support for AlderLake-PS commit
usb-audio: Add DSD support for Accuphase DAC-60 commit
- ASoC: SOF
ADD SOF support for rembrandt platform commit, commit, commit, commit
Add SKL/KBL support for IPC4 CI tests commit, commit, commit, commit
ipc4/Intel: Improve and enable IPC error dump commit, commit, commit, commit, commit, commit
Enable timestamp support for SOF compress driver commit, commit, commit, commit
imx: Add i.MX8ULP HW support commit
ipc4: Add support for 'mtrace' log extraction commit, commit, commit, commit, commit, commit, commit
mediatek: update SOF driver for mt8186 commit, commit, commit
pci-tgl: add missing PCI IDs for RPL commit
- ASoC
amd: acp: Add TDM support for acp i2s stream commit
Add Pink Sardine platform ASoC driver commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
amd: yc: Add Lenovo Yoga Slim 7 Pro X to quirks table commit
apple: mca: Start new platform driver commit
codecs: add support for ES8326 commit
codecs: add support for the TI SRC4392 codec commit
codecs: lpass: add support fro sm8450 and sc8280xp commit, commit, commit, commit, commit
Support for CS42L83 on Apple machines commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
imx-rpmsg: Support configure sysclk for codec dai commit
max98088: add support for noise gate reg commit
nau8825: Add ADCOUT IO drive strength control commit
nau8825: Add TDM support commit
qcom: add machine driver for sc8280xp commit
sunxi: Add Allwinner H6 Digital MIC driver commit
tlv320adcx140: Add a new kcontrol commit
wm_adsp: Handle optional legacy support commit
11.7. Tablets, touch screens, keyboards, mouses
Add ABS_PROFILE to uapi and documentation commit
Add IBM Operation Panel driver commit
adc-joystick: add polled input device support commit
- adp5588-keys refactor and fw properties support
adp5588-keys: add regulator support commit
adp5588-keys: add support for fw properties commit
mt6779-keypad: support double keys matrix commit
mtk-pmic-keys: add support for MT6331 PMIC keys commit
pinephone-keyboard: add PinePhone keyboard driver commit
rt5120: add power key support commit
synaptics: enable InterTouch for the ThinkPad P1 G3 commit
xpad: Add X-Box Adaptive Controller support commit, commit, commit
xpad: add support for XBOX One Elite paddles commit
xpad: add supported devices as contributed on github commit
- HID
Add driver for PhoenixRC Flight Controller commit
Add driver for VRC-2 Car Controller commit
XP-PEN Deco Pro S support commit, commit, commit, commit, commit, commit, commit, commit
logitech-hidpp: Detect hi-res scrolling support commit
playstation: add initial DualSense Edge controller support commit, commit
playstation: stop DualSense output work on remove commit
saitek: add madcatz variant of MMO7 mouse device ID commit
topre: Add driver fixing report descriptor commit
wacom: Add new Intuos Pro Small (PTH-460) device IDs commit
11.8. TV tuners, webcams, video capturers
Destage Hantro VPU driver commit
zoran: move driver out of staging commit
i.MX8MP DW100 dewarper driver commit, commit, commit, commit, commit, commit, commit, commit
Hantro: HEVC: Allows 10-bit bitstream commit
cec: add support for Absolute Volume Control commit
cx88: add IR remote support for NotOnlyTV LV3H commit
hantro: imx8m: Enable 10bit decoding commit
Support mt8188 h264 encoder commit, commit, commit, commit, commit, commit
platform: mtk-mdp3: add MediaTek MDP3 driver commit
Add support for RZ/G2L VSPD commit, commit, commit, commit, commit
- venus
vivid: add pixel_array test control commit
vsp1: Add premultiplied alpha support commit
Drop V4L2_CAP_ASYNCIO commit
11.9. Universal Serial Bus
chipidea: Add support for VBUS control with PHY commit
dwc3: pci: Add PCIe device ID for USB3 controller on CPU sub-system for Alder Lake P commit
dwc3: xilinx: add power management ops support commit
gadget: udc: renesas_usb3: Add support for RZ/V2M commit
host: npcm: Add NPCM8XX support commit
serial: ftdi_sio: add support for HP and HA devices commit
serial: ftdi_sio: assume hi-speed type commit
serial: option: add Sierra Wireless EM9191 commit
serial: option: add u-blox LARA-L6 modem commit
serial: option: add u-blox LARA-R6 00B modem commit
serial: qcserial: add new usb-id for Dell branded EM7455 commit
typec: tcpci_rt1711h: Add compatible with rt1715 commit, commit, commit, commit, commit, commit, commit
typec: tcpci_mt6370: Add MediaTek MT6370 tcpci driver commit
11.10. Serial Peripheral Interface (SPI)
npcm-pspi: Add NPCM845 peripheral SPI support commit
microchip-core-qspi: Add support for microchip fpga qspi controllers commit
intel: Add support for second flash chip commit
11.11. Watchdog
Exar/MaxLinear XR28V38x driver commit
imx93: add watchdog timer on imx93 commit
rzg2l_wdt: Add rzv2m support commit
s3c2410_wdt: support exynosautov9 watchdog commit
sp5100_tco: Add "action" module parameter commit
w83627hf_wdt: add bootstatus support commit
Add tracing events for the most usual watchdog events commit
11.12. Serial
Deassert Transmit Enable on probe in driver-specific way commit
atmel: Make the driver aware of the existence of GCLK commit
11.13. CPU Frequency scaling
Add support for precision boost hardware control for AMD processors commit, commit, commit, commit, commit
amd-pstate: add amd-pstate driver parameter for mode selection commit
intel_pstate: Add Tigerlake support in no-HWP mode commit
tegra194: Add support for Tegra239 commit
qcom-cpufreq-hw: Add cpufreq qos for LMh commit
11.14. Voltage, current regulators, power capping, power supply
- power
- regulator
Add driver for MT6332 PMIC regulators commit
qcom_smd: Add PM6125 RPM regulators commit
qcom_spmi: Add support for LDO_510 and FTSMPS commit
qcom_spmi: Add PM6125 PMIC support commit
Add driver for MT6331 PMIC regulators commit
Add TI TPS65219 PMIC regulators support commit
qcom_spmi: Add support for HFSMPS regulator type commit
11.15. Pin Controllers (pinctrl)
Add Cypress cy8c95x0 support commit
cy8c95x0: support ACPI device found on Galileo Gen1 commit
mediatek: add mt8188 driver commit
qcom: Add sc8280xp lpass lpi pinctrl driver commit
qcom: Add sm8450 lpass lpi pinctrl driver commit
qcom: spmi-gpio: add support for LV_VIN2 and MV_VIN3 subtypes commit
rockchip: Add RV1126 pinctrl support commit
11.16. Multi Media Card (MMC)
11.17. Memory Technology Devices (MTD)
ubi: fastmap: Add fastmap control support for 'UBI_IOCATT' ioctl commit
parsers: add Broadcom's U-Boot parser commit
Add ECC error accounting for each read request commit
mtdchar: add MEMREAD ioctl commit
rawnand: brcmnand: Add individual glue driver selection commit
11.18. Industrial I/O (iio)
accel: adxl312 and adxl314 support commit
accel: bma400: Add support for single and double tap events commit
adc: Add rtq6056 support commit
adc: add max11205 adc driver commit
adc: at91-sama5d2_adc: add support for temperature sensor commit
adc: ltc2497: LTC2499 support commit
- adc: Improve MCP3911 driver
adc: stm32-adc: add id registers support commit
Add support for Bosch BNO055 IMU commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
cdc: ad7746: Move driver out of staging commit
imu: st_lsm6dsx: add support to LSM6DSTX commit
Add MEMSensing MSA311 3-axis accelerometer driver commit
light: Add support for ltrf216a sensor commit
light: ltrf216a: Add raw attribute commit
Add support for magnetometer Yamaha YAS537 commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
pressure: bmp280: Add support for BMP380 sensor family commit, commit
pressure: st_pressure: Add support for LPS22DF commit
temperature: mlx90632 Add supply regulator to sensor commit
11.19. Multi Function Devices (MFD)
mt6370: Add MediaTek MT6370 support commit
ocelot: Add support for the vsc7512 chip via spi commit
qcom-spmi-pmic: Add support for PMP8074 commit
rk808: Add Rockchip rk817 battery charger support commit
rt5120: Add Richtek PMIC support commit
11.20. Inter-Integrated Circuit (I2C + I3C)
cadence: Add standard bus recovery support commit
microchip: pci1xxxx: Add driver for I2C host controller in multifunction endpoint of pci1xxxx switch commit
mlxbf: add multi slave functionality commit
mlxbf: support BlueField-3 SoC commit
mlxbf: support lock mechanism commit
rk3x: Add rv1126 support commit
11.21. Hardware monitoring (hwmon)
Add max31760 fan speed controller driver commit
aquacomputer_d5next: Add support for Aquacomputer High Flow Next commit
aquacomputer_d5next: Add support for reading virtual temp sensors commit
corsair-psu: Add USB id of the new HX1500i psu commit
corsair-psu: add USB id of new revision of the HX1000i psu commit
corsair-psu: add reporting of rail mode via debugfs commit
emc2305: add support for EMC2301/2/3/5 RPM-based PWM Fan Speed Controller commit
max31790: add fanN_enable commit
- mr75203
pmbus: Add driver for the TEXAS TPS546D24 Buck Converter commit
asus_wmi_ec_sensors: remove driver commit
11.22. General Purpose I/O (gpio)
gpio-f7188x: Add GPIO support for Nuvoton NCT6116 commit
imx-scu: add imx-scu GPIO driver commit
pca953x: Add support for PCAL6534 commit
pca953x: introduce support for nxp,pcal6408 commit
gpio-adp5588: drop the driver commit
11.23. Leds
simatic-ipc-leds-gpio: add new model 227G commit
11.24. DMA engines
hisilicon: Add support for hisi dma driver commit, commit, commit, commit, commit, commit, commit
Enable a few DSA 2.0 features commit, commit, commit, commit, commit
qcom: gpi: Add SM6350 support commit
STM32 DMA-MDMA chaining feature commit, commit, commit, commit, commit, commit
ti: k3-psil: add additional TX threads for j7200 commit
ti: k3-psil: add additional TX threads for j721e commit
11.25. Cryptography hardware acceleration
Add Aspeed crypto driver for hardware acceleration commit, commit
hisilicon: support get device information from registers commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
11.26. PCI
qcom: Add support for SA8540P commit
qcom: Add support for SC8280XP commit
aardvark: Add support for PCI Bridge Subsystem Vendor ID on emulated bridge commit
imx6: Add i.MX8MP PCIe support commit
qcom-ep: Add support for SM8450 SoC commit
11.27. Thunderbolt
Add support for Intel Meteor Lake commit
Add support for receiver lane margining commit, commit, commit, commit
Add support for ASMedia NVM image format commit, commit, commit, commit, commit, commit
net: Enable full end-to-end flow control commit, commit, commit, commit, commit
11.28. Clock
Renesas versaclock7 ccf device driver commit
bcm: rpi: Add support HEVC clock commit
bcm: rpi: Add support for VEC clock commit
mediatek: Add MediaTek Helio X10 MT6795 clock drivers commit
mediatek: add driver for MT8365 SoC commit
microchip: add PolarFire SoC fabric clock support commit
microchip: mpfs: add reset controller commit
- qcom
Add SC8280XP GPU clock controller commit
Add display clock controller driver for SM6115 commit
Add global clock controller driver for SM6375 commit
Add SM8450 Display clock controller support commit, commit, commit
apss-ipq-pll: add support for IPQ8074 commit
Add clocks for MSM8909 commit, commit, commit, commit, commit, commit
smd: Add SM6375 clocks commit
rockchip: Add clock controller support for RV1126 SoC commit
sprd: Add clocks support for UMS512 commit
vc5: Add support for IDT/Renesas VersaClock 5P49V6975 commit
11.29. PHY ("physical layer" framework)
Add RGMII support on lan966x commit
lan966x: add support for QUSGMII commit
rockchip: Support PCIe v3 commit
rockchip: add support for the rk356x variant to rockchip-inno-csidphy commit
rockchip: inno-dsidphy: Add support for rk3568 commit
ti: gmii-sel: Add support for CPSW5G GMII SEL in J7200 commit
ti: phy-j721e-wiz.c: Add usxgmii support in wiz driver commit
usb: Add USB2.0 phy driver for Sunplus SP7021 commit
11.30. EDAC (Error Detection And Correction)
ie31200: Add Skylake-S support commit
i10nm: Add driver decoder for Ice Lake and Tremont CPUs commit
sb_edac: Add row column translation for Broadwell commit
skx_common: Add ChipSelect ADXL component commit
11.31. Various
counter: Add support for Counter array components commit, commit, commit, commit, commit
extcon: usbc-tusb320: Add USB TYPE-C support commit
firmware/psci: Add debugfs support to ease debugging commit
firmware: xilinx: add support for sd/gem config commit
fpga: dfl-pci: Add IDs for Intel N6000, N6001 and C6100 cards commit
- habanalabs
hwtracing: hisi_ptt: Add trace and tune function support for HiSilicon PCIe Tune and Trace device commit, commit
irqchip: Add IMX MU MSI controller driver commit
mei: debugfs: add pxp mode to devstate in debugfs commit
memory: brcmstb_memc: Add Broadcom STB memory controller driver commit
memory: mtk-smi: mt8188: Add SMI Support commit
misc: microchip: pci1xxxx: load auxiliary bus driver for the PIO function in the multi-function endpoint of pci1xxxx device commit
parport: add support for Netmos device 9900 commit
pcmcia: remove AT91RM9200 Compact Flash driver commit
pcmcia: remove VR41XX PCMCIA driver commit
regmap: Support accelerated noinc operations commit
regmap: mmio: Support accelerared noinc operations commit
remoteproc: Introduce rproc features commit
remoteproc: Support attach recovery after rproc crash commit
reset: add polarfire soc reset support commit
speakup-dummy: Add support for PUNCT variable commit
speakup_soft: Add direct module parameter commit
vDPA: allow userspace to query features of a vDPA device commit
watchdog: Add tracing events for the most usual watchdog events commit
iio: Add new event type gesture and use direction for single and double tap commit
iio: core: Introduce _zeropoint for differential channels commit
12. List of Pull Requests
13. Other news sites
LWN merge window part 1, part 2, development statistics
Phoronix's feature overview