29544
Comment:
|
1055
Linux 5.12 released
|
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!''' * 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)] * 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)] * 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)] * make /proc/mounts pollable [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=5addc5dd8836aa061f6efc4a0d9ba6323726297a (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 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)] * Add LSM hooks for key management facilities (see link) [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=29db9190634067c5a328ee5fcc2890251b836b4b (commit)] * RCU torture-testing kernel module: This adds a tristate CONFIG_RCU_TORTURE_TEST, which enables an intense torture test of the RCU infratructure. This is needed for testing due to the continued changes to the RCU infrastructure [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a241ec65aeac3d69a08a7b153cccbdb7ea35063f (commit)] * Driver Core: add the ability for class_device structures to be nested: Allows struct class_device to be nested, so that another struct class_device can be the parent of a new one, instead of only having the struct class be the parent [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=51d172d5f3a193e4b8f76179b2e55d7a36b94117 (commit)] * Add vmalloc_node(size, node) (allocate necessary memory on the specified node) and get_vm_area_node(size, flags, node) [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=930fc45a49ddebe7555cc5c837d82b9c27e65ff4 (commit)] * 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)] * Add sysfs support for ide tape [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=d5dee80ad69439ad8dccf8fa4d7fed0068aec9cf (commit)] * Add "revision" support for having multiple revisions for each match/target in arp_tables and ip6_tables [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=6b7d31fcdda5938e5d3f1f8b0922cc25aa200dfc (commit)] * Support for the Artemis and ATIK astronomical based USB CCD cameras [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=c9c7746dd333c12f482af2f1e63ea7eafc7cd529 (commit)] * USB: delete the bluetty driver [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a6c82600d4058346ea6fd801bc21d7abcc1350d8 (commit)] * Nokia 7600/6230(i)/6170/66x0 DKU2 USB driver [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=50260b69bbec383058875de26dbde28b1a6f8d00 (commit)] * Nvidia Geforce 7800 series (7800, 7800 GTX, 7800 GO and 7800 GTX GO cards) framebuffer support [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=7015faa7df829876a0f931cd18aa6d7c24a1b581 (commit)], 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://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=394b701ce4fbfde919a9bcbf84cb4820a7c6d47c (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)] * 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)] * 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)] ===== 2.6.14 ===== * Released October 27, 2005 [http://kernel.org/pub/linux/kernel/v2.6/ChangeLog-2.6.14 changelog] * Numa-aware slab allocator: It creates slabs on multiple nodes and manages slabs in such a way that locality of allocations is optimized. Each node has its own list of partial, free and full slabs. All object allocations for a node occur from node specific slab lists [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e498be7dafd72fd68848c1eef1575aa7c5d658df (commit - benchmarks)] * Lazy page table copies in fork() for VMAs without anonymous pages (the ones with anonymous pages are still copied): Defer copying of ptes until fault time when it is possible to reconstruct the pte from backing store, speeding up fork() greatly specially for processes using lots of shared memory [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=d992895ba2b27cf5adf1ba0ad6d27662adc54c5e (commit)] * Add /proc/$PID/smaps: This file will shows how much memory is resident in each mapping. Useful for people who want to perform memory consumption analysis [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e070ad49f31155d872d8e96cab2142840993e3c0 (commit)] * Add /proc/$PID/numa_maps: This file will show on which nodes pages reside [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=6e21c8f145f5052c1c2fb4a4b41bee01c848159b (commit)] * Lock-free file descriptor look-up [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=ab2af1f5005069321c5d130f09cce577b03f43ef (commit)] - [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b835996f628eadb55c5fb222ba46fe9395bf73c7 (commit)] * Four-level page table support for the ppc64 architecture: extends the usable user address range to 44 bits (16T). [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e28f7faf05159f1cfd564596f5e6178edba6bd49 (commit)] * Support hotplug cpu on 32-bit SMP powermacs: When a cpu is off-lined, it is put into sleep mode with interrupts disabled. It can be on-lined again by asserting its soft-reset pin, which is connected to a GPIO pin [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=31139971b3dc9fbb2e8a8572fb81e6e8470f363a (commit)] * Add TASK_NONINTERACTIVE task state bit to the cpu scheduler: It can be used by blocking points to mark the task's wait as "non-interactive". This does not mean the task will be considered a CPU-hog - the wait will simply not have an effect on the waiting task's priority - positive or negative alike [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=d79fc0fc6645b0cf5cd980da76942ca6d6300fa4 (commit)] * [http://www.ietf.org/rfc/rfc2637.txt PPTP] (Point-to-Point Tunneling Protocol) conntrack support and NAT helper added to allow proper management of multiple NAT'd PPTP connections. PPTP, a Microsoft-designed protocol, is used in many places to provide VPN access due to the native support in Microsoft Windows. [http://en.wikipedia.org/wiki/PPTP Wikipedia article] [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=926b50f92a30090da2c1a8675de954c2d9b09732 (commit)] * DCCP: "Datagram Congestion Control Protocol". Datagram protocol (like UDP), but with a congestion control mechanism. [http://lwn.net/Articles/149756/ (LWN article)] Currently a [http://www.icir.org/kohler/dcp/draft-ietf-dccp-spec-11.txt RFC draft] [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=7c657876b63cb1d8a2ec06f8fc6c37bb8412e66c (commit)] * Implement SKB fast cloning: Protocols that make extensive use of SKB cloning, for example TCP, eat at least 2 allocations per packet sent as a result. To cut the kmalloc() count in half, we implement a pre-allocation scheme wherein we allocate 2 sk_buff objects in advance, then use a simple reference count to free up the memory at the correct time [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=d179cd12928443f3ec29cfbc3567439644bd0afc (commit)] * Add netlink connector: userspace <-> kernel space easy to use communication module which implements easy to use bidirectional message bus using netlink as its backend [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=7672d0b54411371e0b6a831c1cb2f0ce615de6dc (commit)], also a "async connector mode" [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=acd042bb2de50d4e6fb969281a00cc8b8b71e46d (commit)] * IPV6: Support several new sockopt / ancillary data in Advanced API (RFC3542): IPV6_RECVPKTINFO, IPV6_PKTINFO, IPV6_RECVHOPOPTS, IPV6_HOPOPTS, IPV6_RECVDSTOPTS, IPV6_DSTOPTS, IPV6_RTHDRDSTOPTS, IPV6_RECVRTHDR, IPV6_RTHDR, IPV6_RECVHOPOPTS, IPV6_HOPOPTS, IPV6_{RECV,}TCLASS [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=333fad5364d6b457c8d837f7d05802d2aaf8a961 (commit)] - [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=41a1f8ea4fbfcdc4232f023732584aae2220de31 (commit)] * [http://fuse.sourceforge.net/ FUSE]: Allows to implement a fully functional filesystem in a userspace program [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=d8a5ba45457e4a22aa39c939121efd7bb6c76672 (commit)] * [http://v9fs.sourceforge.net/ 9P support]: Linux port of the [http://www.cs.bell-labs.com/sys/doc/9.html Plan9]'s [http://plan9.bell-labs.com/sys/man/5/INDEX.html 9P protocol] [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=93fa58cb831337fdf5d36b3b913441100a484dae (commit)] * [http://relayfs.sourceforge.net/ RelayFS]: Relayfs is just a bunch of per-cpu kernel buffers that can be efficiently written into from kernel code. These buffers are represented as files which can be mmap'ed and directly read from in user space. The purpose of this setup is to provide the simplest possible mechanism allowing potentially large amounts of data to be logged in the kernel and 'relayed' to user space." [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e82894f84dbba130ab46c97748c03647f8204f92 (commit)] * securityfs filesystem [http://lwn.net/Articles/153366/ (LWN article)] [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b67dbf9d4c1987c370fd18fdc4cf9d8aaea604c2 (commit)] * Suspend support for CIFS filesystem [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=ede1327ea4ca8019ec6df24b3e837def091c26b8 (commit)] * Enable atomic inode security labeling on ext3 and ext2: it enables atomic security labeling of newly created inodes by altering the fs code to invoke a new LSM hook to obtain the security attribute to apply to a newly created inode and to set up the incore inode security state during the inode creation transaction. This parallels the existing processing for setting ACLs on newly created inodes [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=5e41ff9e0650f327a6c819841fa412da95d57319 (commit)] - [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=10f47e6a1b8b276323b652053945c87a63a5812d (commit)] - [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=ac50960afa31877493add6d941d8402fa879c452 (commit)] * SELinux memory improvements: Reduce access rules memory usage by 20x [http://www.livejournal.com/users/james_morris/6197.html James Morris explanation] [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=782ebb992ec20b5afdd5786ee8c2f1b58b631f24 (commit)] * NTFS: Support journals ($Logfile) which have been modified by chkdsk. This means users can boot into Windows after we marked the volume dirty. The Windows boot will run chkdsk and then reboot. The user can then immediately boot into Linux rather than having to do a full Windows boot first before rebooting into Linux [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e7a1033b946f4f2622f2b338ab107f559aad542c (commit)] * SAS transport class [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=c7ebbbce366c02e5657ac6b6059933fe0353b175 (commit)] * Remove ACPI S4 BIOS support [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b01d8684e9e5b04270970c97df856d47668267e3 (commit)] * [http://ipw2100.sourceforge.net/ ipw2100] and [http://ipw2200.sourceforge.net/ ipw2200] wireless drivers (intel centrino) [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=2c86c275015c880e810830304a3a4ab94803b38b (commit)] - [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=43f66a6ce8da299344cf1bc2ac2311889cc88555 (commit)] * [http://hostap.epitest.fi/ HostAP]: Adds support to work as "Wireless Access Point" [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=ff1d2767d5a43c85f944e86a45284b721f66196c (commit)] * [http://www.hpl.hp.com/personal/Jean_Tourrilhes/Linux/Linux.Wireless.Extensions.html Wireless extensions] API update to version 19 [http://marc.theaimsgroup.com/?l=linux-netdev&m=112568599006559&w=2 (mail)] [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=6582c164f2b3b6e58d1f13c1c031b19ee691eb14 (commit)] * ISA DMA suspend for x86/x86-64 [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=795312e763569ce4df67e7a0ca726a9901358fa2 (commit)] - [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=7dc24db1757f950f8bd21b7191106d4bf5134be7 (commit)] * PCI: Support PCI PM CAP version 3 [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=3fe9d19f9e86a55679f5f2b38ec0a43a1a510cee (commit)] * Keys: Add possessor permissions to keys. It adds extra permission grants to keys for the possessor of a key in addition to the owner, group and other permissions bits. This makes SUID binaries easier to support without going as far as labelling keys and key targets using the LSM facilities [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=664cceb0093b755739e56572b836a99104ee8a75 (commit)] * Driver for the IBM Hard Drive Active Protection System (HDAPS), an accelerometer found in most modern Thinkpads [http://lwn.net/Articles/155440/ (LWN article)] [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=860e1d6b46bd4cbc67d8d065f0f682143513382f (commit)] * Add Apple USB touchpad driver for the USB touchpad which can be found on post-February 2005 Apple Powerbooks [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=f7214ff4e8248513ec626212b2c1a3ca0b2a0888 (commit)] * Spinlock consolidation [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=fb1c8f93d869b34cacb8b8932e2b83d96a19d720 (commit)] * Largefile support for accounting: The accounting subsystem in the kernel can not correctly handle files larger than 2GB. This fixes it by adding the O_LARGEFILE flag [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=6c9c0b52b8c6b68b05bb06efd7079a8fc5e9ba60 (commit)] * Detect soft lockups, new debug feature (CONFIG_DETECT_SOFTLOCKUP). When enabled then per-CPU watchdog threads are started, which try to run once per second. If they get delayed for more than 10 seconds then a callback from the timer interrupt detects this condition and prints out a warning message and a stack dump [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=8446f1d391f3d27e6bf9c43d4cbcdac0ca720417 (commit)] * Add kzalloc(): new function, it allows to obtain pre-zeroed memory [http://lwn.net/Articles/147014/ (LWN article)] [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=dd3927105b6f65afb7dac17682172cdfb86d3f00 (commit)] * Add schedule_timeout_{,un}interruptible() [http://lwn.net/Articles/149019 (LWN article)] [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=64ed93a268bc18fa6f72f61420d0e0022c5e38d1 (commit)] TODO: * Import relevant data from [http://kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.14-rc5/2.6.14-rc5-mm1/broken-out/post-halloween-doc.patch davej's post halloween document] or remaining stuff from [http://kernelnewbies.org/status/latest.html Kernelnewbies status] * Find links to corresponding changesets (!!) * Keep track of what gets changed |
<<Include(Linux_5.12)>> |
Changes done in each Linux kernel release. Other places to get news about the Linux kernel are LWN kernel status or the Linux Kernel mailing list (there is a web interface in www.lkml.org or lore.kernel.org/lkml). The lore.kernel.org/lkml/ archive is also available via NTTP if you prefer to use a newsreader: use nntp://nntp.lore.kernel.org/org.kernel.vger.linux-kernel for that. List of changes of older releases can be found at LinuxVersions. If you're going to add something here look first at LinuxChangesRules!
You can discuss the latest Linux kernel changes on the New Linux Kernel Features Forum.
Linux 5.12 has been released on Sun, 25 Apr 2021.
Summary: This release allows to map an UID to a different one in a mount; it also adds support for selecting the preemption model at runtime; support for a low-overhead memory error detector designed to be used in production; support for the ACRN hypervisor designed for embedded systems; Btrfs initial support for zoned devices, subpage blocks sizes and performance improvements; support for eager NFS writes; support for a Thermal Power Management to control the surface temperature of embedded devices in an unified way; the NAPI polling can be moved to a kernel thread; and support for non-blocking path lookups. As always, there are many other features, new drivers, improvements and fixes.
Also see the LWN release
Contents
-
Prominent features
- ID mapping in mounts
- Allow selecting preempting model at boot and run time
- KFENCE memory error detector
- Support for the ACRN hypervisor
- Btrfs initial support for zoned devices and subpage block size
- Eager NFS writes
- Non-blocking path lookup while opening a file
- Kernel thread-based NAPI polling
- Dynamic Thermal Power Management
- Core (various)
- File systems
- Memory management
- Block layer
- Tracing, perf and BPF
- Virtualization
- Cryptography
- Security
- Networking
- Architectures
-
Drivers
- Graphics
- Power Management
- Storage
- Drivers in the Staging area
- Networking
- Audio
- Tablets, touch screens, keyboards, mouses
- TV tuners, webcams, video capturers
- Universal Serial Bus
- Serial Peripheral Interface (SPI)
- Watchdog
- Serial
- CPU Frequency scaling
- Device Voltage and Frequency Scaling
- Voltage, current regulators, power capping, power supply
- Real Time Clock (RTC)
- Pin Controllers (pinctrl)
- Multi Media Card (MMC)
- Memory Technology Devices (MTD)
- Industrial I/O (iio)
- Multi Function Devices (MFD)
- Pulse-Width Modulation (PWM)
- Inter-Integrated Circuit (I2C + I3C)
- Hardware monitoring (hwmon)
- General Purpose I/O (gpio)
- Leds
- DMA engines
- Cryptography hardware acceleration
- PCI
- Non-Transparent Bridge (NTB)
- Thunderbolt
- Clock
- PHY ("physical layer" framework)
- CXL (Compute Express Link)
- Various
- List of Pull Requests
- Other news sites
1. Prominent features
1.1. ID mapping in mounts
This release adds a new system call, mount_setattr(2), which allows to map the permission IDs of one mount to a completely different one. Simply put, different mounts can expose the same file or directory with different ownership. This solves a wide range of use cases that weren't possible before:
- Allow users to efficiently changing ownership on a per-mount basis without having to (recursively) chown(2) all files. In contrast to chown (2) changing ownership of large sets of files is instantenous with idmapped mounts. This is especially useful when ownership of a whole root filesystem of a virtual machine or container is changed. With idmapped mounts a single syscall mount_setattr(2) syscall will be sufficient to change the ownership of all files.
- It is now possible to share files from the host with unprivileged containers without having to change ownership permanently through chown(2).
- It is possible to idmap a container's rootfs and without having to mangle every file. For example, Chromebooks use it to share the user's Download folder with their unprivileged containers in their Linux subsystem.
- It is possible to share files between containers with non-overlapping idmapping
- It is possible to easily share files between multiple users or multiple machines especially in complex scenarios. For example, idmapped mounts will be used in the implementation of portable home directories in systemd-homed.service(8) where they allow users to move their home directory to an external storage device and use it on multiple computers where they are assigned different uids and gids. This effectively makes it possible to assign random uids and gids at login time.
- Filesystem that lack a proper concept of ownership such as fat can use idmapped mounts to implement discretionary access (DAC) permission checking.
- Idmapped mounts always take the current ownership into account as idmappings specify what a given uid or gid is supposed to be mapped to. This contrasts with the chown(2) syscall which cannot by itself take the current ownership of the files it changes into account.
Recommended LWN article: ID mapping for mounted filesystems
1.2. Allow selecting preempting model at boot and run time
Linux supports different preemption models. Currently, using one preempt model (none/voluntary/model) is a build-time configuration option. This release adds the preempt=none/voluntary/full boot options (default: full), to allow distributions to build a PREEMPT kernel but fall back to close to PREEMPT_VOLUNTARY (or PREEMPT_NONE) runtime scheduling behavior via a boot-time selection. There's also the /debug/sched_debug switch to do this runtime. This feature is implemented via runtime patching (a new variant of static calls).
1.3. KFENCE memory error detector
Kernel Electric-Fence (KFENCE) is a new low-overhead sampling-based memory safety error detector. It detects heap out-of-bounds access, use-after-free, and invalid-free errors.
Linux already has a memory error detector, KASAN. KFENCE is not as thorough as KASAN, but unlike KASAN it has near zero performance overhead - it trades performance for precision. Because of the low overhead, it is designed to be enabled and used in production kernels.
Documentation: Kernel Electric-Fence (KFENCE)
1.4. Support for the ACRN hypervisor
This release adds support for the ACRN hypervisor. ACRN is a Type 1 reference hypervisor stack, running directly on the bare-metal hardware, and is suitable for a variety of IoT and embedded device solutions. It implements a hybrid VMM architecture, using a privileged Service VM. The Service VM manages the system resources (CPU, memory, etc.) and I/O devices of User VMs. Multiple User VMs are supported, with each of them running Linux, Android OS or Windows. Both Service VM and User VMs are guest VM.
Documentation: ACRN documentation
1.5. Btrfs initial support for zoned devices and subpage block size
This release adds initial support for Btrfs in zoned devices, which are storage devices divided in zones that can only be written sequentially.
This release also adds support for block sizes smaller than the size of a memory page, which is a requirement sharing file systems between machines with different page sizes.
There are also several many performance improvements.
Recommended LWN article: Btrfs on zoned block devices
1.6. Eager NFS writes
This release adds support for eager writes: When enabled, writes will be sent immediately to the server, instead of letting the kernel send asynchronously in the background. This can help in some cases, like for example ensuring that a NFS client sees ENOSPC errors immediately.
A set of mount options for NFS file systems is added to control how write() system calls react. writes=lazy is the default, and keeps the current behaviour. writes=eager means we send off the write immediately as an unstable write to the server. writes=wait means we send off the write as an unstable write, and then wait for the reply.
1.7. Non-blocking path lookup while opening a file
This release supports path name lookups that will not block under any circumstance. This means that the kernel will try to resolve the path with the cached data, but if it needs to do I/O, it will return an error. This is needed for io_uring(), but support in openat2() with the RESOLVE_CACHED flag has been added, too.
Recommended LWN article: Avoiding blocking file-name lookups
1.8. Kernel thread-based NAPI polling
NAPI is a networking feature that polls the network device instead of waiting for IRQs, because it benefits performance in high-throughput loads. That polling, however, runs in softirq context, where the task scheduler can't see it, and it makes hard to tune the system for maximum performance.
In this release, the polling can be configured to be done by a kernel thread. These kernel threads are managed by the task scheduler, which can make better scheduling decisions, and because they are visible by userspace administrators can pin a kernel threads to specific CPUs.
Recommended LWN article: NAPI polling in kernel threads
1.9. Dynamic Thermal Power Management
The density of components greatly increased the last decade bringing a numerous number of heating sources which are monitored by more than 20 sensors on recent SoC. The skin temperature, which is the case temperature of the device, must stay below approximately 45°C in order to comply with the legal requirements.
The skin temperature is managed as a whole by an user space daemon, which is catching the current application profile, to allocate a power budget to the different components where the resulting heating effect will comply with the skin temperature constraint. This technique is called the Dynamic Thermal Power Management.
This series provides a Dynamic Thermal Power Management framework to provide an unified way to act on the power of the devices.
Documentation: Dynamic Thermal Power Management framework
2. Core (various)
(FEATURED) idmapped mounts commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, 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) openat(): Support non-blocking open with LOOKUP_CACHED / RESOLVE_CACHED flags commit, commit, commit, commit
(FEATURED) Allow selecting preemption flavour on boot commit, commit, commit, commit, commit, commit, commit
Enable fw_devlink=on by default (create device links between consumer and supplier devices by scanning the firmware to infer the consumer/supplier relationships). It cuts down deferred probes commit, commit, commit, commit, commit, commit, commit
fs-verity: Add an ioctl FS_IOC_READ_VERITY_METADATA which allows reading verity metadata from a file that has fs-verity enabled, including the merkle tree, the fsverity_descriptor, and the built-in signature. This is useful when a file with fs-verity enabled needs to be served somewhere, and the other end wants to do its own fs-verity compatible verification of the file. There is interest in using this ability in Android to export APK files (which are protected by fs-verity) to "protected VMs" commit, commit, commit, commit, commit, commit
- io_uring
Request recycling and task_work optimizations, which net anywhere from 10-20% of speedups on workloads that mostly are inline commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Enable non-blocking path resolution for filename lookups commit
Support for skip entries in file registration commit
Flag new native workers with IORING_FEAT_NATIVE_WORKERS commit
Converts the io-wq workers to be forked off the tasks in question instead of being kernel threads that assume various bits of the original task identity merge
- Locking
- Task scheduler
vt: drop old FONT ioctls commit
- Build
Add support for LTO in Clang commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
kunit: support running subsets of test suites from kunit.py commit, commit, commit
Make the kcmp syscall available independently of checkpoint/restore. commit
Add support for never printing hashed addresses commit, commit, commit
3. File systems
- Btrfs
(FEATURED) Support subpage block size (currently read-only support) commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
(FEATURED) Zoned mode, first working version but with limitations commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Do not block on deleted block group mutex in the cleaner, avoids some long stalls. Also less lock contention related to running delayed refs, let just one thread do the flushing when there are many inside transaction commit commit, commit, commit, commit, commit, commit, commit, commit
Improve Preemptive background flushing: separate the logic from ticket reservations, improve the accounting and decisions when to flush in low space conditions commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
dbench workload improvements: avoid unnecessary work when logging inodes, fewer fallbacks to transaction commit and thus less waiting for it (+7% throughput, -20% latency) commit, commit, commit, commit, commit, commit, commit
- XFS
Speed up file fsyncs by reducing iolock cycling commit, commit
Increase the default parallelism levels of pwork clients. On fast systems this will speed up quotacheck by a large factor commit
Allow sysadmins to tweak the CPU affinities and maximum concurrency levels of quotacheck and background blockgc worker pools commit
Expose inobtcount in xfs geometry commit
- F2FS
- NFS
(FEATURED) Add mount options supporting eager writes writes=lazy/eager/wait. The mount option basically controls how the write() system call works. writes=lazy is the default, and keeps the current behaviour. writes=eager means we send off the write immediately as an unstable write to the server. writes=wait means we send off the write as an unstable write, and then wait for the reply commit, commit, commit
Support the -owrite option in /proc/self/mounts and mountinfo commit
Report per-export stats commit
Remove unused stats counters commit
- CIFS
- GFS2
- exFAT
Improve performance of exfat_free_cluster when using dirsync mount option commit
- RAMFS:
Support O_TMPFILE commit
- Ceph
Remove osdtimeout option entirely commit
4. Memory management
(FEATURED) Add KFENCE: A low-overhead sampling-based memory safety error detector commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
inotify: account inotify instances to kmemcg commit
- KASAN
Make the HW_TAGS mode more efficient. With this change, the overhead of HW_TAGS annotations excluding setting and checking memory tags is ~3%. As a side-effect, this patchset speeds up generic KASAN by ~15% commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
stackdepot: Add support to configure STACK_HASH_SIZE commit, commit
Overhaul multi-page lookups for future THP commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Count CMA pages per zone and print them in /proc/zoneinfo commit
memcg: add swapcache stat for memcg v2 commit
dma-buf: Add debug option commit
5. Block layer
block/keyslot-manager: Introduce passthrough keyslot manager commit
block/keyslot-manager: Introduce functions for device mapper support commit
blk-mq: Improve performance of non-mq IO schedulers with multiple HW queues commit
block, bfq: replace mechanism for evaluating I/O intensity commit
block: introduce zone_write_granularity limit commit
block: Add n64 cart driver commit
virtio-blk: support per-device queue depth commit
block: remove skd driver commit
dm integrity: introduce the "fix_hmac" argument commit
dm crypt: support using trusted keys commit
dm: add support for passing through inline crypto support commit
dm: support key eviction from keyslot managers of underlying devices commit
dm: set DM_TARGET_PASSES_CRYPTO feature for some targets commit
6. Tracing, perf and BPF
- BPF
Add atomic operations to the eBPF instruction set commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
New approach for BPF MTU handling commit, commit, commit, commit, commit, commit, commit
Misc improvements commit, commit, commit, commit, commit, commit, commit, commit, commit
Allow the BPF ringbuffer to be used in sleepable programs (tracing and lsm) commit, commit
Allow rewriting to ports under ip_unprivileged_port_start commit
Allow to retrieve sol_socket opts from sock_addr progs commit
Allow variable-offset stack access commit, commit, commit, commit
Expose bpf_{g,s}etsockopt to more bpf_sock_addr hooks commit, commit, commit, commit
Expose bpf_get_socket_cookie to tracing programs commit
Misc performance improvements for cgroup hooks commit, commit, commit
Support kernel module ksym variables commit, commit, commit, commit, commit, commit, commit
Add support of pointer to struct in global functions commit, commit, commit, commit
- Perf
New 'perf daemon' command to run long running sessions while providing a way to control the enablement of events without restarting a traditional 'perf record' session commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
perf auxtrace: Automatically group aux-output events commit
perf build: Support build BPF skeletons with perf commit
perf buildid-cache: Add --debuginfod option to specify a server to fetch debug files commit
Add the page size in the perf record (user tools) commit, commit, commit, commit, commit, commit
perf record: Add --buildid-mmap option to enable PERF_RECORD_MMAP2's build id commit
perf script: Support DSO filter like in other perf tools commit
perf script: Support filtering by hex address commit
perf stat: Add Topdown metrics events as default events commit
perf tools: Allow to enable/disable events via control pipe commit, commit, commit, commit
perf tools: Add support to display build ids when available in PERF_RECORD_MMAP2 events commit
tracing: Add the latency-collector to tools directory. It is intended to work around the fact that the preemptoff, irqsoff, and preemptirqsoff tracers only work in overwrite mode. The idea is to act randomly in such a way that we do not systematically lose any latencies, so that if enough testing is done, all latencies will be captured. If the same burst of latencies is repeated, then sooner or later we will have captured all the latencies commit
Remove oprofile and dcookies commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
7. Virtualization
KVM: Allow parallel MMU operations with TDP MMU commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
- UM
Introduce vdpa management tool commit, commit, commit, commit, commit, commit
virtio-input: add multi-touch support commit
(FEATURED) HSM driver for ACRN hypervisor commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
xen: add per-xenbus device event statistics and settings commit
hv: vmbus: Add /sys/bus/vmbus/hibernation commit
8. Cryptography
blake2b: sync with blake2s implementation commit
rmd128: remove RIPE-MD 128 hash algorithm commit
rmd256: remove RIPE-MD 256 hash algorithm commit
rmd320: remove RIPE-MD 320 hash algorithm commit
salsa20: remove Salsa20 stream cipher algorithm commit
tgr192: remove Tiger 128/160/192 hash algorithms commit
9. Security
10. Networking
(FEATURED) Implement kthread based napi poll, moving the napi poll process out of softirq context commit, commit, commit
- IP
Add support for route offload failure notifications via a new flag (RTM_F_OFFLOAD_FAILED) in the RTM_NEWROUTE message. Upon such a notification a routing daemon may decide to withdraw the route from the FIB commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
IPv6: Allow user to set metric on default route learned via Router Advertisement commit
UDP: allow forwarding of plain (non-fraglisted) UDP GRO packets commit, commit
- TCP
- Multi-path TCP
Add genl events for connection info commit, commit, commit, commit, commit, commit, commit
Add MP_PRIO support and rework local address IDs commit, commit, commit, commit, commit, commit, commit, commit
ADD_ADDR enhancements commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Re-enable sndbuf autotune commit, commit, commit, commit, commit
IPv4-mapped IPv6 addressing for subflows commit, commit, commit, commit, commit
Add local addr info in mptcp_info commit
- netfilter: Add table ownership infrastructure, this new infrastructure allows users to bind a table (and its content) to a process through the
- bonding
- bridge
- Wireless
Support disabling HE mode commit
Add Extended MCS Phyrate Conversion Support on 60GHz commit
Add VHT rate entries for MCS-10 and MCS-11 commit
Add rx decapsulation offload support commit
Enable QoS support for nl80211 ctrl port commit
Introduce aql_enable node in debugfs commit
Replace minstrel with minstrel_ht commit, commit, commit, commit, commit, commit, commit, commit, commit
minstrel_ht: show sampling rates in debugfs commit
- dsa
Link aggregation support commit, commit, commit, commit, commit
Extends MRP switchdev to allow the SW to have a better understanding if the HW can implement the MRP functionality commit, commit, commit, commit, commit, commit, commit, commit
Add stats64 support commit
Add HSR offloading support for DSA switches commit, commit, commit, commit
ethtool: Support setting lanes commit, commit, commit, commit, commit, commit, commit, commit
Add support for dissecting PTP L2 packet header commit, commit
hsr: add support for EntryForgetTime commit
Add support for ip generic checksum offload for gre commit, commit
Add notifications when route hardware flags change commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
ipvs: add weighted random twos choice algorithm commit
sched: cls_flower add CT_FLAGS_INVALID flag support commit
Enable TSO on xfrm interfaces commit
Bluetooth: MSFT offloading support for advertisement monitor commit, commit, commit, commit, commit, commit, commit
11. Architectures
11.1. x86
iommu/amd: Add Generic IO Page Table Framework Support. The framework allows callable implementation of IO page table. This allows AMD IOMMU driver to switch between different types of AMD IOMMU page tables (e.g. v1 vs. v2) commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
- perf
core PMU support for Sapphire Rapids commit, commit, commit, commit, commit
intel: Remove Perfmon-v4 counter_freezing support commit
perf core PMU support for Sapphire Rapids (User tools) commit, commit, commit, commit, commit, commit, commit, commit, commit
perf intel-pt: Add PSB events commit, commit, commit, commit
perf intel-pt: Add limited support for tracing guest kernels commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
- platform
chrome: cros_ec_sysfs: Add cold-ap-off to sysfs reboot commit
surface: Add support for Microsoft Surface System Aggregator Module commit, commit, commit, commit, commit, commit, commit, commit, commit
surface: Add Surface Hot-Plug driver commit
surface: Add platform profile driver for Surface devices commit, commit, commit, commit
intel-uncore-freq: Add Sapphire Rapids server support commit
ideapad-laptop: keyboard backlight and "always on USB charging" control support, reenable touchpad control commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Remove driver for deprecated platform: intel_mid_powerbtn commit, intel_mid_powerbtn commit, intel_mid_thermal commit, intel_mid_thermal commit
thinkpad_acpi: Add platform profile support commit, commit, commit
thinkpad_acpi: set keyboard language commit
Retire arch/x86/platform/goldfish commit
- tools/power/x86/intel-speed-select
apb_timer: Remove driver for deprecated platform commit
crypto: aesni: implement support for cts(cbc(aes)) commit
Introducing Linux root partition support for Microsoft Hypervisor commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
- KVM
Convert kvm_x86_ops to use static_call. Shows good performance gains for cpuid loop micro-benchmark commit, commit, commit
Conditional Hyper-V emulation enablement commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Advertise INVPCID by default commit
Add minimal support for Xen HVM guests commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Add new ability named KVM_CAP_X86_BUS_LOCK_EXIT, which is used to handle bus locks detected in guest. It allows the userspace to do custom throttling policies to mitigate the 'noisy neighbour' problem commit, commit, commit, commit
Guest Last Branch Recording Enabling. Last branch recording (LBR) is a performance monitor unit (PMU) feature on Intel processors that records a running trace of the most recent branches taken by the processor in the LBR stack commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Handle #GP for SVM execution instructions commit, commit, commit, commit
Add support for SEV attestation command commit
11.2. ARM
- New device support
- Renesas
- Intel SoCFPGA
eASIC N5X board (N5X) commit
- ST-Ericsson Ux500
Samsung GT-I9070 (Janice) phone (u8500) commit
- TI OMAP
MYIR Tech Limited development board (AM335X) commit
- Allwinner/sunxi
- Broadcom
Netgear R8000P router (BCM4906) commit
- AMLogic
- Qualcomm
Snapdragon 888 / SM8350 high-end phone SoC commit, commit, commit, commit
Snapdragon MTP reference board (SM8350) commit
Snapdragon MTP reference board (SDX55) commit
Sony Kitakami phones: Xperia Z3+/Z4/Z5 (APQ8094) commit
Alcatel Idol 3 phone (MSM8916) commit
ASUS Zenfone 2 Laser phone (MSM8916) commit
BQ Aquaris X5 aka Longcheer L8910 phone (MSM8916) commit
OnePlus6 and OnePlus6T (SDM845) commit
Alfa Network AP120C-AC access point (IPQ4018) commit
mt8183: Add krane-sku0 board commit
Add 8devices Jalapeno commit
- NXP i.MX6 (32-bit)
- NXP i.MX8 (64-bit)
Beacon i.MX8M Nano development kit (imx8mn) commit
Boundary Devices i.MX8MM Nitrogen SBC (imx8mm) commit
Gateworks Venice i.MX 8M Mini Development Kits (imx8mm) commit
phyBOARD-Pollux-i.MX8MP (imx8mp) commit
Purism Librem5 Evergreen phone (imx8mp) commit
Kontron SMARC-sAL28 system-on-module(imx8mp) commit
- Rockchip
- ASpeed
- Zynq
Remove efm32 commit
Remove prima2/atlas platforms commit
Remove tango platform commit
Remove u300 platform commit
Remove zte zx platform commit
- iommu
arm-smmu-qcom: Add Qualcomm SC8180X impl commit
MT8192 IOMMU 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
- crypto
perf: Add support for ARMv8.3-SPE commit
perf arm-spe: Synthesize memory event commit
brcmstb: Add debug UART entry for 72116 commit
- ARM64
Add support for SMCCC TRNG entropy source commit
Early CPU feature override, and applications to VHE, BTI and PAuth commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Tegra186 and Tegra194 audio graph card commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
- perf
Add support for Cortex-A78 commit
Add JSON metrics for imx8mn DDR Perf commit
JSON metrics for imx8mp DDR Perf commit
Add JSON metrics for imx8mq DDR Perf commit
Add common and uarch event JSON commit
Reference common and uarch events for A76 commit
Reference common and uarch events for Ampere eMag commit
coresight: etm4x: Support for system instructions commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
perf arm64: Support SDT commit
- soc
socinfo: Add new systems commit
Broadcom's PMB (Power Management Bus) support commit, commit
mediatek: pm-domains: Add support for mt8167 commit
Add binding and dts for Qualcomm SM8350 SoC commit, commit, commit, commit, commit, commit
qcom: socinfo: Add MDM9607 IDs commit
qcom: socinfo: Add SoC IDs for 630 family commit
qcom: socinfo: Add SoC IDs for APQ/MSM8998 commit
qcom: socinfo: add qrb5165 SoC ID commit
qcom: socinfo: add several PMIC IDs commit
KVM: Upgrade PMU support to ARMv8.4 commit
11.3. RISC-V
Add k/uprobe & fentry & error_injection commit, commit, commit, commit, commit, commit, commit, commit, commit
Add numa support for riscv64 platform commit
kasan: add KASAN_VMALLOC support commit
Add board and SoC DT file support commit, commit, commit, commit, commit, commit
Kendryte K210 support commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Add machine name to kernel boot log and stack dump output commit
Enable per-task stack canaries commit
Add Canaan Kendryte K210 reset controller commit
11.4. POWERPC
perf: Expose Performance Monitor Counter SPR's as part of extended regs commit
perf: Adds support for programming of Thresholding in P10 commit
perf: Support exposing Performance Monitor Counter SPRs as part of extended regs commit
debug: Add debugfs entries for IOMMU tables commit
eeh: Add a debugfs interface to check if a driver supports recovery commit
- KVM
11.5. MIPS
Add N64 machine type commit
Add Realtek RTL838x/RTL839x support as generic MIPS system commit
Support extracting off-line stack traces from user-space with perf commit
Add support for Cisco SG220-26 switch commit
perf: Add support for OCTEON III perf events commit
11.6. CSKY
Add memory layout 2.5G(user):1.5G(kernel) commit
Add kmemleak support commit
Add VDSO support with GENERIC_GETTIMEOFDAY, GENERIC_TIME_VSYSCALL, HAVE_GENERIC_VDSO commit
11.7. S390
cpumf: Add support for complete counter set extraction commit
11.8. PA-RISC
Optimize per-pagetable spinlocks commit
11.9. C6X
c6x: remove architecture commit
12. Drivers
12.1. Graphics
- amdgpu
Enable freesync for A+A configs commit
GPU reset on navy flounder/vangogh commit, commit, commit, commit, commit
Add Freesync HDMI support to DMCU commit
Enable "trigger_hotplug" debugfs on all outputs commit
Enable HUBP blank behaviour commit
Implement T12 compliance commit
Add interface for request WGPs commit
Add support for hwmon control of slow and fast PPT limit on vangogh commit
Add two new sysfs nodes for vangogh commit
Add PCI reset support for several models commit, commit, commit
Add green_sardine device id (v2) commit
Add Missing Sienna Cichlid DID commit
Add new device id for Renior commit
Support ASPM for some specific ASIC commit
- Intel
Enable HDR on MCA LSPCON based Gen9 devices commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Add support for Intel's eDP backlight controls commit, commit, commit, commit, commit, commit, commit, commit, commit
Allow the sysadmin to override security mitigations commit
Gen7 per-engine-reset support commit
HDCP 2.2 and HDCP 1.4 Gen12 DP MST support commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Clear Color Support for TGL Render Decompression commit, commit, commit
VRR/Adaptive Sync enabling on DP/EDP for TGL+ commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Async flips for all ilk+ platforms commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Add support for DP-HDMI2.1 PCON commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Make GEM errors non-fatal by default commit
Show timeline dependencies for debug commit
Spring clean debugfs commit
Show all active timelines for debugging commit
debugfs: Record the plane update times for debugging commit
debugfs: remove the i915_cache_sharing debugfs file commit
- gma500
- ingenic
- mediatek
Add support for SoC MT8183 commit
- msm
- nouveau
- sun4i
Add support for BT2020 to DE3 commit
- tegra
falcon: Support newer VIC firmware commit
- vc4
Add support for the DSI0 controller in the BCM2835 and the DSI1 controller found in the BCM2711 commit, commit, commit, commit, commit, commit, commit
hdmi: Support the 10/12 bit output commit, commit, commit, commit, commit, commit, commit, commit, commit
hdmi: Add CEC support for the BCM2711 commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
- panel
drm: Add DisplayPort connector commit
12.2. Power Management
In modern systems the platform performance, temperature, fan and other hardware related characteristics are often dynamically configurable with one of several 'platform-profiles', with either a bias towards low-power consumption or towards performance (and higher power consumption and thermals). This feature introduces a new platform_profile sysfs API which offers a generic API for selecting the performance-profile of these automatic-mechanisms commit, commit
ACPI: Introduce support for Firmware Performance Data Table (FPDT), which provides information about firmware performance during system boot, S3 suspend and S3 resume in /sys/firmware/acpi/fpdt/ commit
clk: make PM clock layer compatible with clocks that must sleep commit
domains: Add "performance" column to debug summary commit
Better domain idle from device wakeup patterns commit, commit
cpupower: Support AMD Family 0x19 commit, commit, commit, commit, commit, commit, commit, commit
Add required-opps support to devfreq passive gov commit, commit, commit
(FEATURED) dtpm: Add the DTPM (Dynamic Thermal Power Management) framework. It allows to allocate a power budget to the different components where the resulting heating effect will comply with the skin temperature constraint commit, commit, commit, commit
powercap/intel_rapl: add support for AlderLake Mobile commit
thermal: Remove the 'forced_passive' option commit
cpufreq_cooling: Get effective CPU utilization from scheduler: makes the cpufreq_cooling driver reuse the CPU utilization metric provided by the scheduler instead of depending on idle and busy times of a CPU, which aren't that accurate to measure the busyness of a CPU for the next cycle commit, commit, commit
12.3. Storage
- SCSI
ibmvfc: initial MQ development/enablement commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
ibmvfc: MQ preparatory locking work commit, commit, commit, commit, commit
lpfc: Implement health checking when aborting I/O commit
mpt3sas: Add support for shared host tagset for CPU hotplug commit
qla2xxx: Implementation to get and manage host, target stats and initiator port commit
qla2xxx: Add error counters to debugfs node commit
scsi_transport_fc: Add store capability to rport port_state in sysfs commit
ufs: Add "wb_on" sysfs node to control WB on/off commit
ufs: ufs-debugfs: Add error counters commit
hisi_sas: Enable debugfs support by default commit
hisi_sas: Add trace FIFO debugfs support commit
Drop gdth driver commit
nvme: support command retry delay for admin command commit
12.4. Drivers in the Staging area
allegro: move driver out of staging commit
comedi: adl_pci7x3x: Add interrupt handling for PCI-7230 commit
comedi: adv_pci_dio: Add interrupt handling for PCI-1730 commit
qlge: coredump via devlink health reporter commit
qlge: support force_coredump option for devlink health dump commit
rtl8188eu: Add Edimax EW-7811UN V2 to device table commit
staging: media: imx: Kconfig: support VIDEO_IMX7_CSI for imx8m commit
tegra-video: Add support for capturing from HDMI-to-CSI bridge commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
12.5. Networking
- Bluetooth
btqca: Add support to read FW build version for WCN3991 BTSoC commit
btqca: Enable MSFT extension for Qualcomm WCN399x commit
btrtl: Enable MSFT extension for RTL8822CE controller commit
btrtl: Enable central-peripheral role commit
btusb: Add protocol support for MediaTek MT7921U USB devices commit
btusb: Add support for GarfieldPeak controller commit
btusb: Enable MSFT extension for Intel controllers commit
hci_bcm: Add support for ISO packets commit
hci_h5: Add support for binding RTL8723DS with device tree commit
- RDMA/Infiniband
- ath10k
ath11k: add support to configure spatial reuse parameter set commit
axienet: Support dynamic switching between 1000BaseX and SGMII commit
- bcm63xx_enet
bnxt_en: Update firmware interface to 1.10.2.11 commit
- brcmfmac
broadcom: bcm4908enet: add BCM4908 controller driver commit
- can
- dpaa2-eth
- dsa
Add Arrow SpeedChips XRS700x driver commit
Automatically bring up DSA master when opening user port commit
b53: Support setting learning on port commit
bcm_sf2: support BCM4908's integrated switch commit
tag_8021q for Ocelot switches commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
felix: Add support for MRP commit
hellcreek: Add TAPRIO offloading support commit
mt7530: MT7530 optional GPIO support commit
mv88e6xxx: Link aggregation support commit
qca: ar9331: export stats64 commit
sja1105: offload bridge port flags to device commit
tag_ocelot_8021q: add support for PTP timestamping commit
xrs700x: add HSR offloading support commit
mediatek: support setting MTU commit
fsl/fman: Add MII mode support commit
- gtp
- hns3
- i40e
- ice
Implement a new LLDP command that allows adding VSI destinations to existing filters and adds support for netdev bonding event commit, commit
Implement the creation scheduler aggregator nodes and distributing VSIs within the nodes commit
Display some stored NVM versions via devlink info commit
Display stored UNDI firmware version via devlink info commit
Display stored netlist versions via devlink info commit
Introduce function for reading from flash modules commit
- igb
- iwlwifi
Add new cards for So and Qu family commit
Add support for Qu with AX201 device commit
Add support for SnJ with Jf devices commit
Support new scan config FW API commit
Add debugfs entry to trigger a dump as any time-point commit
Add debugfs for phy-integration-ver commit
Handle CCA-EXT delay firmware notification commit
Add AX201 and AX211 radio modules for Ma devices commit
Aadd support for SnJ with Hr1 commit
Add support for So-F devices commit
Implement support for PNVM from BIOS commit
Add support for version 2 of the LARI_CONFIG_CHANGE command commit
mac80211_hwsim: add 6GHz channels commit
mhi: Add MBIM over MHI support commit, commit, commit, commit, commit
mhi: Add raw IP mode support commit
- mlx5/mlx5e
Support 400Gbps IB rate in mlx5 driver commit
Support default partition key for representor port commit
mlx5 real time clock commit, commit, commit, commit, commit, commit
Introduce some refactoring to SW steering to support different formats of different Hardware commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
SW steering for ConnectX-6DX commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Add mlx5 subfunction support commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Enable XDP for Connect-X IPsec capable devices commit
devlink trap support commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Implement support for VF tunneling commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
mlxsw: Support setting lanes via ethtool commit, commit, commit, commit, commit, commit, commit, commit
mscc: ocelot: Configuring congestion watermarks on ocelot switch using devlink-sb commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
mscc: ocelot: offload bridge port flags to device commit
- mt76
mt7915: add implicit Tx beamforming support and enable it trough debugfs commit
mt7915: add support for flash mode commit
mt7915: add support for using a secondary PCIe link for gen1 commit
mt7915: support TxBF for DBDC commit
Introduce mt7921e support commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
mvneta: Implement mqprio support commit
- mvpp2
netdevsim: fib: Add debugfs to debug route offload failure commit
nfc: Add a virtual nci device driver commit
- octeontx2-af
Add Marvell CN10K support commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Add devlink and devlink health reporters commit
Ethtool support for fec and link configuration commit, commit, commit, commit, commit, commit, commit
Support ESP/AH RSS hashing commit
Add RSS multi group support commit
Add flow classification using IP next level protocol commit
pcs: add pcs-lynx 1000BASE-X support commit
- phy
icplus: cleanups and new features commit, commit, commit, commit, commit, commit, commit, commit, commit
Add 100 base-x mode commit
Add 5GBASER interface mode commit
at803x: add support for configuring SmartEEE commit
bcm7xxx: Add an entry for BCM72116 commit
broadcom: Set proper 1000BaseX/SGMII interface mode for BCM54616S commit
phy: introduce phydev->port commit
phy: micrel: Add KS8851 PHY support commit
phylink: Add 5gbase-r support commit
qede: add netpoll and per-queue coalesce support commit, commit, commit
- r8169
rt2800usb: add Sweex LW163V2 id's commit
- rtw88
- sfp
- stmmac
ti: Add switchdev support for AM65 CPSW NUSS driver to support multi port CPSW present on J721e and AM64 SoCs commit, commit, commit, commit
ti: cpsw_ale: add driver data for AM64 CPSW3g commit
- qmi_wwan
wil6210: Add Support for Extended DMG MCS 12.1 commit
Remove aurora nb8800 driver commit
12.6. Audio
Add n64 driver commit
dice: add support for Lexicon I-ONIX FW810s commit
- hda
hdsp: hardware output loopback commit
jack: implement software jack injection via debugfs commit
usb-audio: Add support for Pioneer DJM-750 commit
- ASoC
Intel: KMB: Support IEC958 encoded PCM format commit
Intel: bytcr_wm5102: Add machine driver for BYT/WM5102 commit
SOF: Intel: initial support to AlderLake-P commit
codec: Add driver for JZ4760 internal codec commit
codec: hdmi-codec: Support IEC958 encoded PCM format commit
codecs: adds support for two Codec Macro blocks(TX and RX) available in Qualcomm LPASS (Low Power Audio SubSystem) commit, commit, commit, commit, commit, commit, commit
cpcap: Implement set_tdm_slot for voice call support commit
mediatek: mt8192-mt6359: support audio over DP commit
stm32: i2s: add master clock provider commit
tegra: Add audio graph based card driver commit
txx9: Remove driver commit
Remove sirf prima/atlas drivers commit
Remove zte zx drivers commit
12.7. Tablets, touch screens, keyboards, mouses
Add N64 controller driver commit
elants_i2c: add support for eKTF3624 commit
xpad: add support for PowerA Enhanced Wired Controller for Xbox Series X|S commit
cros-ec-keyb: expose function row physical map to userspace commit
- HID
chicony: Add Wireless Radio Control feature for Chicony devices commit
hid-sensor-custom: Add custom sensor iio support commit
i2c-hid: Add I2C_HID_QUIRK_NO_IRQ_AFTER_RESET for ITE8568 EC on Voyo Winpad A15 commit
i2c-hid: Introduce goodix-i2c-hid using i2c-hid core commit
intel-ish-hid: ipc: Add Tiger Lake H PCI device ID commit
logitech-dj: add support for keyboard events in eQUAD step 4 Gaming commit
logitech-dj: add support for the new lightspeed connection iteration commit
logitech-hidpp: add support for Unified Battery (1004) feature commit
New driver for PS5 'DualSense' controller commit, commit, commit, commit, commit, commit, commit, commit, commit
playstation: add DualSense player LED support commit
playstation: add initial DualSense lightbar support commit
playstation: add microphone mute support for DualSense commit
sony: Add support for tilt on guitar hero guitars commit
uclogic: Improve support for Trust Panora commit
12.8. TV tuners, webcams, video capturers
Turn the existing SMIA driver into a MIPI CCS driver while maintaining SMIA 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
allegro: add HEVC support commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
ov5647: Support RaspberryPi Camera Module commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
em28xx: Add support for Hauppauge USB QuadHD commit
i2c: Add driver for RDACM21 camera module commit
i2c: Add imx334 camera sensor driver commit
i2c: Add support for the OV5648 image sensor commit
i2c: Add support for the OV8865 image sensor commit
ir_toy: add another IR Droid device commit
mxl692: MaxLinear 692 ATSC demod/tuner driver commit
ov5647: Remove 640x480 SBGGR8 mode commit
ov5647: Support VIDIOC_SUBSCRIBE_EVENT commit
ti-vpe: cal: Implement subdev ops for CAMERARX commit
v4l2-async: Add waiting subdevices debugfs commit
v4l2-ctrl: Add control to indicate the priority id to be applied to base layer commit
v4l2-ctrl: Add new controls for QP and layer bitrate commit, commit, commit
Introduce new hfi platform layer commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
venus: add support to dump FW region commit
vidtv: Add media controller support commit
12.9. Universal Serial Bus
Support USB 3.2 multi-lanes commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Introduced new Cadence USBSSP DRD Driver commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
cdns3: Add support for TI's AM64 SoC commit
chipidea: tegra: Support host mode commit
dwc3: add imx8mp dwc3 glue layer driver commit
dwc3: pci: ID for Tiger Lake CPU commit
dwc3: pci: add support for the Intel Alder Lake-P commit
dwc3: qcom: add ACPI device id for sc8180x commit
dwc3: qcom: add URS Host support for sdm845 ACPI boot commit
gadget: u_ether: support configuring interface names commit
host: ehci-tegra: Remove the driver commit
pd: Make SVDM Version configurable in VDM header commit
Add support for USB4 _OSC, a new _OSC method that is used to negotiate OS support for native USB4 features such as PCIe tunneling commit, commit, commit, commit
- serial
- typec
Add individual version numbers for the partner and the cable, and exposes them in the appropriate sysfs in /sys/class/type commit, commit, commit, commit, commit, commit
AMS, Collision Avoidance, and Protocol Error commit, commit, commit
typec: tcpci: Add Callback to Usb Communication capable partner commit, commit, commit
Common SVDM version and VDO from dt commit, commit, commit, commit, commit, commit, commit
ucsi: Determine common SVDM Version commit
usbtmc: Add USBTMC_IOCTL_GET_STB commit and USBTMC_IOCTL_GET_SRQ_STB commit
bdc: Remove the BDC PCI driver commit
12.10. Serial Peripheral Interface (SPI)
cadence-quadspi: Add QSPI controller support for Intel LGM SoC commit, commit, commit, commit, commit
Add SPI_NO_TX/RX support commit
cadence-quadspi: Add DTR support commit
orion: enable support for switching CS every transferred byte commit
pxa2xx: Add IDs for the controllers found on Intel Lynxpoint commit
pxa2xx: Add support for Intel Alder Lake PCH-P commit
realtek-rtl: Add support for Realtek RTL838x/RTL839x SPI controllers commit
support CS timing for HW & SW mode commit
Add Tegra Quad SPI driver commit, commit, commit, commit, commit, commit, commit, commit, commit
Remove sirf prima/atlas driver commit
txx9: Remove driver commit
Drop unused efm32 bus driver commit
12.11. Watchdog
Add watchdog driver for Intel !Keembay Soc commit
intel_scu_watchdog: Remove driver for deprecated platform commit
mt8192: add wdt support commit
remove coh901 driver commit
remove sirf atlas driver commit
remove sirf prima driver commit
remove tango driver commit
remove zte zx driver commit
12.12. Serial
Drop unused efm32 serial driver commit
cpm_uart: Add udbg support for enabling xmon commit
ifx6x60: Remove driver for deprecated platform commit
owl: Add support for kernel debugger commit
remove sirf prima/atlas driver commit
12.13. CPU Frequency scaling
sfi-cpufreq: Remove driver for deprecated firmware commit
qcom-hw: enable boost support commit
Remove tango driver commit
12.14. Device Voltage and Frequency Scaling
12.15. Voltage, current regulators, power capping, power supply
- power
reset: Add poweroff driver for ATC260x PMICs commit
reset: at91-sama5d2_shdwc: add support for sama7g5 commit
reset: remove zte zx driver commit
supply: Add battery gauge driver for Acer Iconia Tab A500 commit
supply: Add ltc4162-l-charger commit
supply: bq256xx: Introduce the BQ256XX charger driver commit
supply: cpcap-battery: Implement capacity reporting commit
- regulator
Really implement Qualcomm LAB/IBB regulators commit, commit, commit, commit, commit
Add regulator driver for ATC260x PMICs commit
Regulator driver for the Mediatek DVFSRC commit
bd9571mwv: Add BD9574MWF support commit
mt6315: Add support for MT6315 regulator commit
pf8x00: Add suspend support commit
qcom-rpmh-regulator: add pm8009-1 chip revision commit
rt4831: Adds support for Richtek RT4831 DSV regulator commit
remove ab3100 driver commit
- thermal:
12.16. Real Time Clock (RTC)
pcf8563: Add NXP PCA8565 compatible commit
remove sirfsoc driver commit
remove ste ab3100 driver commit
remove ste coh901 driver commit
mrst: Remove driver for deprecated platform commit
tx4939: Remove driver commit
12.17. Pin Controllers (pinctrl)
Add RISC-V Canaan Kendryte K210 FPIOA driver commit
at91-pio4: add support for slew-rate commit
ingenic: Improve JZ4760 support commit
qcom: Add SM8350 pinctrl driver commit
qcom: Add sc8180x TLMM driver commit
renesas: Initial R8A779A0 (V3U) PFC support commit
sunxi: Add support for the Allwinner H616 pin controller commit
sunxi: Add support for the Allwinner H616-R pin controller commit
tigerlake: Add Alder Lake-P ACPI ID commit
remove coh901 driver commit
remove sirf atlas/prima drivers commit
remove ste u300 driver commit
remove zte zx driver commit
12.18. Multi Media Card (MMC)
eMMC inline encryption support commit, commit, commit, commit, commit, commit, commit, commit
mmci: Add support for probing bus voltage level translator commit
sdhci-of-aspeed: Add AST2600 bus clock support commit
sdhci_am654: Add Support for TI's AM64 SoC commit
sunxi: add support for A100 mmc controller commit
remove dw_mmc-zx driver commit
remove sirf prima/atlas driver commit
12.19. Memory Technology Devices (MTD)
parsers: Add Qcom SMEM parser commit
rawnand: qcom: Add support for Qcom SMEM parser commit
spi-nor: Add Global Block Unlock command commit
spi-nor: intel-spi: Add support for Intel Alder Lake-P SPI serial flash commit
spi-nor: sst: Add support for Global Unlock on sst26vf commit
rawnand: tango: Remove the driver commit
12.20. Industrial I/O (iio)
Add timestamp channel for hid-sensors commit, commit, commit, commit, commit, commit
accel: kxcjk1013: Add rudimentary regulator support commit
adc: ad7476: Add LTC2314-14 support commit
ms_sensors:ms_sensors_i2c: add support for alternative PROM layout commit
dac: ad5766: add driver support for AD5766 commit
gyro: bmg160: Add rudimentary regulator support commit
hid-sensors: Add hinge sensor driver commit
imu: inv_mpu6050: Add support for MPU-6880 commit
light:apds9960 add detection for MSHW0184 ACPI device in apds9960 driver commit
magnetometer: Add driver for Yamaha YAS530 commit
magnetometer: bmc150: Add rudimentary regulator support commit
pressure:ms5637: add ms5803 support commit
xilinx-xadc: Add basic support for Ultrascale System Monitor commit
12.21. Multi Function Devices (MFD)
Add driver for Embedded Controller found on Acer Iconia Tab A500 commit
arizona: Add support for ACPI enumeration of WM5102 connected over SPI commit
bd9571mwv: Add support for BD9574MWF commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
intel-lpss: Add Intel Alder Lake PCH-P PCI IDs commit
intel-lpss: Add Intel Alder Lake PCH-S PCI IDs commit
intel-m10-bmc: Expose MAC address and count commit
intel_msic: Remove driver for deprecated platform commit
12.22. Pulse-Width Modulation (PWM)
Remove ZTE ZX driver commit
12.23. Inter-Integrated Circuit (I2C + I3C)
Drop unused efm32 bus driver commit
i801: Add support for Intel Alder Lake PCH-P commit
mlxcpld: Add support for I2C bus frequency setting commit
mux: mlxcpld: Extend driver functionality commit, commit, commit, commit, commit, commit
remove sirf bus driver commit
remove u300 bus driver commit
remove zte zx bus driver commit
i3c: master: svc: Add Silvaco I3C master driver commit
12.24. Hardware monitoring (hwmon)
Add AHT10 Temperature and Humidity Sensor Driver commit
Add Texas Instruments TPS23861 driver commit
amd_energy: Add AMD family 19h model 30h x86 match commit
k10temp: Zen3 Ryzen Desktop CPUs support commit
nct6683: Support ASRock boards commit
pmbus/max16601: Add support for MAX16508 commit
pmbus/max31785: Support revision "B" commit
pwm-fan: Support multiple fan tachometers commit
abx500: Decomission abx500 driver commit
12.25. General Purpose I/O (gpio)
bd9571mwv: Add BD9574MWF support commit
gpio-xilinx: Update on xilinx gpio driver commit, commit, commit, commit, commit
intel-mid: Remove driver for deprecated platform commit
mvebu: add pwm support for Armada 8K/7K commit
pca953x: Add support for pca9506 commit
rcar: Add R-Car V3U (R8A779A0) support commit
remove zte zx driver commit
visconti: Add Toshiba Visconti GPIO support commit
msic: Remove driver for deprecated platform commit
12.26. Leds
apu: extend support for PC Engines APU1 with newer firmware commit
lgm: Add LED controller driver for LGM SoC commit
trigger: implement a tty trigger commit
12.27. DMA engines
Add Intel LGM SoC DMA support commit
dw-axi-dmac: support Intel KeemBay AxiDMA commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
idxd: add module parameter to force disable of SVA commit
jz4780: Add support for the JZ4760(B) commit
owl: Add compatible for the Actions Semi S500 DMA controller commit
rcar-dmac: Add support for R-Car V3U commit
remove coh901318 driver commit
remove sirfsoc driver commit
remove zte zx driver commit
ti: k3-udma: Add support for burst_size configuration for mem2mem commit
12.28. Cryptography hardware acceleration
hisilicon: add ZIP device using mode parameter commit
hisilicon/hpre: enable Elliptic curve cryptography commit
Add Keem Bay OCS HCU driver commit, commit, commit, commit, commit
octeontx2: Add Support for Marvell OcteonTX2 CPT engine commit, commit, commit, commit, commit, commit, commit, commit, commit
sun4i-ss: enabled stats via debugfs commit
picoxcell: Remove PicoXcell driver commit
mediatek: remove obsolete driver commit
12.29. PCI
brcmstb: support BCM4908 with external PERST# signal controller commit
layerscape: Add LX2160A rev2 EP mode support commit
microchip: Add Microchip PolarFire PCIe controller driver commit
Remove tango host controller driver commit
12.30. Non-Transparent Bridge (NTB)
Implement NTB Controller using multiple PCI EP commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Add support for EPF PCI Non-Transparent Bridge commit
12.31. Thunderbolt
Add support for PCIe tunneling disabled (SL5) commit
Add support for de-authorizing devices commit
Add support for native USB4 _OSC commit
Allow disabling XDomain protocol commit
12.32. Clock
Add RISC-V Canaan Kendryte K210 clock driver commit
clk-axiclkgen: add ZynqMP PFD and VCO limits commit
imx8mm: add clkout1/2 support commit
imx8mn: add clkout1/2 support commit
imx8mq: add PLL monitor output commit
mstar: MStar/SigmaStar MPLL driver commit
qcom: Add A7 PLL support commit
qcom: Add Global Clock controller (GCC) driver for SC7280 commit
qcom: Add SDM660 GPU Clock Controller (GPUCC) driver commit
qcom: Add SDX55 APCS clock controller support commit
qcom: clk-alpha-pll: Add support for Lucid 5LPE PLL commit
qcom: gcc-sm8350: add gdsc commit
qcom: gcc: Add clock driver for SM8350 commit
qcom: gcc: Add global clock controller driver for SC8180x commit
qcom: rpmh: Add support for RPMH clocks on SC7280 commit
qcom: rpmhcc: Add sc8180x rpmh clocks commit
renesas: r8a77965: Add TMU clocks commit
renesas: r8a7796: Add TMU clocks commit
renesas: r8a77990: Add TMU clocks commit
renesas: r8a77995: Add TMU clocks commit
renesas: v3u: add & update (H)SCIF nodes commit, commit, commit, commit, commit
renesas: v3u: add SDHI/MMC support commit, commit, commit, commit, commit, commit
renesas: v3u: add support for RWDT commit, commit, commit, commit
renesas: r8a779a0: Add FCP and VSP support commit, commit, commit
socfpga: agilex: add clock driver for eASIC N5X platform commit
sunxi-ng: Add support for the Allwinner H616 CCU commit
sunxi-ng: Add support for the Allwinner H616 R-CCU commit
vc5: Add support for optional load capacitance commit
Drop unused efm32gg driver commit
clocksource: atlas: Remove sirf atlas driver commit
clocksource: prima: Remove sirf prima driver commit
clocksource: tango: Remove tango driver commit
clocksource: u300: Remove the u300 driver commit
remove sirf prima2/atlas drivers commit
remove tango4 driver commit
remove u300 driver commit
remove zte zx driver commit
12.33. PHY ("physical layer" framework)
phy-brcm-usb: support PHY on the BCM4908 commit
qcom-qmp: Add SC8180X UFS phy commit
qcom-qmp: Add SC8180X USB phy commit
qcom-qmp: Add support for SDX55 QMP PHY commit
qcom-qusb2: Add configuration for SDM660 commit
qcom-qusb2: add QUSB2 support for IPQ6018 commit
12.34. CXL (Compute Express Link)
12.35. Various
bus: fsl-mc: enhance Management Complex userspace support commit, commit, commit, commit, commit
PCI: Add Silicom Denmark vendor ID commit
PCI: Add TI J721E device to PCI IDs commit
bus: mhi: core: Add device hardware reset support commit
bus: sunxi-rsb: Implement runtime power management commit
coresight: Add support for v8.4 SelfHosted tracing commit
coresight: etm-perf: Support PID tracing for kernel at EL2 commit
coresight: etm4x: Add support for sysreg only devices commit
coresight: etm4x: add AMBA id for Cortex-A55 and Cortex-A75 commit
drivers/soc/litex: support 32-bit subregisters, 64-bit CPUs commit
soc: atmel: add support for sama7g5 commit
soc: qcom: rpmpd: Add msm8994 RPM Power Domains commit
fpga: dfl: add dfl bus support to MODULE_DEVICE_TABLE() commit
fpga: dfl: add support for N3000 Nios private feature commit
habanalabs: add CS completion and timeout properties commit
habanalabs: add driver support for internal cb scheduling commit
habanalabs: add new mem ioctl op for mapping hw blocks commit
habanalabs: staged submission support commit
habanalabs: support fetching first available user CQ commit
habanalabs: support non power-of-2 DRAM phys page sizes commit
hwspinlock: omap: Add support for K3 AM64x SoCs commit
interconnect: qcom: Add MSM8939 interconnect provider driver commit
interconnect: qcom: Add SDX55 interconnect provider driver commit
interconnect: qcom: Consolidate interconnect RPM support commit
irqchip/ingenic: Add support for the JZ4760 commit
irqchip/sun6i-r: Use a stacked irqchip driver commit
irqchip: Add support for Realtek RTL838x/RTL839x interrupt controller commit
irqchip: Remove sigma tango driver commit
irqchip: Remove sirfsoc driver commit
mailbox: omap: Add support for K3 AM64x SoCs commit
mailbox: qcom: Add SC8180X apcs compatible commit
mailbox: qcom: Add support for SDX55 APCS IPC commit
mei: add support for client dma capability commit
mei: hbm: add client dma hbm messages commit
mei: implement client dma setup commit
mei: me: add adler lake point LP DID commit
mei: me: add adler lake point S DID commit
memory: dfl-emif: add the DFL EMIF private feature driver commit
memory: tegra124: Support interconnect framework commit
mhi: pci_generic: Misc improvements commit, commit, commit, commit, commit, commit, commit, commit, commit
misc: bcm-vk: Add Broadcom VK driver commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
misc: pti: Remove driver for deprecated platform commit
misc: pvpanic: introduce device capability commit
misc: pvpanic: introduce events device attribue commit
misc: remove atmel_tclib commit
nvmem: Add driver to expose reserved memory as nvmem commit
of: property: Add fw_devlink support for more props commit, commit
of: Make fw_devlink=on more forgiving commit, commit, commit, commit, commit, commit, commit, commit
remoteproc/mediatek: support L1TCM commit
remoteproc: ingenic: Add module parameter 'auto_boot' commit
remoteproc: qcom: pas: Add SM8350 PAS remoteprocs commit
remoteproc: qcom_wcnss: Add qcom,wcn3660b compatible commit
reset: simple: add BCM4908 MISC PCIe reset controller support commit
sfi: Remove framework for deprecated firmware commit
speakup: Make dectlk flush timeout configurable commit
tpm: add i2c driver for cr50 commit
13. List of Pull Requests
14. Other news sites
Phoronix Linux 5.12 Feature overview