74744
Comment: shared subtree
|
1055
Linux 5.15 changelog
|
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=03e06e68ff76294e53ffa898cb844d2a997b043e (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.15)>> |
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.15 was released on Sunday, 31 Oct 2021.
Summary: This release adds a new NTFS read-write implementation; support for putting all the processes within a cgroup in the SCHED_IDLE scheduling class; Btrfs support for fs-verity and id mapping; support for the DAMON, which allows to monitor memory access patterns of specific processes; a new in-kernel SMB 3 server; a new process_mrelease(2) system call to let service managers release process resources faster; support for migrating memory pages to persistent memory instead of discarding them; support in the Device Mapper for IMA-based remote attestation; support for avoiding scheduling 32 bits tasks on 64-bit only CPUS in systems with mixed CPUs. As always, there are many other features, new drivers, improvements and fixes.
Contents
-
Prominent features
- New NTFS file system implementation
- ksmbd, a in-kernel SMB 3 server
- Migrate memory pages to persistent memory in lieu of discard
- Btrfs support for fs-verity and id mapping
- DAMON, a data access monitor
- Introduce process_mrelease(2) system call
- Real-time locking progress
- cgroup support for SCHED_IDLE
- Device Mapper IMA-based remote attestation
- Support for asymmetric scheduling affinity
- Core (various)
- File systems
- Memory management
- Block Devices
- Tracing, perf and BPF
- Virtualization
- Security
- Networking
- Architectures
-
Drivers
- Graphics
- Power management
- Storage
- Drivers in the Staging area
- Networking
- Audio
- Tablets, touch screens, keyboards, mouses
- TV tuners, webcams, video capturers
- Universal Serial Bus
- IOMMU
- Serial Peripheral Interface (SPI)
- Watchdog
- Serial
- CPU frequency scaling
- Voltage, current regulators, power capping, power supply
- Real Time Clock (RTC)
- Pin controllers (pinctrl)
- Multi Media Card (MMC)
- Memory Technology Devices (MTD)
- Industrial I/O (iio)
- Multi Function Devices (MFD)
- Inter-Integrated Circuit (I2C + I3C)
- Hardware monitoring (hwmon)
- General Purpose I/O (gpio)
- LEDs
- Hardware Random Number Generator (hwrng)
- Cryptography hardware acceleration
- PCI
- Clock
- PHY ("physical layer" framework)
- EDAC (Error Detection And Correction)
- Various
- List of pull requests
- Other news sites
1. Prominent features
1.1. New NTFS file system implementation
The Linux kernel already has a NTFS implementation, but it has severe limitations (like being read-only), which is why Linux users usually use the userspace ntfs-3g implementation. This release incorporates a new and fully functional NTFS implementation contributed by Parangon Software. This implementation supports NTFS file system versions up to 3.1, normal/compressed/sparse files and journal replaying, plus other features that will be added in the future.
1.2. ksmbd, a in-kernel SMB 3 server
ksmbd is a new kernel module which implements the server-side of the SMB 3 protocol. The target is to provide optimized performance, GPLv2 SMB server, and better lease handling (distributed caching). The bigger goal is to add new features more rapidly (e.g. RDMA aka "smbdirect", and recent encryption and signing improvements to the protocol).
This is not meant to replace Samba, which is much broader in scope -tools, security services, LDAP, Active Directory Domain Controller, cross-platform support- but rather be an extension to allow better optimizing for Linux and have better performance and feature integration in some cases.
1.3. Migrate memory pages to persistent memory in lieu of discard
In systems with some DRAM and persistent memory, once DRAM fills up, reclaim will start and some of the DRAM contents will be thrown out. In this release, pages are migrated to persistent memory instead of just being dropped, which improves performance in many benchmarks run in these kind of systems.
Recommended LWN article: Top-tier memory management
1.4. Btrfs support for fs-verity and id mapping
In this release, Btrfs has added support for fs-verity, a generic layer already support by ext4 and F2FS which provides transparent integrity and authenticity protection of read-only files.
It also adds support for id-mapped mounts, which provides the ability to map the user and group id of one mount to another, and some performance improvements.
1.5. DAMON, a data access monitor
DAMON, which stands for Data Access MONitor, is a mechanism to monitor the memory access pattern of specific user-space processes. That is, it can tell you which parts of the memory of a process are being accessed all the time,and which ones are not being used at all. It is lightweight, both in terms of memory usage and CPU usage while analyzing the target process. It is one of the pieces of a project called Data Access-aware Operating System.
DAMON aims to be used by other parts of the kernel that may be merged in the future, but it also can provide information to userspace. You can use it to profile a program and obtain its access heathmap, using the complementary tool damo, find out how your program actually behaves in the real world, and identify the dynamic hotness of your data. You can use this information simply to profile what a process is actually doing, but you can also use it to optimize your program's memory behavior by using mlock() or madvise() with MADV_WILLNEED to lock hot data which you known is going to be used, and/or madvise() with MADV_PAGEOUT to make the system reclaim cold data as soon as possible.
1.6. Introduce process_mrelease(2) system call
In modern systems it's not unusual to have a component monitoring memory conditions of the system and tasked with keeping system memory pressure under control, and killing non-essential processes to free up memory for more important ones. Examples of this are Facebook's OOM killer daemon called oomd and Android's low memory killer daemon called lmkd.
Killing and freeing the resources of a process can be delayed for a long time for various reasons. The new process_mrelease(2) system call allows to release the memory of a dying process from the context of the caller. This way the memory is freed in a more controllable way with CPU affinity and priority of the caller. The workload of freeing the memory will also be charged to the caller.
Recommended LWN article: Hastening process cleanup with process_mrelease()
1.7. Real-time locking progress
The merge of the real-time set of patches continues making progress in every release. In this release, one of the most important pieces, the bulk of the locking code, has been merged. When PREEMPT_RT is enabled, the following locking primitives are substituted by RT-Mutex based variants: mutex, ww_mutex, rw_semaphore, spinlock and rwlock.
The SLUB slab allocator has also been modified to better deal with PREEMPT_RT.
1.8. cgroup support for SCHED_IDLE
This release adds support for putting all the tasks within an entire cgroup under the SCHED_IDLE class of the task scheduler, which means that they will only run if there are not other tasks waiting to run. A key difference with normal tasks set individually to SCHED_IDLE is that tasks within a cgroup set to SCHED_IDLE maintain their relative weights.
1.9. Device Mapper IMA-based remote attestation
This release adds the necessary infrastructure for IMA-based remote attestation. These changes are the basis for deploying DM-based storage in a remote "cloud" that must validate configurations end-users run to maintain trust. It allows supported DM targets' configurations to be measured via IMA. But the policy and enforcement (of which configurations are valid) is managed by something outside the kernel (e.g. Keylime). For more details see the Documentation
1.10. Support for asymmetric scheduling affinity
Some architectures, in particular ARM, have configurations where some CPUs support legacy 32 bits apps, but some CPUs are 64-bit only. This release adds support for scheduling 32 bits tasks exclusively in the CPUs that support legacy 32 bits tasks.
2. Core (various)
(FEATURED) PREEMPT-RT: bulk of the PREEMPT-RT locking infrastructure. In PREEMPT-RT enabled kernels the following locking primitives are substituted by RT-Mutex based variants: mutex, ww_mutex, rw_semaphore, spinlock, rwlock. semaphores are not substituted because they do not provide strict owner semantics. raw_spinlocks are not touched either, as they protect low level operations in the scheduler, timers and hardware access. See the merge commit for more details commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
- Task scheduler
(FEATURED) Add cgroup support for SCHED_IDLE. Treats all the tasks within a cgroup as if they all had been set to the SCHED_IDLE scheduling class commit
(FEATURE) Support for asymmetric scheduling affinity, to support the execution of legacy 32-bit tasks on AArch32 systems that also have 64-bit-only CPUs commit, commit, commit, commit, commit, commit, commit, commit, commit
- io_uring
Add mkdir and [sym]linkat support commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Instead of opening a file into a process's file table as usual and then registering the fd within io_uring, some users may want to skip the first step and place it directly into io_uring's fixed file table. This patch adds such a capability for IORING_OP_OPENAT and IORING_OP_OPENAT2. See this recommended LWN article. commit, commit, commit, commit
Add register support for non-4k PAGE_SIZE commit
tw mutex & IRQ rw completion batching commit, commit, commit
Support CLOCK_BOOTTIME/REALTIME for timeouts commit
Provide a way to limit max number of workers with a new IORING_REGISTER_IOWQ_MAX_WORKERS operation commit
Allow retry for O_NONBLOCK if async is supported commit
- cgroup/cpuset
move_mount(2): Previously a sharing group (shared and master ids pair) can be only inherited when mount is created via bindmount. This release adds an ability to add an existing private mount into an existing sharing group commit, commit
set_user: add capability check when rlimit(RLIMIT_NPROC) exceeds commit
fanotify: Introduce a new flag FAN_REPORT_PIDFD for fanotify_init(2) which allows userspace applications to control whether a pidfd information record containing a pidfd is to be returned alongside the generic event metadata for each event commit, commit, commit, commit, commit
certs: Add support for using elliptic curve keys for signing modules commit
console: consume APC ("Application Program Command"), PM ("Privacy Message"), and DCS ("Device Control String") commit
Support booting of arbitrary non-blockdevice file systems. For example a virtiofs root file system can be mounted using the following syntax: "root=myfs rootfstype=virtiofs rw" commit, commit, commit
binderfs: Provide userspace with a mechanism to discover binder driver capabilities to refrain from using these unsupported features in the first place. Note that older capabilities are assumed to be supported and only new ones will be added commit, commit, commit
Raise minimum GCC version to 5.1 commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Remove support for mandatory file locking (mand mount option) commit, commit
- printk
Add userspace format indexing and expose to debugfs to let users enumerate and printks and check whether the format changed or the printk callsite disappeared entirely. Recommended LWN article: printk() indexing commit, commit, commit, commit, commit
Add printk.no_console_auto_verbose boot parameter commit, commit
- Power management
kernfs: proposed locking and concurrency improvement commit, commit, commit, commit, commit
kunit: tool: add --kernel_args to allow setting module params commit
kfence: show cpu and timestamp in alloc/free info commit
3. File systems
- CIFS
- NTFS3
- XFS
Deferred inode inactivation commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Disable the ability of quotaoff to turn off quota accounting. (Admins can still disable quota enforcement, but truly turning off accounting requires a remount commit, commit
Implement delayed attributes. This attribute operations (set and remove) to be logged and committed in the same way that other delayed operations do. This allows more complex operations (like parent pointers) to be broken up into multiple smaller transactions commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Rework feature flags commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
CIL and log optimisations commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Drop experimental warnings for bigtime and inobtcount commit
- ext4
- Btrfs
(FEATURED) Support fsverity using standard ioctls, backward compatible with read-only limitation on inodes with previously enabled fs-verity commit, commit, commit
(FEATURED) idmapped mount support commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Make the batch insertion of dir index keys more efficient, speeds up file creation commit, commit
Allow raid0 on a single device and raid10 on two devices, degenerate cases but might be useful as an intermediate step during conversion to other profiles commit
rescue: allow rescue=ibadroots to skip bad extent tree when reading block group items commit
Continue readahead of node siblings even if target node is in memory, could speed up full btrfs send (on sample test +11%) commit
Fix CPU consumption during preemptive flushing commit, commit
Avoid unnecessarily logging directories that had no changes commit
fsync/tree-log speedups: avoid unnecessary work (gains +2% throughput, -2% run time on sample load); reduced lock contention on renames (on dbench +4% throughput, up to -30% latency) commit, commit, commit, commit, commit, commit
Allow read-write for 4K sectorsize on 64K page size systems commit
Zoned mode block group auto reclaim can be disabled via sysfs knob commit
- Ceph
Add a new vxattr to return auth mds for an inode commit
- F2FS
Extent cache: support unaligned extent commit
Add sysfs node to control ra_pages for fadvise seq file commit
Introduce discard_unit=block|segment|section to support issuing discard with different basic unit which is aligned to block, segment or section commit
Add sysfs nodes to get GC info for each GC mode commit
Support fault injection for f2fs_kmem_cache_alloc() commit
Introduce periodic iostat io latency traces commit
Improve sbi status info in debugfs/f2fs/status commit
- EROFS
- NFS
Better client responsiveness when server isn't replying commit, commit, commit, commit, commit, commit
Allow for new mounts that are to the same server (ie nfsv4.1+ session trunkable servers) but different network addresses to use connections associated with those mounts but still use the same client structure. A new mount options, "max_connect", controls how many extra transports can be added to an existing client, with maximum of 16 such transports commit, commit, commit, commit, commit
- OverlayFS
- DLM
Implement delayed ack handling commit
- Fscache
4. Memory management
Add MADV_WILLNEED to process_madvise(). It allows to read-ahead memory of the process immediately when the app switches to foreground commit
Add support for the global coherent pool to the dma core commit, commit, commit, commit, commit, commit, commit
Add frag page support in page pool commit, commit, commit, commit
dma-buf: Add support for mapping hugepages commit
kcsan: Introduce CONFIG_KCSAN_PERMISSIVE commit, commit, commit, commit, commit
- memory control group
(FEATURED) SLUB: reduce irq disabled scope and make it PREEMPT_RT compatible commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Introduce the concept of the MPOL_PREFERRED_MANY mempolicy. It can be used with either the set_mempolicy(2) or mbind(2) interfaces. Like MPOL_PREFERRED, it allows an application to set a preference for nodes which will fulfil memory allocation requests. Unlike MPOL_PREFERRED, it takes a set of nodes. Like the MPOL_BIND interface, it works over a set of nodes. Unlike MPOL_BIND, it will not cause a SIGSEGV or invoke the OOM killer if those preferred nodes are not available. Recommended LWN article: Multi-preference policies. commit, commit, commit, commit, commit
(FEATURED) Introduce the Data Access MONitor (DAMON). Using this framework, several memory management mechanisms such as reclamation and THP can be optimized to aware real data access patterns. Experimental access pattern aware memory management optimization works that incurring high instrumentation overhead will be able to have another try commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
(FEATURED) Migrate Pages to persistent memory in lieu of discarding them commit, commit, commit, commit, commit, commit, commit, commit, commit
Memory compaction: support triggering of proactive compaction by user commit
(FEATURED) Introduce process_mrelease(2) system call that releases memory of a dying process from the context of the caller. This way the memory is freed in a more controllable way with CPU affinity and priority of the caller. The workload of freeing the memory will also be charged to the caller. The operation is allowed only on a dying process commit, commit
memory_hotplug: "auto-movable" online policy and memory groups commit, commit, commit, commit, commit, commit, commit, commit, commit
writeback: Fix bandwidth estimates commit, commit, commit, commit, commit
debug_vm_pgtable: Enhancements commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
dmabuf: allows statistics to be enabled for each DMA-BUF in sysfs by enabling the config CONFIG_DMABUF_SYSFS_STATS commit
KCSAN: Remove CONFIG_KCSAN_DEBUG, introduce CONFIG_KCSAN_STRICT commit, commit, commit, commit, commit, commit, commit, commit
Remove the deprecated bdflush system call commit
dma-buf: Delete the DMA-BUF attachment sysfs statistics commit
Address races between hole punching and page cache filling functions for ext4 and other filesystems. See recommended LWN article. commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Remove in-tree usage of MAP_DENYWRITE. Recommended LWN article: The shrinking role of ETXTBSY. commit, commit, commit, commit, commit, commit, commit
5. Block Devices
Enable bio recycling for polled IO commit, commit, commit, commit, commit, commit
blk-throtl: optimize IOPS throttle for large IO scenarios commit
IO priority fixes and improvements commit, commit, commit, commit, commit, commit
Add an unique, monotonically increasing sequential number to the lifetime of each block device commit, commit, commit, commit, commit, commit
- device mapper
Support EFI partition non-standard GPT locations commit, commit, commit, commit
Remove the lightnvm subsystem commit
scsi: bsg: Remove support for SCSI_IOCTL_SEND_COMMAND commit
6. Tracing, perf and BPF
- BPF
Introduce BPF timers commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
BPF perf link and user-provided bpf_cookie commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Allow bpf tcp iter to do bpf_(get|set)sockopt commit, commit, commit, commit, commit, commit, commit, commit
Support input xdp_md context in BPF_PROG_TEST_RUN commit, commit, commit, commit
tcp: Allow bpf-tcp-cc to call bpf_(get|set)sockopt commit, commit, commit, commit
Allow bpf_get_netns_cookie in BPF_PROG_TYPE_SK_MSG commit
Add ambient BPF runtime context stored in current commit
Add bpf_get_func_ip helper that returns IP address of the caller function for trampoline and kprobe programs commit, commit, commit, commit, commit, commit, commit, commit
Add support to set and get socket options from setsockopt commit, commit
- libbpf
- perf
perf bench futex, requeue: Add --broadcast option commit, add --pi parameter commit, add --mlockall parameter commit
perf bench: Add benchmark for evlist open/close operations commit
perf flamegraph: flamegraph.py script improvements commit
perf script python: Allow reporting the [un]throttle PERF_RECORD_ meta event commit
perf session: Report collisions in AUX records commit
perf test: Improve pmu-events support commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
perf tools: Add dlfilter test commit, commit, commit, commit, commit, commit
perf tool: Enable cpu list for hybrid commit, commit, commit
bpftool: Support dumping split BTF by id commit
- tracing
boot: Add histogram syntax support in boot-time tracing commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
- A new dynamic event is introduced: event probe. The event is attached to an existing tracepoint and uses its fields as arguments. The user can specify custom format string of the new event, select what tracepoint arguments will be printed and how to print them. Filters, triggers and histograms can be attached to the new event, it can
be matched in synthetic events. There is one limitation - an event probe can not be attached to kprobe, uprobe or another event probe commit, commit, commit, commit, commit, commit, commit, commit, commit
7. Virtualization
- KVM
Introduce vfio_pci_core subsystem commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Introduce VDUSE - vDPA Device in Userspace commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
8. Security
hardening: Introduce CONFIG_ZERO_CALL_USED_REGS which enables register zeroing on function exit commit
IMA: restrict the accepted digest algorithms for the security.ima xattr commit, commit, commit, commit, commit, commit
9. Networking
- bonding
- bridge
Let switchdev drivers offload and unoffload bridge ports at their own convenience commit, commit, commit, commit, commit, commit, commit, commit, commit
multicast: add vlan support commit, commit, commit, commit, commit, commit, commit, commit, commit
vlan: add global mcast options commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
mcast: dump querier state commit, commit, commit, commit, commit, commit
devlink: Control auxiliary devices commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
- dsa
ethtool: extend coalesce uAPI commit, commit, commit, commit
- mac80211
- IPv6
ipvlan: Add handling of NETDEV_UP events commit
Add support for the Management Component Transport Protocol, an in-system protocol for communicating between management controllers and their managed devices (peripherals, host processors, etc.). The protocol is defined by DMTF specification DSP0236 commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
- Multi-path TCP
ncsi: add get MAC address command to get Intel i210 MAC address commit
- Netfilter
openvswitch: Introduce per-cpu upcall dispatch commit
- pktgen
- sched
act_skbmod: Add SKBMOD_F_ECN option support commit
- 9p
- SUNRPC
Support for filtering interfaces/neighbours dump for interfaces that *don't* have a master commit
af_iucv: support drop monitoring commit
af_unix: Add Out-Of-Band data support commit
sockmap: add sockmap support for unix stream socket commit, commit, commit, commit, commit
virtio/vsock: support of MSG_EOR bit for SEQPACKET AF_VSOCK sockets over virtio transport commit, commit, commit, commit, commit, commit
Some improvements to generic XDP mode to brings it closer to native XDP commit, commit, commit, commit, commit
10. Architectures
10.1. x86
Conditionally flush the L1D cache commit, commit, commit, commit, commit, commit, commit
- PCI
- platform
msi: extend msi_irqs sysfs entries to platform devices commit
Add Alder Lake PCH-S support to PMC core driver commit, commit, commit
BIOS SAR driver for Intel M.2 Modem commit
acer-wmi: Add Turbo Mode support for Acer PH315-53 commit
Add meraki-mx100 platform driver commit
asus-nb-wmi: Allow configuring SW_TABLET_MODE method with a module option commit
gigabyte-wmi: add support for B450M S2H V2 commit
gigabyte-wmi: add support for B550I Aorus Pro AX commit
gigabyte-wmi: add support for X570 GAMING X commit
lg-laptop: Support for battery charge limit on newer models commit
think-lmi: add debug_cmd commit
asus-wmi: Support for ASUS egpu, dpgu disable, panel overdrive commit, commit, commit
asus-wmi: Add support for platform_profile commit
powercap: Add Power Limit4 support for Alder Lake SoC commit
- KVM
Enable Two-Dimensions Paging MMU by default: It allows to handle page faults in parallel, which massively improves performance when many vCPUs need to handle page faults commit
Some light optimizations on rmap logic commit, commit, commit, commit, commit, commit
Add detailed page size stats in KVM stats commit, commit, commit
Implement KVM_GUESTDBG_BLOCKIRQ commit
Set KVM_MAX_VCPUS=1024, KVM_SOFT_MAX_VCPUS=710 commit, commit, commit
- perf
Add Sapphire Rapids server uncore support commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
uncore: Allow the driver to be built as a module commit
Add basic metrics for Elkhartlake commit
Add core event list for Elkhartlake commit
Add core event list for Tigerlake commit
Update core event list for CascadeLake Server commit
Update core event list for SkyLake Server commit
Update uncore event list for CascadeLake Server commit
Update uncore event list for SkyLake Server commit
Add metrics for Icelake Server commit
Add metrics for Tigerlake commit
Update metrics for CascadeLake Server commit
Update metrics for SkyLake Server commit
crypto: Introduce x86 assembler accelerated implementation for SM4 algorithm commit, commit, commit, commit
hwmon: k10temp Add support for yellow carp commit
10.2. ARM
- New SoC
Microchip SAMA7 SoC family based on Cortex-A7, a new 32-bit platform based on the older SAMA5 series commit, commit, commit
Qualcomm Snapdragon SDM636 and SM8150, variations of the existing phone SoCs commit
Renesas R-Car H3e-2G and M3e-2G SoCs, variations of older Renesas SoCs commit, commit, commit, commit, commit, commit, commit, commit
- New boards
Marvell CN913x reference boards commit
ASpeed AST2600 BMC implementations for Facebook Cloudripper, Elbert and Fuji server boards commit, , commit, commit
Snapdragon 665 based Sony Xperia 10II commit
Snapdragon MSM8916 based Xiaomi Redmi 2 commit
Snapdragon MSM8226 based Samsung Galaxy S3 Neo commit, commit
- NXP i.MX based 32-bit boards
- NXP i.MX based 64-bit boards
NVIDIA Jetson TX2 NX Developer Kit commit
4KOpen STiH418-b2264 development board commit
ux500 based Samsung phones: Gavini, Codina and Kyle commit, commit, commit
TI AM335x based Sancloud BBE Lite commit
ixp4xx dts files to replace all old board files commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
at91: pm: add support for sama7g5 commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
imx8mq: add support for MNT Reform2 commit
DTS updates for Marvell Armada CN913x platforms commit
qcom: Add PMI8996 DTSI file commit
qcom: Add support for SONY Xperia X Performance / XZ / XZs (msm8996, Tone platform) commit
qcom: Add MSM8996v3.0 DTSI file commit
qcom: Add support for SM6125 commit
qcom: sc7280-idp: Add device tree files for IDP2 commit
Add Facebook BMC 128MB flash layout commit, commit, commit, commit, commit, commit
aspeed: socinfo: Add AST2625 variant commit
aspeed: Add Inspur NF5280M6 BMC machine commit
ep93xx: remove MaverickCrunch support commit
mediatek: mmsys: add MT8365 support commit
rockchip: io-domain: add rk3568 support commit
CoreSight configuration management; ETM strobing commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
- ARM64
hv: Enable Hyper-V code to be built on ARM64 commit
PCI: hv: Support host bridge probing commit, commit, commit, commit, commit, commit, commit, commit
Add support for 32-bit tasks on asymmetric AArch32 systems commit, commit, commit, commit, commit, commit, commit
Enable Linux guests on Hyper-V commit, commit, commit, commit, commit
PCI: hv: Support host bridge probing commit, commit, commit, commit, commit, commit, commit, commit
10.3. ARC
Support 3/4 levels and asm-generic/pgalloc commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Retire ARC750 support commit
Retire MMUv1 and MMUv2 support commit
10.4. S390
Add HWCAP_S390_PCI_MIO to ELF hwcaps commit
Add support for KFENCE commit
Enable KCSAN commit
cio: add dev_busid sysfs entry for each subchannel commit
debug: add early tracing support commit
ftrace: implement hotpatching commit
qeth: remove OSN support commit
Remove xpram device driver commit
Report more CPU capabilities commit
10.5. PowerPC
Book3S HV: XIVE: Add support for automatic save-restore commit
Add MSI IRQ domains to PCI drivers commit, commit, commit, commit, commit
pseries: Add support for FORM2 associativity commit
ptdump: Convert powerpc to GENERIC_PTDUMP commit
Retire sbc8548 board support commit
Retire sbc8641d board support commit
10.6. RISC-V
Enable Undefined Behavior Sanitizer UBSAN commit
Improve stack randomisation on RV64 commit
Support allocating gigantic hugepages using CMA commit
Add support for hugepage migration commit
kprobes: implement the auipc instruction commit and the branch instructions commit
10.7. MIPS
10.8. M68K
m5441x: add flexcan support commit
11. Drivers
11.1. Graphics
- AMD
Initial Cyan Skillfish support commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Support board calibration on aldebaran commit
Add ID for beige goby commit
Add another Renoir DID commit
Add pci device id for cyan_skillfish commit
Add some additional RDNA2 PCI IDs commit
Add yellow carp pci id commit
Reenable BACO support for 699F:C7 polaris12 SKU commit
amdkfd: HMM-based SVM memory manager to KFD commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
ast: Add detect function support commit
bridge: ti-sn65dsi86: Add support for the DP AUX bus commit
gud: Add Raspberry Pi Pico ID commit
- Intel
Move to TTM for discrete memory support commit, commit, commit
Reinstate ADL-P mmap ioctls commit
Enable pipe DMC loading on XE-LPD and ADL-P commit, commit, commit, commit
Add PSF GV point support commit
Add Per connector debugfs node for DSC BPP enable commit
Synchronous accelerated migration and clearing for i915 on TTM commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Enable GuC based power management features commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
kmb: Enable alpha blended second plane commit
- mediatek
- msm
- nouveau
- panel
simple: Support DP AUX backlight commit
simple: add Gopher 2b LCD panel commit
simple: Add support for EDT ETM0350G0DH6 panel commit
simple: Add support for EDT ETMV570G2DHU panel commit
simple: Add support for two more AUO panels commit
simple: add LOGIC Technologies LTTD800480070-L6WH-RT commit
simple: add Multi-Innotechnology MI1010AIT-1CP1 commit
simple: Allow panel-simple be a DP AUX endpoint device commit
Add Innolux EJ030NA 3.0" 320x480 panel commit
Add ilitek ili9341 panel driver commit
Add support for E Ink VB3300-KCA commit
Add basic DP AUX backlight support commit
atna33xc20: Introduce the Samsung ATNA33XC20 panel commit
db7430: Add driver for Samsung DB7430 commit
ws2401: Add driver for WideChips WS2401 commit
simple-kms: Support custom CRTC state commit
- tegra
v3d: Expose performance counters to userspace commit
xlnx: zynqmp_dpsub: Add global alpha support commit
- mediatek
vkms: Switch to shadow-buffered plane state commit, commit, commit, commit
11.2. Power management
ACPI: iASL: Add support for the AEST table (data compiler) commit
ACPI: Add LoongArch support for ACPI_PROCESSOR/ACPI_NUMA commit
ACPI: SPCR: Add support for the new 16550-compatible Serial Port Subtype commit
- thermal
11.3. Storage
nvmem: nintendo-otp: Add new driver for the Wii and Wii U OTP commit
- SCSI
ufs: Add Host Performance Booster Support commit, commit, commit
ufs: Add fault injection support commit
ufs: Add lu_enable sysfs node commit
lpfc: add support the Congestion Management Framework (CMF) commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
lpfc: Add PCI ID support for LPe37000/LPe38000 series adapters commit
lpfc: Add 256 Gb link speed support commit
target: tcmu: Add new feature KEEP_BUF commit
smartpqi: Add PCI IDs for H3C P4408 controllers commit
smartpqi: Add PCI IDs for new ZTE controllers commit
smartpqi: Add PCI ID for new ntcom controller commit
smartpqi: Add SCSI cmd info for resets commit
mpt3sas: Add io_uring iopoll support commit
mpt3sas: Use firmware recommended queue depth commit
mpt3sas: Introduce sas_ncq_prio_supported sysfs sttribute commit
qedi: Add support for fastpath doorbell recovery commit
qla2xxx: Changes to support kdump kernel commit
qla2xxx: Changes to support kdump kernel for NVMe BFS commit
sd_zbc: Support disks with more than 2**32 logical blocks commit
libata: Introduce ncq_prio_supported sysfs attribute commit
nvme: allow user toggling hmb usage commit
11.4. Drivers in the Staging area
rtl8723bs: add get_channel cfg80211 implementation commit
mfd: hi6421-spmi-pmic: move driver from staging commit
r8188eu: add newer/better RTL8188eu driver commit, commit, commit, commit, commit, commit, commit
media: hantro: Add support for the Rockchip PX30 commit
media: hantro: Add H.264 support for Rockchip VDPU2 commit, commit
media: imx: add a driver for i.MX8MQ mipi csi rx phy and controller commit
11.5. Networking
Add driver for LiteX's LiteETH network interface commit
- Bluetooth
Add additional Bluetooth part for Realtek 8852AE commit
btusb: Add support for Foxconn Mediatek Chip commit
btusb: Add support for IMC Networks Mediatek Chip commit
btusb: Add support for LG LGSBWAC92/TWCM-K505D commit
btusb: Enable MSFT extension for Intel next generation controllers commit
btusb: Enable MSFT extension for Mediatek Chip (MT7921) commit
btusb: Enable MSFT extension for WCN6855 controller commit
btusb: Support Bluetooth Reset for Mediatek Chip(MT7921) commit
- bnxt_en
count discards due to memory allocation errors commit
count packets discarded because of netpoll commit
1PPS functions to configure TSIO pins commit
1PPS support for 5750X family chips commit
Implement new driver APIs to send FW messages commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
- brcmfmac
- can
flexcan: add mcf5441x support commit
m_can: Add support for transceiver as phy commit
Add the netlink interface for CAN-FD Transmitter Delay Compensation (TDC) commit, commit, commit
peak_usb: PCAN-USB: add support of loopback and one-shot mode commit
rcar_canfd: Add support for RZ/G2L family commit
- dpaa2-switch
- dsa
mt7530: enable assisted learning on CPU port commit
mv88e6xxx: map virtual bridges with forwarding offload in the PVT commit
sja1105: add FDB fast ageing support commit
sja1105: enable address learning on cascade ports commit
sja1105: increase MTU to account for VLAN header on DSA ports commit
NXP SJA1105 driver support for "H" switch topologies commit, commit, commit, commit, commit, commit, commit, commit
- e1000e
- fec
- hns3
i40e: add support for PTP external synchronization clock commit
- igc
intersil: remove obsolete prism54 wireless driver commit
ionic: monitor fw status generation commit
- iwlwifi
Add support for ax201 in Samsung Galaxy Book Flex2 Alpha commit
acpi: support reading and storing WGDS revision 2 commit
acpi: support reading and storing WRDS revision 1 and 2 commit
mvm: Add support for hidden network scan on 6GHz band commit
mvm: add support for range request command version 13 commit
mvm: add support for responder config command version 9 commit
mvm: d3: implement RSC command version 5 commit
mvm: support broadcast TWT alone commit
mvm: support new station key API commit
mvm: support version 11 of wowlan statuses notification commit
Support reading and storing EWRD revisions 1 and 2 commit
yoyo: support for new DBGI_SRAM region commit
macb: Add PTP support for SAMA5D29 commit
mana: Add support for EQ sharing commit
- mhi
- mlx5
Add support for control VQ and multiqueue commit, commit, commit, commit, commit, commit
Bridge, allow merged eswitch connectivity commit
Bridge, support LAG commit
DR, Add support for update FTE commit
DR, Added support for REMOVE_HEADER packet reformat commit
DR, Enable VLAN pop on TX and VLAN push on RX commit
DR, Support IPv6 matching on flow label for STEv0 commit
Support for single shared FDB table for lag commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
E-switch, Add QoS tracepoints commit
E-switch, Allow setting share/max tx rate limits of rate groups commit
E-switch, Allow to add vports to rate groups commit
E-switch, Enable devlink port tx_{share|max} rate control commit
E-switch, Introduce rate limiting groups API commit
Introduce abstraction of RSS context commit
Introduce post action infrastructure commit
Support MQPRIO channel mode commit
Support flow classification into RSS contexts commit
Support multiple RSS contexts commit
TC, Support sample offload action for tunneled traffic commit
spectrum: Add infrastructure for parsing configuration commit
netdevsim: Add multi-queue support commit
- nfp
- Octeontx2
Traffic shaping and SDP link config support commit, commit, commit, commit, commit, commit, commit, commit, commit
Rework MCAM flows management for VFs commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
cn10K: support for sched lmtst and other features commit
Add vlan-etype to ntuple filters commit
Allow VLAN priority also in ntuple filters commit
pcs: xpcs: Add Pause Mode support for SGMII and 2500BaseX commit
- phy
qmi_wwan: add Telit 0x1060 composition commit
r8169: enable ASPM L0s state commit
ravb: Add reset support commit
veth: implement support for set_channel ethtool op commit
- vmxnet3
wwan: Add MHI MBIM network driver commit
Remove sbni/granch driver commit
11.6. Audio
pcm: Add SNDRV_PCM_INFO_EXPLICIT_SYNC flag. When this flag is set, PCM core disables both the control and the status mmap, which enforces user-space to update via SYNC_PTR ioctl. In that way, drivers can catch the applptr and hwptr update and apply the sync operation if needed commit
- usb-audio
Intel: Skylake: Add support for complex configurations commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
soundwire/ASoC: add mockup codec support commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
- Intel: bytcr_rt5640
ASoC: Add Vangogh ACP ASoC driver commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
SoC: Support CS42L42 on JSL platform commit
Intel: soc-acpi: add support for SoundWire of TGL-H-RVP commit
codecs: ad193x: add support for 96kHz and 192kHz playback rates commit
codecs: wcd938x: add Multi Button Headset Control support commit
firewire-motu: add support for MOTU 896HD commit
- hda/cs8409
hda/hdmi: Add option to enable all pins forcibly commit
ics43432: add CMM-4030D-261 support commit
ASoC: mediatek: Add support for MT8195 SoC commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
qcom: apq8016_sbc: Add SEC_MI2S support commit
- rockchip
rt1015p: add new acpi id and comapatible id commit
soundwire: cadence: add debugfs interface for PDI loopbacks commit
ti: davinci-mcasp: Add support for the OMAP4 version of McASP commit
11.7. Tablets, touch screens, keyboards, mouses
mms114: support MMS134S commit
ixp4xx-beeper: delete driver commit
Remove dead CSR Prima2 PWRC driver commit
- HID
amd_sfh: Add command response to check command status commit
amd_sfh: Add support for PM suspend and resume commit
cmedia: add support for HS-100B mute button commit
logitech-hidpp: battery: provide CAPACITY property for newer devices commit
magicmouse: high-resolution scroll threshold commit
sony: support for the ghlive ps4 dongles commit
wacom: Add new Intuos BT (CTL-4100WL/CTL-6100WL) device IDs commit
11.8. TV tuners, webcams, video capturers
TDA1997x: enable EDID support commit
ccs: Implement support for manual LP control commit
dvbsky: add support for MyGica T230C2_LITE and T230A commit
i2c: Add imx335 camera sensor driver commit
i2c: Add imx412 camera sensor driver commit
i2c: Add ov9282 camera sensor driver commit
rc: introduce Meson IR TX driver commit
ti-vpe: cal: add embedded data support commit
venus: venc: add support for V4L2_CID_MPEG_VIDEO_H264_8X8_TRANSFORM control commit
11.9. Universal Serial Bus
dwc3: pci: add support for AMD's newer generation platform commit
gadget: f_uac1: add volume and mute support commit
gadget: f_uac2: add volume and mute support commit
gadget: u_audio: add bi-directional volume and mute support commit
serial: cp210x: add ID for GW Instek GDM-834x Digital Multimeter commit
serial: option: add Telit LN920 compositions commit
serial: option: add device id for Foxconn T99W265 commit
serial: option: add Telit LE910Cx composition 0x1204 commit
serial: option: add prod. id for Quectel EG91 commit
serial: option: add Quectel EC200S-CN module support commit
serial: qcserial: add EM9191 QDL support commit
xhci-mtk: support option to disable usb2 ports commit
host: remove dead EHCI support for on-chip PMC MSP71xx USB controller commit
11.10. IOMMU
vt-d: Enable Intel IOMMU scalable mode by default commit
Refactor DMA domain strictness commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Enhance IOMMU default DMA mode build options commit, commit, commit, commit, commit, commit
11.11. Serial Peripheral Interface (SPI)
mediatek: add tick_delay support commit
rockchip-sfc: add rockchip serial flash controller commit
sprd: Add ADI r3 support commit
spi-altera-dfl: support n5010 feature revision commit
11.12. Watchdog
11.13. Serial
11.14. CPU frequency scaling
11.15. Voltage, current regulators, power capping, power supply
- power
supply: PCHG: Peripheral device charger commit
supply: max17042_battery: Add support for MAX77849 Fuel-Gauge commit
supply: mt6360_charger: add MT6360 charger support commit
reset: linkstation-poweroff: add new device commit
supply: rn5t618: Add voltage_now property commit
supply: smb347-charger: Implement USB VBUS regulator commit
reset: Add TPS65086 restart driver commit
- regulator
11.16. Real Time Clock (RTC)
rx8025: implement RX-8035 support commit
11.17. Pin controllers (pinctrl)
Add Intel Keem Bay pinctrl driver commit
Ingenic: Add pinctrl driver for X2100 commit
imx8ulp: Add pinctrl driver support commit
pinctrl-zynq: Add support for 'power-source' parameter commit
qcom: Add MDM9607 pinctrl driver commit
qcom: pinctrl: Add pinctrl driver for sm6115 commit
renesas: Add RZ/G2L pin and gpio controller driver commit
renesas: r8a77995: Add bias pinconf support commit
samsung: Add Exynos850 SoC specific data commit
stm32: Add STM32MP135 SoC support commit
11.18. Multi Media Card (MMC)
11.19. Memory Technology Devices (MTD)
spinand: macronix: Add Quad support for serial NAND flash commit
rfd_ftl: add discard support commit
11.20. Industrial I/O (iio)
Support reading extended name as label commit
accel: bmc150: Add support for BMC156 commit
adc: Add driver for Renesas RZ/G2L A/D converter commit
adc: rockchip_saradc: add support for rk3568 saradc commit
chemical: Add driver support for sgp40 commit
adc: ingenic: add JZ4760 support to the sadc driver commit
adc: ingenic: add JZ4760B support to the sadc driver commit
potentiometer: Add driver support for AD5110 commit
proximity: vcnl3020: add periodic mode commit
11.21. Multi Function Devices (MFD)
Add Renesas Synchronization Management Unit (SMU) support commit
intel-lpss: Add Intel Cannon Lake ACPI IDs commit
tqmx86: Add support for TQMx110EB and TQMxE40x commit
tqmx86: Add support for TQ-Systems DMI IDs commit
11.22. Inter-Integrated Circuit (I2C + I3C)
11.23. Hardware monitoring (hwmon)
Add driver for Aquacomputer D5 Next commit
Add support for SB-RMI power module commit
axi-fan-control: Support temperature vs pwm points commit
intel-m10-bmc-hwmon: add n5010 sensors commit
k10temp: support Zen3 APUs commit
pmbus/bpa-rs600: Support BPD-RS600 commit
11.24. General Purpose I/O (gpio)
Add virtio-gpio driver commit
rockchip: add driver for rockchip gpio commit
rockchip: support next version gpio controller commit
11.25. LEDs
leds-core: Implement the retain-state-shutdown property commit
pwm: add support for default-state device property commit
pca955x: Implement the default-state property commit == DMA engines ==
idxd: Add wq occupancy information to sysfs attribute commit
idxd: Set defaults for GRPCFG traffic class commit
idxd: add software command status commit
idxd: create dmaengine driver for wq 'device' commit
idxd: create user driver for wq 'device' commit
Add support for AMD PTDMA controller driver commit, commit, commit
sh: Add DMAC driver for RZ/G2L SoC commit
11.26. Hardware Random Number Generator (hwrng)
Add Arm SMCCC TRNG based driver commit
11.27. Cryptography hardware acceleration
hisilicon: support runtime PM for accelerator device commit
hisilicon: using 'debugfs_create_file' instead of 'debugfs_create_regset32' commit
ccp: Add support for new CCP/PSP device ID commit
11.28. PCI
PCI: Expose and manage PCI device reset commit, commit, commit, commit, commit, commit, commit
Add SR-IOV support in PCIe Endpoint Core commit, commit, commit, commit, commit, commit, commit, commit
hv: Support for create interrupt commit
keembay: Add support for Intel Keem Bay commit
pci-bridge-emul: Add PCIe Root Capabilities Register commit
rockchip-dwc: Add Rockchip RK356X host controller driver commit
visconti: Add Toshiba Visconti PCIe host controller driver commit
11.29. Clock
rockchip: Add support for hclk_sfc on rk3036 commit
qcom: gpucc-sm8150: Add SC8180x support commit
qcom: a53-pll: Add MSM8939 a53pll support commit
qcom: Add Global Clock Controller driver for MSM8953 commit
qcom: Add Global Clock controller (GCC) driver for SM6115 commit
qcom: mmcc-msm8994: Add MSM8992 support commit
qcom: Add msm8994 MMCC driver commit
qcom: rpmh: Add support for RPMH clocks on SM6350 commit
qcom: Add SM6350 GCC driver commit
11.30. PHY ("physical layer" framework)
phy-mtk-tphy: add support mt8195 commit
qcom-qmp: Add sc8180x PCIe support commit
qcom-qmp: Add support for SM6115 UFS phy commit
qcom-qmp: add USB3 PHY support for IPQ6018 commit
qcom: qmp: Add SC8180x USB/DP combo commit
renesas: phy-rcar-gen3-usb2: Add USB2.0 PHY support for RZ/G2L commit
samsung-ufs: support exynosauto ufs phy driver commit
11.31. EDAC (Error Detection And Correction)
11.32. Various
bus: ixp4xx: Add a driver for IXP4xx expansion bus commit
bus: mhi: pci_generic: Add Cinterion MV31-W PCIe to MHI commit
Introduce SCMI transport based on VirtIO commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
fpga: dfl: pci: add device IDs for Silicom N501x PAC cards commit
Add FPGA Manager support for the Xilinx Versal chip commit, commit, commit, commit, commit
- habanalabs
Add "in device creation" status commit
Add support for encapsulated signals reservation commit
Add support for encapsulated signals submission commit
Add support for f/w reset commit
Add wait-for-multi-CS uAPI commit
Allow fail on inability to respect hint commit
gaudi: implement state dump commit
state dump monitors and fences infrastructure commit
support hint addresses range reservation commit
interconnect: qcom: Add SC8180x providers commit
interconnect: qcom: osm-l3: Add sc8180x support commit
misc: gehc-achc: new driver for the GE ACHC microcontroller, that is part of the GE PPD device commit
Add generic support for kdump Device Tree properties commit, commit, commit, commit, commit, commit, commit
reset: renesas: Add RZ/G2L usbphy control driver commit
vDPA/ifcvf: implement management netlink framework for ifcvf commit
12. List of pull requests
13. Other news sites
Phoronix's feature overview