74744
Comment: commit link typo
|
1055
Not released, but page is ready
|
Deletions are marked like this. | Additions are marked like this. |
Line 1: | Line 1: |
Comprehensible changelog of the linux kernel, inspired by [http://wiki.dragonflybsd.org/index.php/DragonFly_Status Dragonfly's status]. Other places to get news about the linux kernel are [http://www.kernel-traffic.org Kernel traffic], [http://lwn.net/Kernel/ LWN kernel status], [http://lwn.net/Articles/driver-porting/ LWN driver porting guide] and [http://lwn.net/Articles/2.6-kernel-api/ LWN list of API changes in 2.6] - many articles here link to LWN and much of the 2.6.x changelog was restored from them (you may be be interested in subscribing so Jonathan can keep up the good work ;) ) Changes made to the 2.5.x-2.6.0 development series can be found in the Linux25Changes page. Before adding things here look at the RULES section at the end of the page!! | #pragma keywords Linux, Kernel, Operating System, Linus Torvalds, Open Source, drivers, filesystems, network, memory management, scheduler, preemption, locking #pragma description Summary of the changes and new features merged in the Linux Kernel during the 2.6.x and 3.x development Changes done in each Linux kernel release. Other places to get news about the Linux kernel are [[http://lwn.net/Kernel/|LWN kernel status]] or the Linux Kernel mailing list (there is a web interface in [[http://www.lkml.org|www.lkml.org]] or [[https://lore.kernel.org/lkml/|lore.kernel.org/lkml]]). The lore.kernel.org/lkml/ archive is also available via NTTP if you prefer to use a newsreader: use `nntp://nntp.lore.kernel.org/org.kernel.vger.linux-kernel` for that. List of changes of older releases can be found at LinuxVersions. If you're going to add something here look first at LinuxChangesRules! |
Line 3: | Line 5: |
===== 2.6.15 ===== * '''STILL NOT RELEASED!''' * 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)] * 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)] * 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)] * Add the infrastructure to support hotplug CPU on ARM [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a054a811597a17ffbe92bc4db04a4dc2f1b1ea55 (commit)] * x86 hot plug CPU support of physical add of new processors (hotplug add/remove of already existing CPUs was already supported) [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=9f40a72a7e819789f66910c8cd60aab005cdb413 (commit)] * 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 LSM hooks for key management facilities (see link) [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=29db9190634067c5a328ee5fcc2890251b836b4b (commit)] * RCU torture-testing kernel module: This adds a tristate CONFIG_RCU_TORTURE_TEST, which enables an intense torture test of the RCU infratructure. This is needed for testing due to the continued changes to the RCU infrastructure [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a241ec65aeac3d69a08a7b153cccbdb7ea35063f (commit)] * Support for shared HPET interrupts: The driver previously acknowledged interrupts for both edge and level interrupts, but didn't actually allow a shared interrupt in the latter case [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=0d29086177aaa1e7d14e6ebb7fc067b3ca6d5c11 (commit)] * Driver Core: add the ability for class_device structures to be nested: Allows struct class_device to be nested, so that another struct class_device can be the parent of a new one, instead of only having the struct class be the parent [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=51d172d5f3a193e4b8f76179b2e55d7a36b94117 (commit)] * Add vmalloc_node(size, node) (allocate necessary memory on the specified node) and get_vm_area_node(size, flags, node) [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=930fc45a49ddebe7555cc5c837d82b9c27e65ff4 (commit)] * Generic dispatch queue: Implements generic dispatch queue which can replace all dispatch queues implemented by each iosched [http://marc.theaimsgroup.com/?l=linux-kernel&m=112238633622498&w=2 (mailing list)] [http://lwn.net/Articles/157208/ (LWN article)] [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=8922e16cf6269e668123acb1ae1fdc62b7a3a4fc (commit)] * Reimplement elevator online switching code [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=cb98fc8bb9c141009e2bda99c0db39d387e142cf (commit)] * 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)] * Optimized SHA1 implementation for ARM [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=c09f98271f685af349d3f0199360f1c0e85550e0 (commit)] * Add sysfs support for ide tape [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=d5dee80ad69439ad8dccf8fa4d7fed0068aec9cf (commit)] * Add "revision" support for having multiple revisions for each match/target in arp_tables and ip6_tables [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=6b7d31fcdda5938e5d3f1f8b0922cc25aa200dfc (commit)] * Support for the Artemis and ATIK astronomical based USB CCD cameras [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=c9c7746dd333c12f482af2f1e63ea7eafc7cd529 (commit)] * USB: delete the bluetty driver [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a6c82600d4058346ea6fd801bc21d7abcc1350d8 (commit)] * Nokia 7600/6230(i)/6170/66x0 DKU2 USB driver [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=50260b69bbec383058875de26dbde28b1a6f8d00 (commit)] * Nvidia Geforce 7800 series (7800, 7800 GTX, 7800 GO and 7800 GTX GO cards) framebuffer support [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=7015faa7df829876a0f931cd18aa6d7c24a1b581 (commit)], 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)] * Resurrect Cobalt (MIPS-based) support for 2.6 [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=c4ed38a0c6e2e5c4906296758f816ee71373792f (commit)] * Base Au1200 (MIPS-based) 2.6 support [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e3ad1c23ba72214669b364c6fa304531dc768c3e (commit)] * Add support for BCM1480 family of chips (MIPS-based) [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=f137e463b50aadba91bd116f99c59ccb9c15a12f (commit)] * Support for sharp zaurus sl-5500 touchscreen [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=1753298947afe5eb56da755bc057f1868f345ec1 (commit)] and its PCMCIA slot [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=77bb86a1b9f8b872d8efc33c4f4359f809220252 (commit)] * 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)] * 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)] |
You can discuss the latest Linux kernel changes on the [[http://forum.kernelnewbies.org/list.php?4|New Linux Kernel Features Forum]]. |
Line 55: | Line 7: |
===== 2.6.14 ===== * Released October 27, 2005 [http://kernel.org/pub/linux/kernel/v2.6/ChangeLog-2.6.14 changelog] * Numa-aware slab allocator: It creates slabs on multiple nodes and manages slabs in such a way that locality of allocations is optimized. Each node has its own list of partial, free and full slabs. All object allocations for a node occur from node specific slab lists [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e498be7dafd72fd68848c1eef1575aa7c5d658df (commit - benchmarks)] * Lazy page table copies in fork() for VMAs without anonymous pages (the ones with anonymous pages are still copied): Defer copying of ptes until fault time when it is possible to reconstruct the pte from backing store, speeding up fork() greatly specially for processes using lots of shared memory [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=d992895ba2b27cf5adf1ba0ad6d27662adc54c5e (commit)] * Add /proc/$PID/smaps: This file will shows how much memory is resident in each mapping. Useful for people who want to perform memory consumption analysis [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e070ad49f31155d872d8e96cab2142840993e3c0 (commit)] * Add /proc/$PID/numa_maps: This file will show on which nodes pages reside [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=6e21c8f145f5052c1c2fb4a4b41bee01c848159b (commit)] * Lock-free file descriptor look-up [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=ab2af1f5005069321c5d130f09cce577b03f43ef (commit)] - [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b835996f628eadb55c5fb222ba46fe9395bf73c7 (commit)] * Four-level page table support for the ppc64 architecture: extends the usable user address range to 44 bits (16T). [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e28f7faf05159f1cfd564596f5e6178edba6bd49 (commit)] * Support hotplug cpu on 32-bit SMP powermacs: When a cpu is off-lined, it is put into sleep mode with interrupts disabled. It can be on-lined again by asserting its soft-reset pin, which is connected to a GPIO pin [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=31139971b3dc9fbb2e8a8572fb81e6e8470f363a (commit)] * Add TASK_NONINTERACTIVE task state bit to the cpu scheduler: It can be used by blocking points to mark the task's wait as "non-interactive". This does not mean the task will be considered a CPU-hog - the wait will simply not have an effect on the waiting task's priority - positive or negative alike [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=d79fc0fc6645b0cf5cd980da76942ca6d6300fa4 (commit)] * [http://www.ietf.org/rfc/rfc2637.txt PPTP] (Point-to-Point Tunneling Protocol) conntrack support and NAT helper added to allow proper management of multiple NAT'd PPTP connections. PPTP, a Microsoft-designed protocol, is used in many places to provide VPN access due to the native support in Microsoft Windows. [http://en.wikipedia.org/wiki/PPTP Wikipedia article] [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=926b50f92a30090da2c1a8675de954c2d9b09732 (commit)] * DCCP: "Datagram Congestion Control Protocol". Datagram protocol (like UDP), but with a congestion control mechanism. [http://lwn.net/Articles/149756/ (LWN article)] Currently a [http://www.icir.org/kohler/dcp/draft-ietf-dccp-spec-11.txt RFC draft] [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=7c657876b63cb1d8a2ec06f8fc6c37bb8412e66c (commit)] * Implement SKB fast cloning: Protocols that make extensive use of SKB cloning, for example TCP, eat at least 2 allocations per packet sent as a result. To cut the kmalloc() count in half, we implement a pre-allocation scheme wherein we allocate 2 sk_buff objects in advance, then use a simple reference count to free up the memory at the correct time [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=d179cd12928443f3ec29cfbc3567439644bd0afc (commit)] * Add netlink connector: userspace <-> kernel space easy to use communication module which implements easy to use bidirectional message bus using netlink as its backend [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=7672d0b54411371e0b6a831c1cb2f0ce615de6dc (commit)], also a "async connector mode" [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=acd042bb2de50d4e6fb969281a00cc8b8b71e46d (commit)] * IPV6: Support several new sockopt / ancillary data in Advanced API (RFC3542): IPV6_RECVPKTINFO, IPV6_PKTINFO, IPV6_RECVHOPOPTS, IPV6_HOPOPTS, IPV6_RECVDSTOPTS, IPV6_DSTOPTS, IPV6_RTHDRDSTOPTS, IPV6_RECVRTHDR, IPV6_RTHDR, IPV6_RECVHOPOPTS, IPV6_HOPOPTS, IPV6_{RECV,}TCLASS [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=333fad5364d6b457c8d837f7d05802d2aaf8a961 (commit)] - [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=41a1f8ea4fbfcdc4232f023732584aae2220de31 (commit)] * [http://fuse.sourceforge.net/ FUSE]: Allows to implement a fully functional filesystem in a userspace program [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=d8a5ba45457e4a22aa39c939121efd7bb6c76672 (commit)] * [http://v9fs.sourceforge.net/ 9P support]: Linux port of the [http://www.cs.bell-labs.com/sys/doc/9.html Plan9]'s [http://plan9.bell-labs.com/sys/man/5/INDEX.html 9P protocol] [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=93fa58cb831337fdf5d36b3b913441100a484dae (commit)] * [http://relayfs.sourceforge.net/ RelayFS]: Relayfs is just a bunch of per-cpu kernel buffers that can be efficiently written into from kernel code. These buffers are represented as files which can be mmap'ed and directly read from in user space. The purpose of this setup is to provide the simplest possible mechanism allowing potentially large amounts of data to be logged in the kernel and 'relayed' to user space." [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e82894f84dbba130ab46c97748c03647f8204f92 (commit)] * securityfs filesystem [http://lwn.net/Articles/153366/ (LWN article)] [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b67dbf9d4c1987c370fd18fdc4cf9d8aaea604c2 (commit)] * Suspend support for CIFS filesystem [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=ede1327ea4ca8019ec6df24b3e837def091c26b8 (commit)] * Enable atomic inode security labeling on ext3 and ext2: it enables atomic security labeling of newly created inodes by altering the fs code to invoke a new LSM hook to obtain the security attribute to apply to a newly created inode and to set up the incore inode security state during the inode creation transaction. This parallels the existing processing for setting ACLs on newly created inodes [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=5e41ff9e0650f327a6c819841fa412da95d57319 (commit)] - [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=10f47e6a1b8b276323b652053945c87a63a5812d (commit)] - [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=ac50960afa31877493add6d941d8402fa879c452 (commit)] * SELinux memory improvements: Reduce access rules memory usage by 20x [http://www.livejournal.com/users/james_morris/6197.html James Morris explanation] [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=782ebb992ec20b5afdd5786ee8c2f1b58b631f24 (commit)] * NTFS: Support journals ($Logfile) which have been modified by chkdsk. This means users can boot into Windows after we marked the volume dirty. The Windows boot will run chkdsk and then reboot. The user can then immediately boot into Linux rather than having to do a full Windows boot first before rebooting into Linux [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e7a1033b946f4f2622f2b338ab107f559aad542c (commit)] * SAS transport class [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=c7ebbbce366c02e5657ac6b6059933fe0353b175 (commit)] * Remove ACPI S4 BIOS support [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b01d8684e9e5b04270970c97df856d47668267e3 (commit)] * [http://ipw2100.sourceforge.net/ ipw2100] and [http://ipw2200.sourceforge.net/ ipw2200] wireless drivers (intel centrino) [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=2c86c275015c880e810830304a3a4ab94803b38b (commit)] - [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=43f66a6ce8da299344cf1bc2ac2311889cc88555 (commit)] * [http://hostap.epitest.fi/ HostAP]: Adds support to work as "Wireless Access Point" [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=ff1d2767d5a43c85f944e86a45284b721f66196c (commit)] * [http://www.hpl.hp.com/personal/Jean_Tourrilhes/Linux/Linux.Wireless.Extensions.html Wireless extensions] API update to version 19 [http://marc.theaimsgroup.com/?l=linux-netdev&m=112568599006559&w=2 (mail)] [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=6582c164f2b3b6e58d1f13c1c031b19ee691eb14 (commit)] * ISA DMA suspend for x86/x86-64 [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=795312e763569ce4df67e7a0ca726a9901358fa2 (commit)] - [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=7dc24db1757f950f8bd21b7191106d4bf5134be7 (commit)] * PCI: Support PCI PM CAP version 3 [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=3fe9d19f9e86a55679f5f2b38ec0a43a1a510cee (commit)] * Keys: Add possessor permissions to keys. It adds extra permission grants to keys for the possessor of a key in addition to the owner, group and other permissions bits. This makes SUID binaries easier to support without going as far as labelling keys and key targets using the LSM facilities [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=664cceb0093b755739e56572b836a99104ee8a75 (commit)] * Driver for the IBM Hard Drive Active Protection System (HDAPS), an accelerometer found in most modern Thinkpads [http://lwn.net/Articles/155440/ (LWN article)] [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=860e1d6b46bd4cbc67d8d065f0f682143513382f (commit)] * Add Apple USB touchpad driver for the USB touchpad which can be found on post-February 2005 Apple Powerbooks [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=f7214ff4e8248513ec626212b2c1a3ca0b2a0888 (commit)] * Spinlock consolidation [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=fb1c8f93d869b34cacb8b8932e2b83d96a19d720 (commit)] * Largefile support for accounting: The accounting subsystem in the kernel can not correctly handle files larger than 2GB. This fixes it by adding the O_LARGEFILE flag [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=6c9c0b52b8c6b68b05bb06efd7079a8fc5e9ba60 (commit)] * Detect soft lockups, new debug feature (CONFIG_DETECT_SOFTLOCKUP). When enabled then per-CPU watchdog threads are started, which try to run once per second. If they get delayed for more than 10 seconds then a callback from the timer interrupt detects this condition and prints out a warning message and a stack dump [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=8446f1d391f3d27e6bf9c43d4cbcdac0ca720417 (commit)] * Add kzalloc(): new function, it allows to obtain pre-zeroed memory [http://lwn.net/Articles/147014/ (LWN article)] [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=dd3927105b6f65afb7dac17682172cdfb86d3f00 (commit)] * Add schedule_timeout_{,un}interruptible() [http://lwn.net/Articles/149019 (LWN article)] [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=64ed93a268bc18fa6f72f61420d0e0022c5e38d1 (commit)] ===== 2.6.13 ===== * Released August 29, 2005 [http://www.kernel.org/pub/linux/kernel/v2.6/ChangeLog-2.6.13 changelog] * Execute-in-place support: Traditionally, programs are loaded from disk to memory to be executed. However, the current wave of embedded devices store programs in a ROM/flash chip. XIP allows the kernel executing programs directly from that ROM, without being copied to RAM (saving RAM space), and bypassing the page cache/io scheduler layers (since they're not needed). [http://lwn.net/Articles/135472/ (LWN article)] [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=d763b7a4736e219528f77bf6bc75dd78b1d75c03 (commit)] * i386 CPU hotplug support: provides i386 architecture support for safely unregistering and registering processors during runtime [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=f370513640492641b4046bfd9a6e4714f6ae530d (commit)] * Add /proc/sys/fs/suid_dumpable to provide system-wide control over whether or not set-user-ID and set-group-ID processes produce core dumps. The values accepted are: 0 (default) - traditional behaviour, any process which has changed privilege levels or is execute only will not be dumped. 1 - (debug) - all processes dump core when possible. The core dump is owned by the current user and no security is applied. This is intended for system debugging situations only. Ptrace is unchecked. 2 - (suidsafe) - any binary which normally would not be dumped is dumped readable by root only. This allows the end user to remove such a dump but not access it directly. For security reasons core dumps in this mode will not overwrite one another or other files. This mode is appropriate when adminstrators are attempting to debug problems in a normal environment [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=d6e711448137ca3301512cec41a2c2ce852b3d0a (commit)] * x86 now uses the generic PCI bus setup code for assigning unassigned resources * Voluntary preemption patches * build-time configurable clock interrupt frequency: Now HZ defaults to 250 in x86. 1000 is better for "interactivity" (desktops) and 100 is good for performance (servers) and saves some energy in laptops. [http://lwn.net/Articles/145973/ (LWN article)] * inotify [http://lwn.net/Articles/104343/ (LWN article)] [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=0eeca28300df110bd6ed54b31193c83b87921443 (commit)] * Support for the Xtensa architecture: [http://www.tensilica.com/products/xtensa_architecture.htm 32-bit architecture] used in embedded devices [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=8e1a6dd2fddcc73c9e933758361e3d9c076c688a (commit)] - [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=4bedea94545165364618d403d03b61d797acba0b (commit)] - [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=5a0015d62668e64c8b6e02e360fbbea121bfd5e6 (commit)] - [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=249ac17e96811acc3c6402317dd5d5c89d2cbf68 (commit)] - [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=3f65ce4d141e435e54c20ed2379d983d362a2cb5 (commit)] * Improved CFQ IO scheduler: With support for I/O priorities [http://lwn.net/Articles/143474/ (LWN article)] [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=22e2c507c301c3dbbcf91b4948b88f78842ee6c9 (commit)] * kexec and kdump: Kexec allows users to load a new kernel from another running kernel. By preserving the memory contents in a crash scenario, kexec allows to implement kdump. Kdump is able to get a memory dump of the previous kernel, and be used as a debugging tool. [http://lwn.net/Articles/108595/ (LWN article)] [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=dc009d92435f99498cbc579ce76bf28e837e2c14 (commit)] * Runtime selectable TCP congestion algorithm: Allow using setsockopt to set TCP congestion control to use on a per socket basis. [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=5f8ef48d240963093451bcf83df89f1a1364f51d (commit)] - [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=317a76f9a44b437d6301718f4e5d08bd93f98da7 (commit)] [http://lwn.net/Articles/128681/ (LWN article)] * Add several TCP congestion modules: H-TCP [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a7868ea68d29eb2c037952aeb3b549cf05749a18 commit], TCP Hybla [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=835b3f0c0d7e1f716c45ec576662eac7a68b8548 (commit)], High Speed TCP (HS-TCP) [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a628d29b56d3f420bf3ff1d7543a9caf3ce3b994 (commit)], TCP Westwood [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=8727076289ec55298a05cabddf02b374d13c1624 (commit)], TCP BIC [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=83803034f4233d810c4adc52008921da060c55d1 (commit)] * Add Direct Rendering Manager device driver for VIA Unichrome chipsets [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=22f579c621e2f264e6d093b07d75f99bc97d5df2 (commit)] * 32/64-bit DRM ioctl compatibility: 64 bit architectures running 32 bit software have to be compatible with 32-bit ioctl calls [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=9a18664506dbce5e23f3c5de7b1c5a042dd26520 (commit)] * Add ACL support for NFSv3 [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b7fa0554cf1ba6d6895cd0a5b02989a26e0bc704 (commit)] - [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a257cdd0e2179630d3201c32ba14d7fcb3c3a055 (commit)] and NFSv4 [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=4b580ee3dc00f9828a9a7aad2724f448fdc94075 (commit)] - [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=aa1870af92d8f6d6db0883696516a83ff2b695a6 (commit)] * New driver for the "trusted computing" (TPM) crap^Wchip [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=ebb81fdb3dd0be7514b84197c4f8388a17130f04 (commit)] * Removal of the devfs configuration option ===== 2.6.12 ===== * Released June 17, 2005 [http://www.kernel.org/pub/linux/kernel/v2.6/ChangeLog-2.6.12 changelog] * Pageout throttling: With silly pageout testcases it is possible to place huge amounts of memory under I/O. With a large request queue (CFQ uses 8192 requests) it is possible to place _all_ memory under I/O at the same time. This means that all memory is pinned and unreclaimable and the VM gets upset and goes oom. This patch limits the amount of memory which is under pageout writeout to be a little more than the amount of memory at which balance_dirty_pages() callers will synchronously throttle. This means that heavy pageout activity can starve heavy writeback activity completely, but heavy writeback activity will not cause starvation of pageout [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=3799f8fcebf940f21c69e80ded882245a8bc67a7 (commit)] * Address space randomization: With these patches applied, each process's stack will begin at a random location, and the beginning of the memory area used for mmap() (which is where shared libraries go, among other things) will be randomized as well [http://lwn.net/Articles/121845/ (LWN article)] [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=6a638354be1afb0a134558869e05ddc414707205 (commit)] - [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=f1a6b09deaee24b90b1fab42f93ce1b90f0d319b (commit)] - [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=6562d1975c95c8d6817e373c54f256013d062c5c (commit)] - [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=ad4f9c53a04ce077ae2dde82029bb20a6db705ab (commit)] - [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=c0e5a50b1f28e83b1563453f90f6f0866f3a9a90 (commit)] - [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=42a172a814759a29020e5d1ee580bf4eb86afed2 (commit)] - [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=6833da342273d41d059333e7b6ae81f18dbe6dde (commit)] - [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=9bdac354e0bea82ce76ebdf51d6bbd3993782f78 (commit)] * Cpusets [http://lwn.net/Articles/127936/ (LWN article)] [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=263c0646931c7259ce59188190e0822a121fc0ad (commit)] * "resource limits": RLIMIT_NICE and RLIMIT_RTPRIO added to allow non-root tasks to raise nice and rt priorities. Defaults to traditional behavior [http://lwn.net/Articles/134460/ (LWN article)] [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e43379f10b42194b8a6e1de342cfb44463c0f6da (commit)] * Multilevel security implementation for SELinux * Support for Cyrix MediaGX (aka GEODE) CPUs. Linux and GCC treat this chip as a 586TSC with some extended instructions and alignment reqirements [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=5576007ac28bdd68800ba5816d30ec393c5765ff (commit)] * I/O barrier support for serial ATA drives * Block I/O barrier rewrite (enables full barrier support on serial ATA drives) * Annotate /proc/$PID/maps with [heap]/[stack]/[vdso] markers [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=1d39bbb3d2b67ef76d1aaa1bdef39aee2971015b (commit)] * [http://www.superh.com/products/shyway.htm SuperHyway bus support] * Device mapper multipath support [http://lwn.net/Articles/124703/ (LWN article)] * Hot-pluggable parallel ports [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=2a6c1160578808ec4ef927ccd811791d1635f264 (commit)] * Updated FAT attributes: This updates the FAT attributes as well as corrects the handling of VFAT ctime [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=71b60d7133806152284b3507a901bda2ae645ab0 (commit)] * Handle MS_SYNCHRONOUS flag in FAT: FAT filesystem has been ignoring the "sync" mount option for ages. This patches fixes this, but (obviously) degrades performance unless you mount your FAT filesystem as asynchronous ("async mount option) [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=3e261a474262b622709d4851a1f26123e61ab13c (commit)] * Add timing information to printk messages [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=bd0ac8842ea3484a090fd30507c80ae4cb22de3b (commit)] * Allow admin to enable only some of the Magic-Sysrq functions [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=ea59ccebb3a5a8e76bf9505047e7706027ccf35a (commit)] * Loglevel boot option [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=5d65f423092e68ab44a2a6386c0b3f1985f79c41 (commit)] * Remove IPV6 "experimental" status ===== 2.6.11 ===== * Released March 2, 2005 [http://www.kernel.org/pub/linux/kernel/v2.6/ChangeLog-2.6.11 changelog] * Conversion to 4-level page tables [http://lwn.net/Articles/117749/ (LWN article)] [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=fcbb3756afbe9a4703c45cab86f947412a0358cf (commit)] * New Pipe implementation [http://lwn.net/Articles/118750/ (LWN article)] * "Big Kernel Semaphore": Turns the Big Kernel Lock into a semaphore [http://lwn.net/Articles/102253/ (LWN article)] [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=deac7335cecb3c1e23a032a3f56a34c643871d3b (commit)] * Introduces the CAP_AUDIT_WRITE and CAP_AUDIT_CONTROL capabilities [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=324689781d5d305903f86578b71596fb2a96dd05 (commit)] * Simplify readahead code [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=e8eb956c01529eccc6d7407ab9529ccc6522600f (commit)] - [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=af006eae66249e03d1024fb71cdfae58e7fa7b7e (commit)] * Support for Extended Attributes in the body of large inode in ext3: saves space and improves performance in some cases [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=f0d1dbed7714ea06242c180c215641a92e655414 (commit)] * Add /proc/sys/kernel/bootloader_type [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=11e4268cffc468b60d2b756dc8eb455112b52308 (commit)] * Remove bitmaps from the buddy allocator [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=dda3a6ba68c264b2c850f2d9500b18d0c407a443 (commit)] * Enhanced I/O and memory accounting [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=c3adb238a7557416a3aa472038343d59c986d062 (commit)] - [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=cb6850ae19e4f6bf8ccec0ca770c7b4d1c5f9669 (commit)] * AMD Dual-core support [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=7bd66939b746c4c5a69eb74e2f83f967540e4691 (commit)] * Add Fujitsu FR-V CPU architecture [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=e003366285ac6c770b59cc618f9716c2e0ac0430 (commit)] * TCP port randomization [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=97f941fb4ca03c60da6f466721cc99f576f35877 (commit)] * SATA support for Intel ICH7 * DebugFS [http://lwn.net/Articles/115405/ (LWN article)] * Infiniband support [http://lwn.net/Articles/112531/ (LWN article)] * Remove UMSDOS [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=0512a33a91dbe2241a9a39ddeb3af1c27180aabd (commit)] * Major problems with TCP/IP BIC (the default congestion control) are resolved ===== 2.6.10 ===== * Released December 24, 2004 [http://www.kernel.org/pub/linux/kernel/v2.6/ChangeLog-2.6.10 changelog] * Accounting: report single record for multithreaded process. In kernels before 2.6.10, a separate process accounting record was written for each thread created using NTPL. Since 2.6.10, a single accounting record is written for the entire process [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=fa4c8b605c3313de9e3170b68b9e4576a6a5d45e (commit)] * x86-64 clustered APIC support [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=7f8b8c2a84d1098aec520d1f701c752f10bc5396 (commit)] * Make rlimit settings per-process instead of per-thread for POSIX compliance [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=f1a81f9149ac2321978e1357eb697f95cc31e989 (commit)] * POSIX compliant CPU clocks [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=5842ca68fe016d84f5e9a247fa4d7bdd54ff4ee4 (commit)] * Show aggregate per-process counters in /proc/$PID/stat: Add up resource usage counters for live and dead threads to show aggregate per-process usage. This mirrors the new getrusage() semantics. /proc/$PID/task/$TID/stat still has the per-thread usage [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=99ae4bcef104d602d790eb7da7cfc241ca6eefee (commit)] * Report the pages used for pagetables in /proc/$PID/status [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=713a7e3b7505f501892f031c5a51f7d6c0b89c11 (commit)] * Display committed memory limit (per the current overcommit ratio) and the amount of memory remaining under this limit in meminfo [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=2fdc35b54263b69e695334e465210a8db55a4cfa (commit)] * Thrashing control tuning [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=146f46fa1ec0b76fa76bced34b4849934791532c (commit)] * Big Kernel Lock preemption * IRQ subsystem code rework [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=133bb1db6e22ec5c8b4d0d015deed5b2fa3e447c (commit)] * Removal of the "BIO walking" helper functions * Generic circular buffer type [http://lwn.net/Articles/107314/ (LWN article)] [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=2dbf22c09c31b815202b2ffd6ba2efbfa66c0f72 (commit)] * Ext3 block reservation [http://lwn.net/Articles/81357/ (LWN article)] [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=75e03cd329884cf024993a2d61c4c32bf7bf6c49 (commit)] * Ext3 online resizing patches [http://lwn.net/Articles/89560/ (LWN article)] [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=05a7a2e19ecde7b7c559bdf5009327cff3504d9b (commit)] * Add I/O error handling to journal operations in reiserfs [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=ee0bc517002dcc9e80de36ba0a75bba39d951da9 (commit)] * sysfs backing store [http://lwn.net/Articles/69523/ (LWN article)] * I/O space write barriers [http://lwn.net/Articles/103183/ (LWN article)] [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=50ff053344ac1afbed10f2d5ef0749f816401890 (commit)] * Modular, on-the-fly switchable I/O schedulers [http://lwn.net/Articles/102976/ (LWN article)] [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=d35eec28b8b0da58d9e7d16548fc9105535fa7fe (commit)] * CFQ v2 update [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=579eef5fa2be5ed12bc8d3df3555f4e2d725af64 (commit)] * BSD secure levels module [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=05f59528b1256613657b6f7fdd7d5bd4b20cb902 (commit)] * In-kernel cryptographic key management [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=33a2761288241488ccccedc24688cf33acfba0c9 (commit)] * DVD+RW support [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=dcc573b12a9d623a13ef156bbde6b116507b437a (commit)] * CDRW packet writing support [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=23cabaea5ba85ddaba415e1d5e12073e2ce7f8e3 (commit)] * kernel events notification mechanism * Lock initializater unification [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=e09813fb9c74241a00883e6411e6e3cf66d63339 (commit)] * Panick blinking: Makes the keyboard blink when a oops happens - useful to know if the kernel has really oopsed or not (ej: X.org bugs) [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=5234bcafa9747f78ef723cb8bad14635cf17a811 (commit)] * Reworking of spin lock initialization [http://lwn.net/Articles/109505 (LWN article)] * Configurable /proc/kcore [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=71f16058e2ff1a154e6ed685a66819322c4cdf21 (commit)] ===== 2.6.9 ===== * Released October 19, 2004 [http://www.kernel.org/pub/linux/kernel/v2.6/ChangeLog-2.6.9 changelog] * Token-based thrashing control [http://lwn.net/Articles/96621 (LWN article)] [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=e6a32818710d24cc910ec4d4333f99972b3cf563 (commit)] * Concurrent O_SYNC write support: In databases it is common to have multiple threads or processes performing O_SYNC writes against different parts of the same file.[http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=96deebee4470587bc1a855c787d6919df681cdac (commit)] * Reiserfs v3 barrier support: Add reiserfs support for flush barriers, mount with -o barrier=flush to enable them. Barriers are triggered on fsync and for log commits [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=b736095823b073209ef38622227c64c593260b73 (commit)] * ext3 barrier support: Mount with "mount -o barrier=1" to enable barriers [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=52a75614f1f753e01a5a9610c5390b5b7f795912 (commit)] * Support of disk barriers: [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=74c50b2c1af1b3535cf6c39ce684e60fa9f5dfdb (commit)] * m32r architecture support * Scheduler statistics: adds lots of CPU scheduler stats in /proc/$PID/stat [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=34b334118622daae225ab8fd56c79f54f6e15774 (commit)] * RLIMIT_MEMLOCK semantics change: In Linux kernels before 2.6.9, only privileged processes (CAP_IPC_LOCK) could lock memory, and the RLIMIT_MEMLOCK soft resource limit placed an upper limit on the number of bytes that a privileged process can lock. Since kernel 2.6.9: no limits are placed on the amount of memory that a privileged process can lock; and an unprivileged process is now able to lock memory up to the soft limit defined by RLIMIT_MEMLOC [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=adaeb8014406050050cf09416d1b0e3c23838fdb (commit)] * Tunable "max sectors" limit for block I/O requests (can help latency reduction) * New prctl() option allowing programs to change their name (PR_GET_NAME) * AMD dual-core support * Out-of-line spinlocks [http://lwn.net/Articles/97537/ (LWN article)] [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=2ea380e357f23ad37c1a06c6af509b68e9d57bb6 (commit)] * Support for POSIX's waitid() Also, now linux now supports the POSIX specification that SIGCHLD is sent to the parent when one of its children resumes as a consequence of receiving a SIGCONT signal. Also, WCONTINUED flag is added to waitpid() and waitid() [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=8e81583bfd488bb0b10aa799f7ec5f7b4a79fe73 (commit)]. * Shared memory scalability improvements * "flex mmap" user-space memory layout [http://lwn.net/Articles/91829/ (LWN article)] [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=0f7c9b1849d5365d27d4553e471a8e721c8dabb7 (commit)] * x86 PAE swapspace expansion. PAE is artificially limited in terms of swapspace to the same bitsplit as ordinary i386, a 5/24 split (32 swapfiles, 64GB max swapfile size), when a 5/27 split (32 swapfiles, 512GB max swapfile size) is feasible. This patch transparently removes that limitation by using more of the space available in PAE's wider ptes for swap ptes [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=7c1c60d14d175c41c5db03f20f44c80c4d683e52 (commit)] * Show Active/Inactive on per-node meminfo: The patch below enable to display the size of Active/Inactive pages on per-node meminfo (/sys/devices/system/node/node%d/meminfo) like /proc/meminfo [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=6d4a504b45abc756eac6374591f74c7afb722b6a (commit)] * Change in TCP ICMP source quench behavior * [http://www.linux-usb.org/gadget/h2-otg.html USB "on the go" support] * New USB storage driver * Support for more than eight partitions on BSD-labeled disks * Ethtool support in the loopback driver * NETIF_F_LLTX interface [http://lwn.net/Articles/101215/ (LWN article)] * DSCP decapsulation for IPsec [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=cac8c9f3e6cd37a3dd079e12a01fc41d2650bf39 (commit)] * Removal of the ancient "busmouse" driver * Infrastructure for cluster-wide file locking * DRM subsystem cleanups * "fake NUMA" mode for x86-64 testing * Small-footprint tmpfs implementation * Support for scheduler profiling (seeing where context switches come from) * Automatic TCP window scaling calculation * Some VFS interface improvements * Executable support in hugetlb mappings * The Whirlpool digest algorithm * Removal of the very last suser() call ===== 2.6.8 ===== * Released August 14, 2004 [http://www.kernel.org/pub/linux/kernel/v2.6/ChangeLog-2.6.8 changelog] * Allow x86 to reenable interrupts on lock contention [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=e61229e7fab63f09bcab5f6d54477453ca98684c (commit)] * VFS shrinkage tuning: This adds /proc/sys/vm/vfs_cache_pressure, which tunes the vfs cache versus pagecache scanning pressure. At vfs_cache_pressure=0 we don't shrink dcache and icache at all, at vfs_cache_pressure=100 there is no change in behaviour, at vfs_cache_pressure > 100 we reclaim dentries and inodes harder [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=95afb3658a8217ff2c262e202601340323ef2803 (commit)] * Conversion to the new symbolic link resolution code (which will eventually allow an increase in the maximum link depth) [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=c989bc66ec92aabcf88f429da52a798003edc505 (commit)] * Add O_NOATIME open flag support (GNU extension): If this bit is set, read will not update the access time of the file. It is useful if you want to do something with the file atime (for instance, moving files that have not been accessed in a while to somewhere else, or something like Debian's popularity-contest) but you also want to read all files periodically (for instance, tripwire or debsums) [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=037c5577398a9d87f0b9f8d68cbf17324b5b05fe (commit)] * MNT_EXPIRE for umount(): Intrinsic automount and mountpoint degradation support. This adds support for a filesystem (such as kAFS) to perform automounting intrinsically without the need for a userspace daemon. It also adds support for such mountpoints to be degraded at the filesystem's behest until they've been untouched long enough that they'll be removed [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=92b2af55e9bd44724700c8eef889c7b368df6c94 (commit)] * Process Accounting Version 3 format added [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=f0743e893fb6ede7126ee6bb9ebad092fc2e346c (commit)] * RLIMIT_SIGPENDING added, introducing per user rlimits for both queued signals and POSIX message queues [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=05eecc7a8a3765f2dd4b4d5d8a2e928f27c620f0 (commit)], and remove unused queued_signals global accounting - rtsig-max and rtsig-nr /proc interfaces went away [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=31c7f302112bb18a7fd93cf07f52478a2688f62b (commit)] * support for 64-bit Super-H hardware * Removal of the PC9800 subarchitecture (lack of mainteinance) [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=3f7da6b29ad4612b09ddb39dd7938d11e9551ba6 (commit)] * Preemptible kernel support for the PPC64 architecture [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=5cc01b3b2ec3228457146904098dbaed01fbe0f8 (commit)] * Oprofile support for ppc32 [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=1383f594343b33211e1755524ecfd6c70ea8d1c9 (commit)] * Support for new Apple Powerbooks [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=eb5b2db2e449555fb06da1a6c81506f7593a7ad3 (commit)] * x86 no-execute support [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=3d543a2d0ce112d99d584fa99a5005629bc3c871 (commit)] * Asynchronous I/O support for USB gadgets * HPET (High Precision Event Timer) support [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=d4e2cce3c8d7a766e474e9643514f1e6be7d758d (commit)] * Reworked symbolic link lookup implementation [http://lwn.net/Articles/91959/ (LWN article)] * Lockless loopback [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=b2079a04d5b73b7cf82bb88897e86e2aee91bbc4 (commit)] * New "CPU mask" implementation * RCU performance improvements [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=48adcee8afd0838517a7e3150daa617f5b0a0c25 (commit)] - [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=2321dce287dbaf69028be4678956451c9f1157b1 (commit)] * New wait_event_interruptible_exclusive() macro * Sysfs knobs for tuning the CFQ I/O scheduler [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=cde1f64d5ecbc78bc605937540421914b4f8cb8f (commit)] * Mirroring, snapshot and dm-zero targets for the device mapper [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=82fe372266fddf32677a7e0b4e2908bbcecf90dd (commit)] - [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=9665bd2e2f0ac296d7e4c40a50978dfa9f6dce07 (commit)] - [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=db40a292b7da5640a8a464b1e8a8251eaf175fd8 (commit)] * Reiserfs data=journal support [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=e4861db92ba98c0280abf75bbbe344a14254997b (commit)] * Added permissions checking on raw SCSI commands from user space [http://lwn.net/Articles/98379/ (LWN article)] [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=edfbc0a1c7df14728a31734ecafbbcacac85ac20 (commit)] * Removal of the fcntl() file operations method * New internal infrastructure for handling file positioning and seekability [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=9286c49cc35e0a5a4ed240a80ae9ef17b37948d8 (commit)] * Removal of the (non-functional) "fastroute" networking option * TEA, XTEA, Khazad crypto algorithms [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=ca28e25885ef28aeb01553d46e225805f9f26b10 (commit)] - [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=1dbd347b7c1f8d879361609eabed7100b5f30754 (commit)] * Add deb-pkg build option [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=4c25efaec1f969b16102dea37a38f33a2848cca5 (commit)] * TCP/IP congestion control changes from Reno to BIC ===== 2.6.7 ===== * Released June 16, 2004 [http://www.kernel.org/pub/linux/kernel/v2.6/ChangeLog-2.6.7 changelog]: * Scheduling Domains [http://lwn.net/Articles/80911/ (LWN article)] [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=5a2bc24fc647c9dfb10faae4b3a86ef05fc6f596 (commit)] * Full object-based reverse-mapping scheme and removal of the per-page PTE chains [http://lwn.net/Articles/86715/ (LWN article)] * Filtered Wakeups [http://lwn.net/Articles/83633/ (LWN article)] * Ability to re-enable interrupts while waiting in spin_lock_irqsave() (for all architectures now) * msleep() function for millisecond-scale waits * del_singleshot_timer(): Deleting timers quickly [http://lwn.net/Articles/84836/ (LWN article)] * shrink "dentry" structure * Speedup readahead for seeky workloads [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=ef12b3c1abce83e8e25d27bdaab6380238e792ff (commit)] * Support for quotas, extended attributes, ACLs, SELinux in reiserfs [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=783206fcd4123700cf1bdced342dcd44d1b18e20 (commit)] - [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=c6df36c4c37c02dc45d390f7e78cbae51e4dcb2c (commit)] - [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=c86d577034339a7f7c149320be204d2ad0e3dbe2 (commit)] - [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=98ca2698e94ce62fa4f34ed6256019cabb74c8a5 (commit)] * Removal of the Intermezzo filesystem (lack of mainteinance) [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=4b18ece918a95d42904ea80a7dd62075e90d2f84 (commit)] * Remove IDE PATA TCQ support: It's been disabled some time ago, PATA TCQ has so many technical short comings, that it was never really interesting [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=066298b9347991e663ab9b0005e5fe36bad1b22c (commit)] * Dynamic addition of virtual disks on PPC64 iSeries [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=280fbb169c2d81004d866fdd6d51fc73b85b8210 (commit)] * Implement separate per-cpu stacks for processing interrupts and softirqs, along the lines of the CONFIG_4KSTACKS stuff on x86 [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=93836954c881c4c70d5cd8e64440ec17a841bfa8 (commit)] * PowerPC 750GX support [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=19f21bf97946de6637ff9d788f6fa0f5956e2597 (commit)] * new API for NUMA systems * Debugging option to put data symbols in kallsyms [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=e9bc643950e4125f25c73a12abf07669074709f5 (commit)] ===== 2.6.6 ===== * Released May 10, 2004 [http://www.kernel.org/pub/linux/kernel/v2.6/ChangeLog-2.6.6 changelog] * Removal of (struct page)->list and page dirty/clean/free lists, replaced by radix-tree tagging [http://lwn.net/Articles/80472/ (LWN article)] * Network packet timestamping optimization * Binary Increase Control (BIC) TCP developed by NCSU. It is yet another TCP congestion control algorithm for handling big fat pipes. For normal size congestion windows it behaves the same as existing TCP Reno, but when window is large it uses additive increase to ensure fairness and when window is small it uses binary search increase [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=d009df2d52345441873340c5b75ecc09b9343a22 (commit)] * [http://www.geocities.com/wronski12/posix_ipc/index.html POSIX message queues] [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=3bc45e612c620d7477b9ed3f285c9222b3bb558b (commit)] * fsync() and fdatasync() speed improvements to ext2/3 [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=c67ebc7f2644d612f7838a7f3aee1b766ce11e69 (commit)] * Addition of the fcntl() method to the file_operations structure [http://lwn.net/Articles/77190/ (LWN article)] * Laptop Mode [http://lwn.net/Articles/65437/ (LWN article)] [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=166054344dda21795e3735af51edf1a261177e7e (commit)] * Oprofile for s390 [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=f42022413a50489115f36c5e9a16f5d13e4831a4 (commit)] * 4KB kernel stacks option for the i386 architecture [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=f061c2ccd81f62b777327aa3696d652b5fb34c6f (commit)] * Non-executable stack support for several architectures [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=9abd312fda38fb2ba7b3dfe147ecbadf5cf8f57f (commit)] * Make sysfs configurable [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=7aa1fb8cb5813bfe0a33e49975f1cceb0740251f (commit)] * Reiserfs updates: data=ordered support, space preallocation, laptop mode support, logging rework, support for nested transactions [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=d4265dd282789d98d47f2febea1e60ff2a494b82 (commit)] - [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=502c984ae4ddae1964c5aae6625e56516106c396 (commit)] - [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=050ff9c100d0a9e9cb45f575783ca801d2ca42c3 (commit)] - [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=3b0970c6144b4e5cb777d8b54926c1dbeb2e2b64 (commit)] - [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=46d1f3648ddccf15793a057f7aef3e2ce5be4f0e (commit)] * Reiserfs and ext3 "commit=0 support": Restores commit interval to the default value [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=9a9b4f749ce975a57994207e7c0c5fe57148ef60 (commit)] - [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=a4fe3fb94e6ea2e27d61abd8b141856f9d662fbd (commit)] * Ext3 journalled quotas [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=c69e3890a7a5d8c0587d958e618d303fad9d941a (commit)] * NFS v4: Implement server-side reboot recovery (mostly) [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=82107aa303e744b0e67f9daa44748c5abbf01d69 (commit)] * IPv6 support in SELinux [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=bdee92e07efd44da1dc87d47485c3f9ffaf0d976 (commit)] * The lightweight auditing framework [http://lwn.net/Articles/79326/ (LWN article)] [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=4527a30f157fca45c102ea49a2fb34a4502264eb (commit)] * A mechanism which allows block drivers to respond to queries about the congestion state of their queues * "per-device unplugging patch" [http://lwn.net/Articles/75233/ (LWN article)] * CFQ scheduler [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=a7c3e7eee4fe04953547e408f8db0d615c4c1afe (commmit)] * External module support [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=eeb0e992ae01bc7c68628c20df6df0bdc1c7fd28 (commit)] * Generic snapshot support code for filesystems (taken from XFS) [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=9a6f9f9177e7403e661eb876500d57d139c0d034 (commit)] ===== 2.6.5 ===== * Released April 4, 2004 [http://www.kernel.org/pub/linux/kernel/v2.6/ChangeLog-2.6.5 changelog] * Adaptative lazy readahead [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=87698a351b86822dabbd8c1a34c8a6d3e62e5a77 (commit)] * CDROMREADAUDIO dma support: support DMA for extrating audio [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=6cea839a9cb769215c2a3cf2056ff1b09ea08378 (commit)] * Netpoll infrastructure [http://lwn.net/Articles/75944 (LWN article)] * New "kref" reference counting mechanism [http://lwn.net/Articles/75920 (LWN article)] * AIO support for reiserfs [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=71b95e3ebaa658cdb361c78b613267776957995b (commit)] * Read-only support for UFS2 [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=e935d5b963465e88c09896056578d8ece381dc9a (commit)] * Display number of slab, mapped and pagetable pages in the sysrq-M output [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=53c3a164bde6946bb9ca65eb021b0cf96035b5d3 (commit)] ===== 2.6.4 ===== * Released March 11, 2004 [http://www.kernel.org/pub/linux/kernel/v2.6/ChangeLog-2.6.4 changelog] * NGROUPS_MAX, which sets the maximum number of groups a user can belong to has increased the value to 65536 (was previously 32). This limit is also visible via the read-only /proc/sys/kernel/ngroups_max file. [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=60f095f22d9325fc88f128df204242f932c261dc (commit)] * HFS rewrite and HFS+ support [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=b20f09ad0ab9e8ef215b5c6e0ead9effc6b80aee (commit)] - [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=367a470ffe60c58c69ae8bf288cbb4615002729b (commit)] * Add SOCK_SEQPACKET for Unix domain sockets [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=32b46f96d41dfc67ad9d81c39487242ecc84be16 (commit)] * Support for the Intel "ia32e" arch * PPC64 iommu and TBL flush rework [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=aeb9bd1688d76c938acc4b17da8db33e8cbe1133 (commit)] - [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=7fb3b50550a866099fc8ea34b8565f12a104e2fa (commit)] * UTF-8 tty mode [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=8026954da2b98a1a97af65d82c492816681c0faa (commit)] * Dynamic PTY allocation (up to a million PTY devices) * Sysfs support for SCSI tapes and bluetooth devices * ARC4 crypto module Support for large numbers of groups * Generic kernel thread infrastructure [http://lwn.net/Articles/65178/ (LWN article)] * Groundwork for the hotplug CPU code * ARC4 crypto module [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=d0119535d80f4f46d831fb48f1747e732c539c79 (commit)] * Add dm-crypto crypto module [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=f3abc91effde1fd547e6005f36c94313fe970dd2 (commit)] * Enable coredumps > 2 GB [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=0d274048bea986c7498a52ea5152d66833cd2cec (commit)] * Add -mregparm=3 config option [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=cef3796e3aa0003e818a64374f439d353c49d574 (commit)] ===== 2.6.3 ===== * Released February 18, 2004 [http://www.kernel.org/pub/linux/kernel/v2.6/ChangeLog-2.6.3 changelog] * G5 support [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=7f13170c2069ff86a2a0bfc3a247ade8aefeb6aa (commit)] * Support up to 255 char columns in virtual terminals [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=f3706e57b8e26db88ddaa5b0558e5db545f2fed7 (commit)] * Set HZ to 1000 in PPC32 [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=eb6e9d736fa3e79f97ee19325c996f69079f276e (commit)] * Removal of the USB scanner code: moved support to userspace (libusb) * New DMA pool abstraction [http://lwn.net/Articles/69402/ (LWN article)] * "context mount" support for SELinux ===== 2.6.2 ===== * Released February 4, 2004 [http://www.kernel.org/pub/linux/kernel/v2.6/ChangeLog-2.6.2 changelog] * RAID 6 implementation [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=8869ce42bfc6301d645eabb64eea343569be9575 (commit)] * One-shot support for epoll [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=b248eb341da327a418e3fdd55bcad209c3802892 (commit)] * Add support for m68knommu [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=ccc218ff4f93913018f735201586caa19dc022db (commit)] * Schedulers interactivity improvements [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=80605ac9c461beed318da1af7f0355c66d90f66c (commit)] * New Qlogic SCSI driver ===== 2.6.1 ===== * Released January 9, 2004 [http://www.kernel.org/pub/linux/kernel/v2.6/ChangeLog-2.6.1 changelog] * Message Signaled Interrupt support - MSI [http://lwn.net/Articles/44135/ (LWN article)] [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=805bdfd65d2a8866870d1813cd39d739d1e2942e (commit)] * Add 32bit a.out support for x86-64 [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=dabe6cb0fc24dd4d3ee5b51c99f551a883dc2d66 (commit)] * Add `gcc -Os' config option [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=4b8ca7b0c8fb01ba87f9f6fa23f287e683f06346 (commit)] * Extensible Firmware Interface (EFI) support. [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=556bd742f63bdc0d0fdbfb28f907e272ed61d370 (commit)] ===== 2.6.0 ===== * Released December 18, 2003 [http://www.kernel.org/pub/linux/kernel/v2.6/ChangeLog-2.6.0 changelog] Rules: * Name of the new feature/description of the change, including a small explanation if possible * If its a feature and the feature has some web page add a link to it * If there's a paper (OLS!) or an article add a link to it. Or write one ;) * If there's a interesting mail (benchmarks, announcements if there's no web page, etc) about it in the mailing list, get a link in one of the list's archives (at [http://marc.theaimsgroup.com/?l=linux-kernel http://marc.theaimsgroup.com/?l=linux-kernel] please) and add the link here * Add commit's link if possible. For commits add a "(commit)" word and add the link there. Don't add the commit link to another word (please). * Searching commits for a given feature is easy. Just look for it in the shortlog, or try to find a file related with that change, then search it in the GIT tree representation and click the "history" link to see all the changes made which affects that file. The release dates will help you too. * There're two main GIT trees where you can search for commits: [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git the one which has all the stuff commited after 2.6.12-rc2] and [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git the one which has all the stuff BEFORE 2.6.12-rc2] TODO: * Import relevant data from [http://kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.14-rc5/2.6.14-rc5-mm1/broken-out/post-halloween-doc.patch davej's post halloween document] or remaining stuff from [http://kernelnewbies.org/status/latest.html Kernelnewbies status] * Find links to corresponding changesets (!!) * Keep track of what gets changed |
<<Include(Linux_5.16)>> |
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.16 was released on Sun, 9 Jan 2022.
Summary: This release adds a new futex_waitv syscall that can speeds up games by letting them wait for multiple futexes with a single system call; a file system health reporting API baed on fanotify; introduction of the concept of "memory folios", which speeds up some memory management areas significantly; support in the task scheduler for CPU "clusters" that share some L2/L3 cache; support for Intel AMX instructions; support for DAMON-based proactive memory reclamation and improved write congestion management. As always, there are many other features, new drivers, improvements and fixes.
Contents
-
Prominent features
- New futex_waitv() system call for faster game performance
- File system health reporting through fanotify
- Memory folios infrastructure for a faster memory management
- Add cluster scheduler support to the task scheduler
- Add support for AMX instructions
- DAMON-based proactive memory reclamation, operation schemes and physical memory monitoring
- Improve write congestion
- 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
- 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)
- Inter-Integrated Circuit (I2C + I3C)
- Hardware monitoring (hwmon)
- General Purpose I/O (gpio)
- Leds
- DMA engines
- Cryptography hardware acceleration
- PCI
- FRU Support Interface (FSI)
- Clock
- PHY ("physical layer" framework)
- Various
- List of Pull Requests
- Other news sites
1. Prominent features
1.1. New futex_waitv() system call for faster game performance
This release adds a new system call, futex_waitv(2), which allows to wait on multiple futexes with a single system call. The main use case is emulating Windows' WaitForMultipleObjects call, which allows software like Proton to improve the performance of Windows Games. Native Linux games can also benefit from this interface as this is a common wait pattern for this kind of applications.
Recommended LWN article: Short subjects: Realtime, Futexes, and ntfs3
Documentation: Documentation/userspace-api/futex2.rst
1.2. File system health reporting through fanotify
This release adds a new FAN_FS_ERROR fanotify event type for file system-wide error reporting. It is meant to be used by file system health monitoring daemons, which listen for these events and take actions (notify sysadmin, start recovery) when a file system problem is detected. It tries to report only the first error that occurred for a file system since the last notification, and it simply counts additional errors. This ensures that the most important pieces of information are never lost. Right now, the only file system that supports this interface is Ext4.
Documentation: Documentation/admin-guide/filesystem-monitoring.rst
1.3. Memory folios infrastructure for a faster memory management
To manage the system's memory, the available RAM is split into small units, called pages. The size of these pages vary depending on the architecture, but on x86 systems it's KB. In modern systems with several tens of GB, such small page size equals to a vast amount of pages, which are difficult to manage. To solve this problem, the Linux kernel developed the concept of compound pages, which are page structures that can contain more than one physical page. But the way these compound pages work is not clear, and it has bug-prone APIs that also introduce some overhead all across the kernel.
This release introduces the concept of page folios, which are like compound pages, but with better semantics. Using page folios in some core parts of the kernel brings some performance improvements in common workloads. This release will include the core infrastructure of page folios and converts some parts of the core memory management subsystem and the page cache. Future releases will convert some file systems and introduce multi-page folios.
Recommended LWN articles: Clarifying memory management with page folios, and The folio pull-request pushback
1.4. Add cluster scheduler support to the task scheduler
Some machines have a level of hardware topology in which some CPU cores, typically 4 cores, share L3 tags (e.g. ARM's Kunpeng 920) or L2 cache (e.g. x86's Jacobsville). Awareness of this special topology can drastically improve the task scheduling decisions: spreading those tasks between clusters will bring more memory bandwidth and decrease cache contention (but this isn't always a win: packing tasks might help decrease the latency of cache synchronization). This release adds support for cluster typologies to the task scheduler.
1.5. Add support for AMX instructions
This release adds support for Intel's Advanced Matrix Extensions (AMX). These extensions will be shipping on servers soon. AMX consists of configurable TMM "TILE" registers plus new CPU instructions that operate on them. TMUL (Tile matrix MULtiply) is the first operator to take advantage of the new registers, and additional instructions will be added in the future.
Because of the size that this new extension would add to the signal stack of each task, it requires using a new arch_prctl(2) mechanism to read the supported features and request permission for dynamically enabling it for the calling process and its children.
1.6. DAMON-based proactive memory reclamation, operation schemes and physical memory monitoring
Following up the merge of DAMON in Linux 5.15, this release adds support for a few DAMON-based features:
DAMON_RECLAIM, which is based on DAMON and finds cold memory regions and reclaims those immediately. It is intended to be used as proactive lightweight reclamation logic for light memory pressure. To avoid it consuming too much CPU for the paging out operation, a speed limit can be configured, and for heavy memory pressure, it is possible to configure it to disable itself and fall back to the traditional page-scanning based reclamation. Documentation: Documentation/admin-guide/mm/damon/reclaim.rst.
Data Access Monitoring-based Operation Schemes (DAMOS). In short, this feature allows applying a defined madvise() operation to a memory region that has a specific access frequency for a specified time. This is done by writing a line to a schemes file in the debugfs filesystem. For example, the configuration # echo "4096 8192 0 5 10 20 2" > schemes means "If a memory region of size in [4KiB, 8KiB] is showing accesses per aggregate interval in [0, 5] for aggregate interval in [10, 20], apply the madvise MADV_PAGEOUT operation". Documentation: Documentation/admin-guide/mm/damon/usage.rst.
- Add support for Physical Memory Address Space Monitoring. Recent versions only supported monitoring virtual memory addresses.
1.7. Improve write congestion
When a process writes lots of data and the disk can't keep up (i.e. it's "congested"), the process must not be allowed to continue making more write requests until the current write requests are completed. The mechanisms used to signal when congestion is happening is completely broken and is being replaced with a new approach.
Recommended LWN article: Replacing congestion_wait()
2. Core (various)
(FEATURED) futex: splitup and waitv syscalls commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
(FEATURED) File system wide monitoring. This feature is limited to an interface for administrators to monitor the health of a file system, instead of a generic interface for file errors. It is implemented as a new type of fanotify mark, FAN_ERROR, which a file system monitoring tool can register to receive error notifications. When an error occurs a new notification is generated that lets userspace know something happened on a monitored filesystem. Since only the first error is recorded since the last read, this also includes a counter of errors that happened since the last read. commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
- io_uring
Implement async hybrid mode for pollable requests. The current logic of requests with IOSQE_ASYNC is first queueing it to io-worker, then execute it in a synchronous way. For unbound works like pollable requests(e.g. read/write a socketfd), the io-worker may stuck there waiting for events for a long time. And thus other works wait in the list for a long time too. This release introduces a new way for pollable requests. A request will first be queued to io-worker, then executed in a nonblock try rather than a synchronous way commit, commit
Add more uring info to fdinfo for debug commit
- Task scheduler
(FEATURED) Expose the topology of clusters and add cluster scheduler support commit, commit, commit
Support schedstats for RT sched class commit, commit, commit, commit, commit, commit, commit, commit
Add statistics and document for cfs bandwidth burst commit, commit
Improve newidle lb cost tracking and early abort commit, commit, commit, commit, commit
Add some additional idle accounting, change some idle interactions commit, commit, commit
Clean up might_sleep() and make it RT aware commit, commit, commit, commit, commit, commit, commit, commit
Provide Kconfig support for default dynamic preempt mode commit
Fix load balancing of SMT siblings with ASYM_PACKING commit, commit, commit, commit, commit, commit
Missing prctl uapi pieces for PR_SCHED_CORE (core scheduling API) commit
Kernel Concurrency Sanitizer (KCSAN) updates commit, commit, commit, commit, commit, commit, commit, commit, commit
Introduce a counter character device interface that allows Counter events and associated data to be read() by userspace commit, commit, commit, commit, commit, commit, commit, commit, commit
fscrypt: allow 256-bit master keys with AES-256-XTS commit
fuse: add FOPEN_NOFLUSH flag returned by OPENDIR request to avoid flushing data cache on close commit
Update to zstd 1.4.10. Kernel version was very old and various subsystems have significant performance improvements commit, commit, commit, commit
kbuild: Add make tarzst-pkg build option commit
- kunit
dyndbg: Remove support for ddebug_query param commit
kdb: Adopt scheduler's task classification commit
locks: remove LOCK_MAND flock lock support commit
The misc controller now reports allocation rejections through misc.events instead of printking commit, commit, commit
3. File systems
- Btrfs
Zoned namespace Support commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Set of small optimizations for inode logging (+3% throughput, -11% latency on sample dbench workload) commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Rework directory logging to make it more efficient (less tree searches and locking) commit, commit, commit, commit, commit
Speedup bulk btree item insertions (bulk creation run time -4%, deletion -12%) commit, commit, commit
Limited subpage compressed write 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
Subpage defragmentation support commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Prepare for send v2 protocol commit
- XFS
- Ceph
- EROFS
- CIFS
- F2FS
4. Memory management
(FEATURED) Memory folios. These are compound pages that are guaranteed to not be a tail page. This allows for some nice optimizations commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, 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) Improve writeback throttling commit, commit, commit, commit, commit, commit, commit, commit
- DAMON
(FEATURED) Introduce DAMON-based Proactive Reclamation commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
(FEATURED) Implement Data Access Monitoring-based Memory Operation Schemes commit, commit, commit, commit, commit, commit, commit
(FEATURED) Support Physical Memory Address Space Monitoring commit, commit, commit, commit, commit, commit, commit
vfs: keep inodes with page cache off the inode shrinker LRU commit
- hugetlb
Add demote/split page functionality. Demotion provides a means of 'in place' splitting of a hugetlb page to pages of a smaller size. This avoids freeing pages to buddy and then trying to allocate from buddy. Page demotion is controlled via sysfs files that reside in the per-hugetlb page size and per node directories commit, commit, commit, commit, commit
Adds node format for 'hugetlb_cma' parameter to support specifying the size of CMA per-node commit
Extend the definition of hugepages parameter to support node allocation at boot time commit
- memcg
Restrict memory hotplug to 64 bit commit
kfence: limit currently covered allocations when pool nearly full commit, commit, commit, commit, commit
Increase default MLOCK_LIMIT to 8 MiB commit
Allow only SLUB on PREEMPT_RT commit
Disable NUMA_BALANCING_DEFAULT_ENABLED and TRANSPARENT_HUGEPAGE on PREEMPT_RT commit
Remove HARDENED_USERCOPY_FALLBACK commit
5. Block layer
Adds support for batching requests for completion. This includes things like freeing a batch of tags. This raises the single core efficiency on a test system from ~6.1M IOPS to ~6.6M IOPS running a random read workload at depth 128 on two gen2 Optane drives commit, commit, commit, commit, commit, commit
Initial support for multi-actuator hard disks commit, commit, commit, commit, commit
blk-mq: support concurrent queue quiescing commit, commit, commit, commit, commit, commit
Restore I/O priority support in the mq-deadline scheduler commit, commit, commit, commit
Switch block layer polling to a bio based model commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Various block layer optimizations commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
cdrom: improved ioctl for media change detection commit
null_blk: poll queue support commit
virtio-blk: add num_request_queues module parameter commit
virtio_blk: allow 0 as num_request_queues commit
zram: introduce an aged idle interface commit
Remove support for cryptoloop and the xor transfer commit
6. Tracing, perf and BPF
- BPF
Add a new kind of bpf map: the bloom filter map. Bloom filters are a space-efficient probabilistic data structure used to quickly test whether an element exists in a set commit, commit, commit, commit, commit
Add support for BTF_KIND_DECL_TAG typedef commit, commit, commit, commit, commit
Typeless/weak ksym for gen_loader + misc commit, commit, commit, commit, commit, commit, commit, commit
Implement variadic printk helper commit, commit, commit, commit, commit, commit, commit, commit, commit
Disallow unprivileged bpf by default commit
Support kernel module function calls from eBPF commit, commit, commit, commit, commit, commit, commit, commit, commit
Support <8-byte scalar spill and refill commit, commit, commit, commit
Add support for new btf kind BTF_KIND_TAG. The new attribute can also be used for bpf programs, e.g., tagging with __user attributes for function parameters, specifying global function preconditions, etc. Such information may help verifier to detect user program bugs commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
libbpf: support custom .rodata.*/.data.* sections commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
libbpf: add bulk BTF type copying API commit, commit, commit
libbpf: add legacy uprobe support commit, commit, commit, commit
libbpf: stricter BPF program section name handling commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
libbpf: Deprecate AF_XDP support commit
libbpf: Introduce legacy kprobe events support commit
Add support for writable bare tracepoint commit, commit, commit
Support uniform BTF-defined key/value specification across all BPF maps commit
- perf
perf dlfilter: Add dlfilter-show-cycles commit, commit, commit, commit, commit, commit
perf inject: Add vmlinux and ignore-vmlinux arguments commit, commit, commit
perf metric: Fixes and allow modifiers commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
perf record: Add --synth option commit
perf script: Show binary offsets for userspace addr commit
perf script: Support instruction latency commit
perf tools: Allow controlling synthesizing PERF_RECORD_ metadata events during record commit
perf tools: Enable libtracefs dynamic linking commit
tracing: Extend histogram triggers expression parsing commit, commit, commit, commit, commit, commit, commit
7. Virtualization
vdpa: enable user to set mac, mtu commit, commit, commit, commit, commit, commit, commit, commit
vDPA driver for Alibaba ENI commit, commit, commit, commit, commit, commit, commit, commit
- vfio
Introduce some interfaces for ACRN hypervisor HSM commit, commit
virtio-mem: Support VIRTIO_MEM_F_UNPLUGGED_INACCESSIBLE commit
8. Cryptography
engine: Add KPP Support to Crypto Engine commit
9. Security
Add LSM access controls and auditing to io_uring commit, commit, commit, commit, commit, commit, commit, commit
ima: add gid support commit
Fixups for the security hooks in sctp commit, commit, commit, commit
selinux: enable genfscon labeling for securityfs commit
selinux: remove the SELinux lockdown implementation commit
10. Networking
Introduce a new socket option SO_RESERVE_MEM. This socket option provides a mechanism for users to reserve a certain amount of memory for the socket to use. When this option is set, kernel charges the user specified amount of memory to memcg. This amount of memory is not reclaimable and is available for this socket. With this socket option set, the networking stack spends less cycles doing forward alloc and reclaim, which should lead to better system performance, with the cost of an amount of pre-allocated and unreclaimable memory, even under memory pressure commit, commit, commit
Add support for Automatic Multicast Tunneling (RFC 7450), a protocol for delivering multicast traffic from sources in a multicast-enabled network to receivers that lack multicast connectivity to the source network. The protocol uses UDP encapsulation and unicast replication to provide this functionality commit, commit, commit, commit, commit
ARP: introduce arp_evict_nocarrier sysctl. When set (default) the ARP cache will be cleared on a NOCARRIER event commit
ndisc: introduce ndisc_evict_nocarrier sysctl which can be disabled by a wireless supplicant during a roam. This allows packets to be sent after a roam immediately without having to wait for neighbor discovery commit
Add the netlink interface for CAN-FD Transmitter Delay Compensation (TDC) commit, commit, commit, commit, commit, commit
- 802.11:
- devlink
- dsa
ethtool: Add ability to control transceiver modules' power mode commit, commit, commit, commit, commit
- Packet scheduler
hsr: Add support for redbox supervision frames as defined in the IEC-62439-3:2018 commit
- IPv6
ipvs: add sysctl run_estimation to support disable estimation commit
- MCTP
Managed Neighbor Entries: Introduce managed neighbor entries - added by control plane and resolved by the kernel for use in acceleration paths (BPF / XDP right now, HW offload users will benefit as well) commit, commit, commit, commit
- Netfilter
phylink: Support disabling autonegotiation for PCS commit
- smc
- TLS
UDP6: allow SO_MARK ctrl msg to affect routing commit
xsk: introduces a batched interface for Rx buffer allocation in AF_XDP buffer pool commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
- Bluetooth
Add offload feature under experimental flag commit
Add support for HCI_Enhanced_Setup_Synchronous_Connection command commit
Add support for Read Local Supported Codecs commit
Add support for msbc coding format commit
Allow setting of codec for HFP offload use case commit
Configure codec for HFP offload use case commit
hci_sock: Add support for BT_{SND,RCV}BUF commit
NFC: add necessary privilege flags in netlink layer commit
bridge: mcast: add and enforce query interval minimum commit and startup query interval minimum commit
11. Architectures
11.1. ARM
- Device Tree Sources
- Qualcomm
Gains support for Snapdragon 690 (aka SM6350) commit as well as SM7225 commit
Add device tree for Fairphone 4 commit
Add support for LG G Watch R commit
Add device tree for Sony Xperia 10 III commit
Add device tree for Samsung Galaxy S4 Mini Value Edition commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
msm8996: Add support for the Xiaomi MSM8996 platform, supporting the devices Mi 5 (gemini), Mi Note 2 (scorpio), Mi 5s (capricorn), Mi Mix (lithium), Mi 5s Plus (natrium) commit, and Xiaomi Mi 5 commit
msm8998: Introduce support for Sony Yoshino platform, supporting phones Sony Xperia XZ1 (codename Poplar), Sony Xperia XZ1 Compact (codename Lilac), and Sony Xperia XZ Premium (codename Maple) commit
Add support for MSM8998 F(x)tec Pro1 QX1000 commit
sc7280: Add Herobrine commit
Add sc7180-trogdor-homestar commit
Add IPQ8074 family ID-s commit
Implement SPM/SAW for MSM8998 and SDM6xx commit, commit, commit, commit, commit
Add SMP support for MSM8226 commit
Add Sleep stats driver commit
- Microchip
Add the SAMA5D29 SoC in the SAMA5 family commit
Add basic support for Microchip LAN966 ARMv7 based SoC family of multiport gigabit AVB/TSN-capable ethernet switches commit
Add CalAmp LMU5000 board commit
Add Exegin Q5xR5 board commit
Add support for sama7g5 commit, commit, commit, commit, commit, commit, commit, commit
Samsung gains support for ExynosAutov9 SoC, an automotive version of their smartphone SoC commit, commit
Aspeed supports two additional server boards using their AST2600 as BMC: TYAN S7106 BMC machine commit, Inventec Transformers BMC commit
- Rockchip
Add RK3566 support commit
Add RK3399 ROCK Pi 4A+ board commit
Add RK3399 ROCK Pi 4B+ board commit
Add support for Firefly ROC-RK3328-PC commit
Add support for Firefly ROC-RK3399-PC-PLUS commit
Dumo, another variant of Scarlet, also known as the ASUS Chromebook Tablet CT100 commit
Add basic dts for Pine64 Quartz64-A commit
Two NAS boxes are added using the ARMv4 based Gemini platform: SSI 1328 commit and edimax NS2502 commit
Intel Arria SoC FPGA family: Add support for the Mercury+ AA1 module commit
- Marvell
Add the device tree for a Netgear GS110EMX switch featuring 8 Gigabit ports and 2 Multi-Gig ports (100M/1G/2.5G/5G/10G). An 88E6390X switch sits at its core connecting to two 88X3310P 10G PHYs. The control plane is handled by an 88F6811 Armada 381 SoC commit
Add Globalscale MOCHAbin 7040 development board commit
- NXP
STmicroelectronics: add STM32MP13 SoCs support. It adds machine support and device tree diversity to support the whole stm32mp13 family (STM32MP131/STM32MP133/STM32MP135) commit, commit, commit, commit, commit
- Renesas
- Broadcom
Colibri iMX6ULL 1GB commit
Toshiba adds one board for the Visconti family commit, commit
- Xilinx
- Amlogic
Add Netronix E70K02 board common file commit
Add device tree for the LX2160A on the NXP BlueBox3 board commit
- TI
tegra: Add Tegra186 ARI driver commit
amlogic: meson-gx-socinfo: Add S905Y2 ID for Radxa Zero commit
fsl: dpio: add Net DIM integration commit
fsl: dpio: add support for irq coalescing per software portal commit
imx: add i.MX8M blk-ctrl driver commit
mediatek: mmsys: Add reset controller support commit
samsung: exynos-chipid: Add Exynos850 support commit
samsung: exynos-chipid: add exynosautov9 SoC support commit
qcom: smd-rpm: Add QCM2290 compatible SoC support commit
qcom: smd-rpm: Add compatible for MSM8953 SoC commit
soc: aspeed: Add UART routing support commit
- Qualcomm
Add Coresight support for RB5 board commit
coresight: cpu-debug: Control default behavior via Kconfig commit
Support THREAD_INFO_IN_TASK commit, commit, commit, commit, commit
perf arm-spe: Add snapshot mode support commit, commit, commit
perf arm-spe: Track pid/tid for Arm SPE samples commit, commit, commit, commit
- ARM64
Add support for the ARMv8.6 timer extensions, including a self-synchronising view of the system registers to elide some expensive ISB instructions commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Enable nitro enclaves commit, commit, commit, commit, commit, commit, commit
KASAN support for "asymmetric" MTE, where tag faults are reported synchronously for loads (via an exception) and asynchronously for stores (via a register) commit, commit, commit, commit, commit
Enable MMU during kexec relocation in order to improve reboot performance commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
perf vendor events arm64: Add new armv8 pmu events commit
perf vendor events arm64: Categorise the Neoverse V1 counters commit
- KVM
11.2. x86
Add support for Vortex CPUs commit
Rewrite the retpoline rewrite logic commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
(FEATURED) Support Intel Advanced Matrix Extensions (AMX). These extensions will be shipping on servers soon. AMX consists of configurable TMM "TILE" registers plus new CPU instructions that operate on them. TMUL (Tile matrix MULtiply) is the first operator to take advantage of the new registers, and we anticipate additional instructions in the future. Neither AMX state nor TMUL instructions depend on AVX commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Optimize out sigframe xfeatures when in init state. AMX state is ~8k. Signal frames can have space for this ~8k and each signal entry writes out all 8k even if it is zeros. Skip writing zeros for AMX to speed up signal delivery by about 4% overall when AMX is in its init state commit
Add Raptor Lake to Intel family commit
Move register state into a container struct commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Change default to spec_store_bypass_disable=prctl spectre_v2_user=prctl commit
Fake iopl(3) CLI/STI usage commit
Optimize C3 entry on AMD CPUs commit
intel_idle: enable interrupts before C1 on Xeons commit
- platform
Add initial support for Surface Pro 8 commit
Add support for Surface Laptop Studio commit
Add support for Surface Laptop Studio commit
Add Intel ishtp eclite driver commit
Add driver for ACPI WMAA EC-based backlight control commit
Support for EC-connected GPIOs for identify LED/button on Barco P50 board commit
gigabyte-wmi: add support for B550 AORUS ELITE AX V2 commit
gigabyte-wmi: add support for B550I Aorus Pro AX commit
hp-wmi: add support for omen laptops commit
ideapad-laptop: Add platform support for Ideapad 5 Pro 16ACH6-82L5 commit
mlx-platform: Add initial support for new modular system commit
mlx-platform: Add support for multiply cooling devices commit
mlx-platform: Add support for new system SGN2410 commit
system76_acpi: Add battery charging thresholds commit
system76_acpi: Report temperature and fan speed commit
thinkpad_acpi: Add support for dual fan control commit
touchscreen_dmi: Add info for the Viglen Connect 10 tablet commit
sgx_vepc: implement a ioctl that performs EREMOVE on all pages mapped by a /dev/sgx_vepc file descriptor commit, commit
Add Hyper-V Isolation VM support commit, commit, commit, commit, commit, commit, commit, commit
perf annotate: Add fusion logic for AMD microarchs commit
perf intel-pt: Add PEBS-via-PT side-band commit, commit, commit
- KVM
Add Guest API & Guest Kernel support for SEV live migration commit, commit, commit, commit, commit
Add AMD SEV and SEV-ES intra host migration support commit, commit, commit, commit
Expose AMD Zen3 Predictive Store Forwarding disable commit
Add idempotent controls for migrating system counter state commit, commit, commit, commit, commit, commit, commit
SVM's optional features for nesting commit, commit, commit, commit, commit
Make NX huge page recovery period configurable commit
11.3. RISC-V
Add support for time namespaces commit
Add BPF exception tables commit
Add KVM support commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
perf annotate: Add riscv64 support commit
11.4. S390
ap: new module option ap.useirq commit
ftrace: add HAVE_DYNAMIC_FTRACE_WITH_ARGS support commit
ptrace: add function argument access API commit
DYNAMIC_FTRACE_WITH_DIRECT_CALL support commit, commit, commit, commit
- Implement livepatch on PPC32
Add support for BEAR enhancement facility commit
Allow multiple processes to access /dev/hwc commit
KVM: Add a routine for setting userspace CPU state commit
Add support for ftrace direct multi sample commit
11.5. MIPS
Add CPU option reporting commit
Remove NETLOGIC support commit
A new eBPF JIT implementation for MIPS commit, commit, commit, commit, commit, commit, commit
11.6. PA-RISC
Add support for the TOC switches found on most PA-RISC machines commit, commit, commit, commit
Add KFENCE support commit
11.7. PowerPC
Activate CONFIG_STRICT_KERNEL_RWX by default commit
perf: Add support to expose instruction and data address registers as part of extended regs commit
pseries/dma: Add support for 2M IOMMU page size commit
Add support for out-of-line static calls commit
12. Drivers
12.1. Graphics
Allow empty drm leases. This can be used to create a separate DRM file description, thus creating a new GEM handle namespace commit
- AMD
Initial DP 2.0 support commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Initial USB4 DP tunnelling support commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Cyan Skillfish display support commit
Support B0&B1 external revision id for yellow carp commit
New debugfs interface for MMIO registers commit
Add debugfs access to the IP discovery table commit
- Intel
Introduce Intel PXP commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Add a new parallel submission uAPI which allows more than 1 BB to be submitted in an execbuf IOCTL commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Enable GuC submission by default on DG1 commit, commit, commit, commit
Update ADL-S PCI IDs commit
DG1: Add new PCI id commit
Enable mipi dsi support commit
Add pci ids and uapi for DG1 commit
Add support for panels with VESA backlights with PWM enable/disable commit
DP per-lane drive settings prep work commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Extend the async flip VT-d w/a to skl/bxt commit
Use Transparent Hugepages when IOMMU is enabled commit
- msm
- stm
- v3d
- gud
- virtio
- panel
Implement generic "edp-panel"s probed by EDID commit
Add support for Sharp LS060T1SX01 panel commit
boe-tv101wum-nl6: Support enabling a 3.3V rail commit
panel-simple: add LOGIC Technologies LTTD800480070-L2RT panel commit
s6d27a1: Add driver for Samsung S6D27A1 display panel commit
support for BOE and INX video mode panel commit
- bochs
Add Bochs PCI ID for Simics model commit
Add R10 and R12 FourCC commit
rcar-du: Add r8a779a0 device support commit
zte: remove obsolete DRM Support for ZTE SoCs commit
fbdev: Garbage collect fbdev scrolling acceleration commit
media: i.MX6: Support 16-bit BT.1120 video input commit
12.2. Power Management
ACPICA: Add support for MADT online enabled bit commit
PM / wakeirq: support enabling wake-up irq after runtime_suspend called commit, commit, commit
Add support for inefficient operating performance points to the Energy Model and modify cpufreq to use them properly commit, commit, commit, commit, commit, commit, commit, commit, commit
Add CPU load consideration when estimating the instaneous power consumption in DTPM commit, commit, commit, commit, commit
Support running driver's probe for a device powered off commit, commit, commit, commit, commit, commit
12.3. Storage
nvme: add nvme map queues support (for qla2xxx) commit, commit
nvme: support unique discovery controller commit, commit, commit, commit, commit, commit, commit
nvme: Discovery controller discovery support commit, commit, commit
nvme: generate uevent once a multipath namespace is operational again commit
Add AHCI support for ASM1062+JBM575 cards commit
ata: ahci: Add Green Sardine vendor ID as board_ahci_mobile commit
- scsi
12.4. Drivers in the Staging area
PCI: mt7621: Add MediaTek MT7621 PCIe host controller driver commit
media: cedrus: hevc: Add support for scaling lists commit
media: hantro: Add scaling lists feature commit
media: rkvdec: Support dynamic resolution changes commit
Remove Netlogic XLP network driver commit
12.5. Networking
- Bluetooth
btintel: support link statistics telemetry events commit
btrtl: Add support for MSFT extension to rtl8821c devices commit
btrtl: enable Realtek 8822C/8852A to support AOSP extension commit
btusb: Add another Bluetooth part for Realtek 8852AE commit
btusb: Add protocol for MediaTek bluetooth devices(MT7922) commit
btusb: Add support for IMC Networks Mediatek Chip(MT7921) commit
btusb: Add support for TP-Link UB500 Adapter commit
btusb: Add the new support ID for Realtek RTL8852A commit
btusb: Support public address configuration for MediaTek Chip commit
hci_vhci: Add support for offload codecs over SCO commit
- RDMA
RDMA/efa: EFA dmabuf memory regions commit
RDMA/efa: CQ notifications commit
- ath11k
ath9k: add option to reset the wifi chip via debugfs commit
atlantic: Add missing DIDs and fix 115c commit
ax88796c: ASIX AX88796C SPI Ethernet Adapter Driver commit
bcmgenet: add support for ethtool flow control commit
- bnxt_en
can: peak_usb: CANFD: store 64-bits hw timestamps commit
dpaa2-eth: add support for IRQ coalescing commit, commit, commit, commit, commit
dpaa2-mac: add support for more ethtool 10G link modes commit
- dsa
microchip: implement multi-bridge support commit
Multiple improvement for qca8337 switch commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
realtek-smi: add rtl8365mb subdriver for RTL8365MB-VC commit
rtl8366rb: Support bridge offloading commit
rtl8366rb: Use core filtering tracking commit
enetc: add support for software TSO commit
- hns3
PF support get MAC address space assigned by firmware commit, commit
Add debugfs support for interrupt coalesce commit
debugfs add support dumping page pool info commit
Add support pause/pfc durations for mac statistics commit
Add update ethtool advertised link modes for FIBRE port when autoneg off commit
device specifications add number of mac statistics commit
- ice
Introduce initial support for Application Device Queues(ADQ) commit, commit, commit
Add support for QoS DSCP allowing for DSCP to TC mapping via APP TLVs commit
Extend the driver implementation to support PTP pins on E810-T and derivative devices commit, commit, commit, commit
Implement support for ndo_set_vf_rate allowing for min_tx_rate and max_tx_rate to be set for a VF commit
Marcin sets netdev min and max MTU values on port representors to allow for MTU changes over default values commit
Add support for adding/removing advanced switch filters commit, commit, commit, commit, commit, commit, commit, commit, commit
Add switchdev driver model commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Add support for eswitch drop and redirect filters from and to tunnel devices. From meaning from uplink to VF and to means from VF to uplink commit, commit, commit, commit, commit
XDP_TX improvements commit, commit, commit, commit, commit, commit, commit, commit, commit
igc: Add new device ID commit
- ionic
- ionic
- iwlwifi
lantiq: add support for jumbo frames commit
mac80211_hwsim: enable 6GHz channels commit
- macb
- mana
marvell: prestera: add firmware v4.0 support commit
mellanox: mlxreg-lc: Add initial support for Nvidia line card devices commit
microchip: lan743x: add support for PTP pulse width (duty cycle) commit
- mlx4
- mlx5
Add HW GRO support commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Add the support for new lag mode based on packet hash commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Bridge, support replacing existing FDB entry commit
Add SFs support commit
Increase supported num of actions to 32 commit
Support HW offload of TC rules involving OVS internal port device type as the filter device or the destination device commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
- Memory optimizations
Let user configure event_eq_size param commit
Let user configure io_eq_size param commit
Let user configure max_macs param commit
- mlx5e
mlx5i: Enable Rx steering for IPoIB via ethtool commit
- mlxsw
Add support for IP-in-IP with IPv6 underlay commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Show per-band ECN-marked counter on qdisc commit, commit, commit, commit, commit
Multi-level qdisc offload commit, commit, commit, commit, commit, commit, commit, commit, commit
Support multiple RIF MAC prefixes commit, commit, commit, commit, commit, commit, commit, commit, commit
- mscc
- mt76
Add MT7921 SDIO support commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Introduce 6GHz support to mt7921 driver commit, commit, commit, commit, commit, commit, commit, commit, commit
Add support for setting mcast rate commit
mt7915: add LED support commit
mt7915: add WA firmware log support commit
mt7915: add debugfs knobs for MCU utilization commit
mt7915: add ethtool stats support commit
mt7915: add mib counters to ethtool stats commit
mt7915: add some per-station tx stats to ethtool commit
mt7915: add twt_stats knob in debugfs commit
mt7915: add tx mu/su counters to mib commit
mt7915: add tx stats gathered from tx-status callbacks commit
Enable HE UL MU-MIMO commit
mt7915: enable configured beacon tx rate commit
mt7915: introduce bss coloring support commit
mt7915: introduce mt76 debugfs sub-dir for ext-phy commit
Introduce individual TWT support in AP mode commit, commit, commit, commit, commit
mt7921: Add mt7922 support commit
mt7921: add MU EDCA cmd support commit
ethtool stats features commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
mt7921: enable aspm by default commit
mt7921: introduce testmode support commit
mvneta: populate supported_interfaces member commit
netdevsim: add ability to change channel count commit
nfp: flower: Allow ipv6gretap interface for offloading commit
- octeontx2
phy: Add qca8081 ethernet phy driver commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
phy: at803x: add QCA9561 support commit
phy: at803x: add resume/suspend function to qca83xx phy commit
phy: at803x: add support for qca 8327 A variant internal phy commit
phy: at803x: add support for qca 8327 internal phy commit
phy: broadcom: Add IDDQ-SR mode commit
phy: broadcom: Enable 10BaseT DAC early wake commit
phy: marvell10g: add downshift tunable support commit
phy: micrel: Add support for LAN8804 PHY commit
phy: realtek: add support for RTL8365MB-VC internal PHYs commit
r8169: Add device 10ec:8162 to driver r8169 commit
r8169: remove support for chip version RTL_GIGA_MAC_VER_27 commit
ravb: Add support to retrieve stats for GbEthernet commit
ravb: Add Gigabit Ethernet driver support commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
rtw88: support adaptivity for ETSI/JP DFS region commit
rtw88: 8821c: support RFE type4 wifi NIC commit
rtw89: add Realtek 802.11ax driver commit
virtio_net: introduce TX timeout watchdog commit
- wcn36xx
wwan: iosm: brings-in support for M.2 7560 Device firmware flashing & coredump collection using devlink commit, commit, commit, commit, commit, commit
12.6. Audio
firewire-motu: add ioctl commands to retrieve information in messages delivered by isoc packet commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
firewire-motu: add support for MOTU Traveler mk3 commit
firewire-motu: add support for MOTU Track 16 commit
firewire-motu: export meter information to userspace as float value commit
Support for non-contiguous and non-coherent page allocations commit, commit, commit
usb-audio: Improved lowlatency playback support commit
usb-audio: Add support for the Pioneer DJM 750MK2 Mixer/Soundcard commit
- hda:
soundwire: qcom: add debugfs entry for soundwire register dump commit
- ASoC
Add Audio Graph Card2 support commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Ietel: Add Dell ADL products support commit, commit, commit, commit, commit, commit, commit, commit, commit
Add Yellow Carp platform ASoC driver commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Add common modules support for ACP hw block commit, commit, commit, commit, commit, commit, commit, commit
qcom: sm8250: add support for TX and RX Macro dais commit, commit
tegra: Restore AC97 support commit
nau8825: add set_jack coponment support commit
qcom: Add AudioReach support commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Intel: add machine driver for SOF+ES8336 commit
Intel: glk_rt5682_max98357a: support ALC5682I-VS codec commit
Intel: sof_rt5682: Add support for max98360a speaker amp commit
SOF: Add support for on demand pipeline setup/destroy commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
SOF: core: allow module parameter to override dma trace Kconfig commit
SOF: imx8m: add SAI1 info commit
codecs: tfa989x: Add support for tfa9897 RCV bit commit
cs35l41: CS35L41 Boosted Smart Amplifier commit
cs42l42: Implement Manual Type detection as fallback commit
dmaengine: Introduce module option prealloc_buffer_size_kbytes commit
es8316: add support for ESSX8336 ACPI _HID commit
fsl_spdif: Add support for i.MX8ULP commit
fsl_spdif: implement bypass mode from in to out commit
max98520: add max98520 audio amplifier driver commit
mediatek: mt8195: add machine driver with mt6359, rt1011 and rt5682 commit
nau8821: new driver commit
rockchip: add support for i2s-tdm controller commit
rt5682s: Add driver for ALC5682I-VS codec commit
Extend AHUB audio support for Tegra210 and later commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
SOF: Intel: pci-tgl: add ADL-N support commit
SOF: Intel: pci-tgl: add new ADL-P variant commit
12.7. Tablets, touch screens, keyboards, mouses
cypress-sf: add Cypress StreetFighter touchkey driver commit
goodix: add support for controllers without flash commit
tm2-touchkey: allow changing keycodes from userspace commit
ili210x: add ili251x firmware update support commit
ili210x: export ili251x version details via sysfs commit
cap11xx: add support for cap1206 commit
- HID
nintendo: Nintendo Joy-Con and Pro Controller support commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Add support for side buttons of Xiaomi Mi Dual Mode Wireless Mouse Silent commit
apple: Add support for the 2021 Magic Keyboard commit
playstation: expose DualSense lightbar through a multi-color LED commit
u2fzero: Support NitroKey U2F revision of the device commit
playstation: expose DualSense player LEDs through LED class commit
surface-hid: Allow driver matching for target ID 1 devices commit
wacom: Add new Intuos BT (CTL-4100WL/CTL-6100WL) device IDs commit
12.8. TV tuners, webcams, video capturers
Add V4L2_PIX_FMT_NV12_4L4 pixel format commit, commit, commit
Add ADV7610 support for adv7604 driver commit
Add sensor driver support for the ov13b10 camera commit
allegro: Add support for the Encoder Buffer commit, commit, commit, commit, commit, commit
aspeed: add debugfs commit
gspca/sn9c20x: Add ability to control built-in webcam LEDs commit
hevc: Add scaling matrix control commit
i2c: add driver for the SK Hynix Hi-846 8M pixel camera commit
ir_toy: allow tx carrier to be set commit
mtk-vcodec: support for MT8183 decoder commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
rcar-vin: Add r8a779a0 support commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
rcar-csi2: Add r8a779a0 support commit
rcar-vin: add G/S_PARM ioctls commit
rcar-vin: add GREY format commit
rkisp1 support for px30 commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
saa7134: Add support for Leadtek WinFast HDTV200 H commit
uvcvideo: Add support for V4L2_CTRL_TYPE_CTRL_CLASS commit
v4l2-ctrls: Add V4L2_CID_NOTIFY_GAINS control commit. commit
venus: core: Add sdm660 DT compatible and resource struct commit
videobuf2: support new noncontiguous DMA API commit, commit, commit, commit, commit, commit, commit, commit
vimc: Enable set resolution at the scaler src pad commit
vivid: add module option to set request support mode commit
vsp1: Add support for the V3U VSPD commit
sir_ir: remove broken driver commit
12.9. Universal Serial Bus
qmi_wwan: add Telit 0x1070 composition commit
lan78xx: add Allied Telesis AT29M2-AF commit
gadget: storage: add support for media larger than 2T commit
host: ehci-atmel: Add support for HSIC phy commit
phy: tegra: Support OTG mode programming commit
serial: option: add Fibocom FM101-GL variants commit
serial: option: add Telit LE910S1 0x9200 composition commit
typec: tipd: Add support for Apple CD321X commit
rndis_host: support Hytera digital radios commit
12.10. Serial Peripheral Interface (SPI)
Add sc7280 support commit
Add Ingenic JZ47xx driver commit
bcm-qspi: Add mspi spcr3 32/64-bits xfer mode commit
bcm-qspi: add support for 3-wire mode for half duplex transfer commit
cadence-quadspi: Add OSPI support for Xilinx Versal SoC commit
cadence-quadspi: Add Xilinx Versal external DMA support commit
cadence: add support for Cadence XSPI controller commit
12.11. Watchdog
meson_gxbb_wdt: add timeout parameter commit
meson_gxbb_wdt: add nowayout parameter commit
sunxi_wdt: Add support for D1 commit
remove dead iop watchdog timer driver commit
12.12. Voltage, current regulators, power capping, power supply
12.13. Real Time Clock (RTC)
Add a new ioctl interface allowing to get and set extended parameters on RTCs. While its main goal is to support backup switch mode, it also intends to fix a long time issue. Until now, it was not possible to know what features were supported by an RTC before actually trying to make use of it and see that succeed or fail. In order to make tests more reliable and allow userspace to take the correct decision, the features are now exposed commit, commit, commit, commit, commit, commit, commit
Add support for the MSTAR MSC313 RTC commit
pcf8523: add BSM support commit
tps80031: Remove driver commit
12.14. Pin Controllers (pinctrl)
Add pinctrl/GPIO driver for Apple SoCs commit
mediatek: add support for MT7986 SoC commit
qcom: Add QCM2290 pinctrl driver commit
qcom: Add SM6350 pinctrl driver commit
qcom: spmi-mpp: add support for hierarchical IRQ chip commit
qcom: ssbi-mpp: add support for hierarchical IRQ chip commit
samsung: support ExynosAutov9 SoC pinctrl commit
tegra: Add pinmux support for Tegra194 commit
uniphier: Add UniPhier NX1 pinctrl driver commit
12.15. Multi Media Card (MMC)
sdhci-of-arasan: Add intel Thunder Bay SOC support to the arasan eMMC driver commit
mtk-sd: Add HS400 online tuning support commit
sdhci-esdhc-imx: add NXP S32G2 support commit
12.16. Memory Technology Devices (MTD)
rawnand: hynix: Add support for H27UCG8T2ETR-BC MLC NAND commit
block2mtd: add support for an optional custom MTD label commit
12.17. Industrial I/O (iio)
accel: Add driver support for ADXL313 commit
accel: Add driver support for ADXL355 commit
accel: adxl355: Add triggered buffer support commit
adc: ad7949: add vref selection support commit
Add support for ast2600 ADC commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
adc: at91-sama5d2_adc: add support for sama7g5 commit, commit, commit, commit, commit, commit, commit, commit
adc: stm32-adc: add internal channels support commit, commit, commit, commit, commit, commit
chemical: Add Senseair Sunrise 006-0-007 driver commit
chemical: Add support for Sensirion SCD4x CO2 sensor commit
frequency: adrf6780: add support for ADRF6780 commit
imx8qxp-adc: Add driver support for NXP IMX8QXP ADC commit
light: ltr501: Add rudimentary regulator support commit
magnetometer: ak8975: add AK09116 support commit
temperature: Add MAX31865 RTD Support commit
12.18. Multi Function Devices (MFD)
da9063: Add support for latest EA silicon revision commit
intel-lpss: Add support for MacBookPro16,2 ICL-N UART commit
rk808: Add support for power off on RK817 commit
sprd: Add support for SC2730 PMIC commit
ti_am335x_tscadc: Add ADC1/magnetic reader support commit
tps80031: Remove driver commit
12.19. Inter-Integrated Circuit (I2C + I3C)
Add Apple M1 support to PASemi i2c driver commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
i801: Add support for Intel Ice Lake PCH-N commit
virtio: Add support for zero-length requests commit
12.20. Hardware monitoring (hwmon)
Add Maxim MAX6620 hardware monitoring driver commit
dell-smm: Add support for fanX_min, fanX_max and fanX_target commit
lm90: Add basic support for TI TMP461 commit
mlxreg-fan: Add support for multiply PWM and extend the maximum number of tachometers commit, commit, commit
nct6683: Add another customer ID for NCT6683D sensor chip on some ASRock boards commit
nct6775: Add additional ASUS motherboards commit
nct6775: Support access via Asus WMI commit
nct6775: add Pro WS X570-ACE commit
nct6775: add ProArt X570-CREATOR WIFI commit
nct7802: Make temperature/voltage sensors configurable commit
occ: Provide the SBEFIFO FFDC in binary sysfs commit
pmbus/ibm-cffps: Add mfg_id debugfs entry commit
pmbus/lm25066: Support configurable sense resistor values commit
tmp401: Drop support for TMP461 commit
12.21. General Purpose I/O (gpio)
tegra186: Support multiple interrupts per bank commit
modepin: Add driver support for modepin GPIO controller commit
virtio: Add IRQ support commit
12.22. Leds
12.23. DMA engines
qcom: bam_dma: Add "powered remotely" mode commit
12.24. Cryptography hardware acceleration
hisilicon/qm: support the userspace task resetting commit
keembay-ocs-ecc: Add Keem Bay OCS ECC Driver commit
12.25. PCI
Add support for Apple M1 commit, commit, commit, commit, commit, commit, commit, commit
Add support for Hikey 970 PCIe commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
qcom-ep: Add Qualcomm PCIe Endpoint controller driver commit
12.26. FRU Support Interface (FSI)
sbefifo: Add sysfs file indicating a timeout error commit
12.27. Clock
imx: Add clock driver for imx8ulp commit
imx: Add the pcc reset controller support on imx8ulp commit
qcom: Add Global Clock Controller driver for QCM2290 commit
qcom: Add lpass clock controller driver for SC7280 commit
qcom: camcc: Add camera clock controller driver for SC7280 commit
qcom: gcc-msm8994: Add proper msm8992 support commit
qcom: gdsc: enable optional power domain support commit
qcom: smd-rpm: Add QCM2290 RPM clock support commit
renesas: r8a779a0: Add RPC support commit
renesas: rzg2l: Add SDHI clk mux support commit
samsung: Introduce Exynos850 clock driver commit
clk: samsung: add common support for CPU clocks commit
uniphier: Add NX1 clock support commit
ux500: Add driver for the reset portions of PRCC commit
12.28. PHY ("physical layer" framework)
HiSilicon: Add driver for Kirin 970 PCIe PHY commit
cadence-torrent: Add support to output received reference clock commit
qcom-qmp: Add QCM2290 USB3 PHY support commit
stm32: add phy tuning support commit
12.29. Various
auxdisplay: ht16k33: Add LED support commit
auxdisplay: ht16k33: Add support for segment displays commit
auxdisplay: linedisp: Add support for changing scroll rate commit
bus/fsl-mc: Add generic implementation for open/reset/close commands commit
counter: Implement signalZ_action_component_id sysfs attribute commit
Introduce the Counter character device interface commit, commit, commit, commit, commit, commit, commit, commit, commit
eni_vdpa: add vDPA driver for Alibaba ENI commit
extcon: usbc-tusb320: Add support for TUSB320L commit
extcon: usbc-tusb320: Add support for mode setting and reset commit
firmware: arm_ffa: Add support for MEM_LEND commit
firmware: cs_dsp: add driver to support firmware loading on Cirrus Logic DSPs commit
firmware: qcom_scm: Add compatible for MSM8953 SoC commit
firmware: xilinx: Add OSPI Mux selection support commit
- habanalabs
interconnect: merge AP-owned support into icc-rpm commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
- iommu
ipmi: Add support for access through an IPMB bus commit, commit, commit, commit, commit
irqchip/mchp-eic: Add support for the Microchip EIC commit
- mailbox
memory: MT8195 SMI support commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
mux: add support for delay after muxing commit
Add FF-A support in OP-TEE driver commit, commit, commit, commit, commit
timecard updates for v13 firmware commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
ptp: ptp_clockmatrix: Add support for FW 5.2 (8A34005) commit
ptp: ptp_clockmatrix: Add support for pll_mode=0 and manual ref switch of WF and WP commit
remoteproc: imx_dsp_rproc: Add remoteproc driver for DSP on i.MX commit
Mediatek MT8195 SCP support commit, commit, commit, commit, commit
remoteproc: meson-mx-ao-arc: Add a driver for the AO ARC remote procesor commit
Add Modem support on SC7280 SoCs commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
reset: mchp: sparx5: Extend support for lan966x commit
reset: uniphier: Add NX1 reset support commit
cxl: Enable CXL Topology commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
13. List of Pull Requests
14. Other news sites
Phoronix Linux 5.16 features