70459
Comment: add the next batch
|
1055
|
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!''' * 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)] * 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 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)] * 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)] * 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 43: | 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.11)>> |
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.11 was released on Sun, 14 Feb 2021
Summary: This release adds supports for a new mechanism that lets software like wine handle windows syscalls in a much faster and clean manner; support for unprivileged overlayfs mounts; support for Intel SGX enclaves; support for upcoming AMD and Intel graphics hardware; faster performance and data recovery options in Btrfs; support for re-exporting via NFS an existing NFS mount; a new epoll_pwait2(2) syscall for wait timeouts with nanosecond resolution, and faster KASAN memory debugging in ARM. As always, there are many other features, new drivers, improvements and fixes.
Contents
-
Prominent features
- Faster wine with Syscall User Dispatch
- Unprivileged Overlayfs mounts
- Support for Intel SGX
- Support of new AMD, Intel graphics harware
- Faster performance and better data recover in Btrfs
- NFS re-exporting support
- Add epoll_pwait2(2) syscall for higher resolution waits
- Faster memory leak debugging in ARM
- Core (various)
- File systems
- Memory management
- Block layer
- Tracing, perf and BPF
- Networking
- Architectures
-
Drivers
- Graphics
- Power Management
- Storage
- Drivers in the Staging area
- Networking
- Audio
- Tablets, touch screens, keyboards, mouses
- TV tuners, webcams, video capturers
- Universal Serial Bus
- Serial Peripheral Interface (SPI)
- Watchdog
- Serial
- CPU Frequency scaling
- Device Voltage and Frequency Scaling
- Voltage, current regulators, power capping, power supply
- Real Time Clock (RTC)
- Pin Controllers (pinctrl)
- Multi Media Card (MMC)
- Memory Technology Devices (MTD)
- Industrial I/O (iio)
- Multi Function Devices (MFD)
- Pulse-Width Modulation (PWM)
- Inter-Integrated Circuit (I2C + I3C)
- Hardware monitoring (hwmon)
- General Purpose I/O (gpio)
- Leds
- DMA engines
- Cryptography hardware acceleration
- PCI
- Non-Transparent Bridge (NTB)
- FRU Support Interface (FSI)
- Clock
- PHY ("physical layer" framework)
- EDAC (Error Detection And Correction)
- Various
- List of Pull Requests
- Other news sites
1. Prominent features
1.1. Faster wine with Syscall User Dispatch
This release adds a clean an efficient mechanism to redirect syscalls to support the non-Linux syscalls of WINE by catching them at syscall entry and redirecting them to the user space emulation. This can be utilized for other purposes as well and has been designed carefully to avoid overhead for the regular fastpath.
Recommended LWN article: Emulating Windows system calls, take 2
1.2. Unprivileged Overlayfs mounts
Overlayfs, merged in Linux 3.18, allows a directory tree (usually read-only) to be overlaid onto another, read-only directory tree, where all the modifications are done.
Use of Overlayfs was limited to privileged users. After auditing the code to make sure that all operations on underlying layers are performed with the privileges of the mounting task, this release finally allows non-privileged users to make use of Overlayfs.
1.3. Support for Intel SGX
Intel SGX is new hardware functionality that can be used by applications to populate protected regions of user code and data called enclaves. Once activated, the new hardware protects enclave code and data from outside access and modification. Enclaves provide a place to store secrets and process data with those secrets (eg, DRM software). SGX implementations have existed on desktop processors for several years. The upcoming 3rd Generation Intel Xeon Scalable Platform, code-named “Ice Lake” will also support SGX.
Recommended LWN article: SGX: when 20 patch versions aren't enough
1.4. Support of new AMD, Intel graphics harware
As part of their policy of providing good Linux support for their hardware, both AMD and Intel have added support for new hardware: AMD has added support for a few new variants (Vangogh, Green Sardine, Dimgrey Cavefish), and Intel has provided better support for DG1.
1.5. Faster performance and better data recover in Btrfs
This release adds a few changes that should improve Btrfs performance in many different areas. First, Btrfs replaced the locking primitive used in the core b-tree implementation. A homegrown locking scheme had been used, but now it uses the standard Linux read-write semaphores; this results in much better performance for highly concurrent workloads. There are also a few changes that significantly improve the throughput/latency of dbench-like workloads.
Aditionally, this release implements new data recovery mount options for people with corrupted file systems. rescue=ignoredatacsums, which ignores faileddata checksums, rescue=ignorebadroots, which attempts to continue mounting the file system in read-only mode even if there are corrupted tree roots, and for convenience a new rescue=all option has been added, which enables 'ignorebadroots', 'ignoredatacsums' and 'nologreplay' at the same time.
1.6. NFS re-exporting support
This release makes NFS re-exporting (exporting a NFS mount via NFS) a first-class feature. This would enable the Linux in-kernel NFS server to be used as an intermediate cache for a remotely-located primary NFS server, for example, even with other NFS server implementations, like a NetApp filer, as the primary. The main interest is in allowing NFSv4.2 (particularly with pnfs) to be reexported via NFSv3.
1.7. Add epoll_pwait2(2) syscall for higher resolution waits
Add epoll_pwait2(2), an epoll_wait(2) variant with nsec resolution that replaces int timeout with struct timespec. It is equivalent otherwise. Use cases such as datacenter networking operate on timescales well below milliseconds. Shorter timeouts bounds their tail latency.
Recommended LWN article: epoll_pwait2(), close_range(), and encoded I/O
1.8. Faster memory leak debugging in ARM
The Linux kernel contains KASAN, a dynamic memory error detector that provides a fast and comprehensive solution for finding use-after-free and out-of-bounds bugs. A more performant and less memory hungry version, software tag-based KASAN, was added in Linux 5.0 for ARM 64 CPUs.
This release implements hardware tag-based KASAN for ARM 64. It relies on arm64 Memory Tagging Extension introduced in ARMv8.5 to perform memory and pointer tagging (instead of shadow memory and compiler instrumentation). While it doesn't removes all the overhead of KASAN, it is significantly faster and memory thrifty than the existing versions, which makes the discovery of memory errors easier.
Recommended LWN article: The Arm64 memory tagging extension in Linux
2. Core (various)
inotify: Increase default inotify.max_user_watches limit to 1048576 commit
locking/rwsem: Rework reader optimistic spinning commit, commit, commit, commit
reboot: allow to specify reboot mode via sysfs commit
(FEATURED) Syscall User Dispatch, a mechanism to quickly disable/enable syscall handling for a specific process and redirect to userspace via SIGSYS commit, commit, commit, commit, commit, commit, commit
proc: Similar to speculation store bypass, show information about the indirect branch speculation mode of a task in /proc/$pid/status commit
Add epoll_pwait2(2) syscall that enables nanosecond timeouts for epoll. Analogous to pselect and ppoll, introduce an epoll_wait syscall variant that takes a struct timespec instead of int timeout commit, commit, commit, commit
- Task scheduler
- Signals
Replace the inefficient signal delivery mode of task work and results in an impressive performance improvement for io_uring commit, commit, commit, commit
Architectures that support address tagging, such as arm64, may want to expose fault address tag bits to the signal handler to help diagnose memory errors. However, these bits have not been previously set, and their presence may confuse unaware user applications. Therefore, introduce a SA_EXPOSE_TAGBITS flag bit in sa_flags that a signal handler may use to explicitly request that the bits are set commit, commit
Define a sa_flags bit which will never be supported in the uapi. The purpose of this flag bit is to allow userspace to distinguish an old kernel that does not clear unknown sa_flags bits from a kernel that supports every flag bit commit, commit, commit, commit
seccomp: Add bitmap cache of constant allow filter results commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
- userfaultfd
Add user-mode only option to unprivileged_userfaultfd sysctl knob. When the knob is set to 0, it allows unprivileged users to call userfaultfd, like when it is set to 1, but with the restriction that page faults from only user-mode can be handled. In this mode, an unprivileged user (without SYS_CAP_PTRACE capability) must pass UFFD_USER_MODE_ONLY to userfaultd or the API will fail with EPERM. Recommended LWN article. commit, commit
- io_uring
Allow non-fixed files with SQPOLL commit
Allow SQPOLL with CAP_SYS_NICE privileges commit
Add support for IORING_OP_RENAMEAT commit, commit and IORING_OP_UNLINKAT commit
Add timeout update. Timeout update is a IORING_OP_TIMEOUT_REMOVE request with timeout_flags containing a new IORING_TIMEOUT_UPDATE flag commit, commit
Add timeout support for io_uring_enter(). The big win here is that it allows setups that split SQ and CQ handling into separate threads to avoid locking commit
Add support for shutdown(2), useful for sockets commit
close_range(2): add flag CLOSE_RANGE_CLOEXEC. It sets the close-on-exec bit for the file descriptors instead of close()-ing them commit
fscrypt: Allow deleting files with unsupported encryption policy commit, commit, commit, commit, commit, commit, commit, commit, commit
iommu: Add support to change default domain of commit, commit, commit, commit * Add auxiliary bus support commit
console: Use ttynull when no console is available or wanted commit, commit
Fortify strscpy(): New fortified version ensures there is no read or write overflow commit, commit, commit, commit
kunit: Support for Parameterized Testing commit
binder: add flag to clear buffer on txn complete commit
scripts: get_feat.pl: add a script to handle Documentation/features commit
PCI: Add sysfs attribute for device power state commit
gcc-plugins: remove code for GCC versions older than 4.9 commit
3. File systems
- BTRFS
(FEATURED) Switch homegrown locking used for the buffer tree implementation to a standard Linux rw_semaphore. Performance in highly contended scenarios seems to be much better in general, much better (tens of percent gains) for some commit, commit
(FEATURED) Performance improvements for dbench alike workloads commit, commit, commit, commit, commit, commit
(FEATURED) Introduce rescue mount option rescue=ignoredatacsums, which ignores data checksums failures (these can actually happen when an application modifies a buffer in-flight when doing an O_DIRECT write) commit
(FEATURED) Introduce rescue mount option rescue=ignorebadroots. It attempts to make read-only mount possible when failing to read corrupted tree roots commit
(FEATURED) Introduce mount option rescue=all, which enables 'ignorebadroots' + 'ignoredatacsums' + 'nologreplay' at the same time commit
sysfs: export filesystem generation commit
sysfs: export supported rescue= mount options commit
Export read mirror policy settings to sysfs (policies to be added in the future) commit, commit
Update the number of bytes used by an inode atomically to avoid wrong stat() reporting commit
(FEATURED) Perf: btrfs: skip unnecessary searches for xattrs when logging an inode (+10.8 dbench throughput/-8.2 latency) commit
(FEATURED) Perf: unlock path before checking if extent is shared during nocow writeback (+5.0 dbench throughput/-20.5 latency), on fio load +9.7% throughput/-9.8% runtime commit
(FEATURED) Perf: stop incrementing log batch when joining log transaction (+12.7 dbench throughput/-8.2 latency) commit
Show rescue=usebackuproot in /proc/mounts commit
Free space cache (v1) is loaded asynchronously commit, commit
Remove inode number cache feature commit
- CIFS
Add SYSTEM_SECURITY access flag and use with smb2 when opening files for getting/setting SACLs. Add "system.cifs_ntsd_full" extended attribute to allow user-space access to the functionality. Avoid multiple server calls when setting owner, DACL, and SACL. Add support for getting and setting SACLs commit, commit
Enable sticky bit with cifsacl mount option commit
Witness protocol support for transparent failover commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
- F2FS
Introduce max_io_bytes, a sysfs entry, to limit bio size commit
Add F2FS_IOC_DECOMPRESS_FILE and F2FS_IOC_COMPRESS_FILE to decompress/compress explicitly the compression enabled file in compress_mode=user mount option commit
Add F2FS_IOC_GET_COMPRESS_OPTION and F2FS_IOC_SET_COMPRESS_OPTION ioctls commit, commit
Add support for Encryption and Casefolding commit, commit, commit
Add compress_chksum, which stores chksum value with compressed data, and verify the integrality of compressed data while reading the data commit
Add compress_mode mount option to control file compression mode commit
- FUSE
- NFS
(FEATURED) Allow NFS filesystems to be reexported. The main interest is in allowing NFSv4.2 (particularly with pnfs) to be reexported via NFSv3 commit, commit, commit, commit, commit, commit
Readdir enhancements: Add support for 1MB readdir RPC calls on-the-wire, modify caching code to ensure that we cache the entire contents of that 1MB call. For filesystems that use ordered readdir cookie schemes (e.g. XFS), it optimises searching for cookies in the client's page cache. Finally, improve scalability when dealing with very large directories by turning off caching when those directories are changing commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Implement support for multiple RPC/RDMA chunks per RPC transaction commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit * NOTIFY
- CEPH
- OVERLAYFS
(FEATURED) Unprivileged mounts commit
Introduce new uuid=off option for inodes index feature. It can be used to replace UUID of the underlying filesystem in file handles with null, and effectively disable UUID checks. This can be useful in case the underlying disk is copied and the UUID of this copy is changed. This is only applicable if all lower/upper/work directories are on the same filesystem, otherwise it will fallback to normal behaviour commit
Add the -o userxattr mount option forces overlayfs to use the "user.overlay." xattr namespace instead of "trusted.overlay.". This is useful for unprivileged mounting of overlayfs commit
- XFS
4. Memory management
Speed up mremap on large regions commit, commit, commit, commit
Batch memory allocations and copies in generic_file_buffered_read commit, commit
highmem: Preemptible variant of kmap_atomic & friends commit, commit, commit, commit, commit, commit, commit
Per memcg lru lock commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
memcg: deprecate cgroup v1 non-hierarchical mode commit, commit, commit
Add file_thp, shmem_thp to memory.stat commit
Speed up mremap on large regions commit, commit, commit, commit
zram: add stat to gather incompressible pages since zram set up commit
Remove CONFIG_PAGE_POISONING_NO_SANITY commit and CONFIG_PAGE_POISONING_ZERO commit
zswap: move to use crypto_acomp API for hardware acceleration commit
Disable pcplists during memory offline commit, commit, commit, commit, commit, commit, commit
kasan: boot parameters for hardware tag-based mode commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
5. Block layer
null_blk: Allow controlling max_hw_sectors limit to allow configuring the maximum size of a command issued commit
block/rnbd-clt: support mapping two devices with the same name from different servers commit
dm verity: Add support for signature verification with 2nd keyring commit
dm mpath: Add a path selector that selects paths based on a CPU to path mapping the user passes in and what CPU we are executing on commit
6. Tracing, perf and BPF
- BPF
Switch to memcg-based memory accounting (instead of memlock) commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, 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 BTF-powered BPF tracing programs for kernel modules commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Add the page size in the perf record commit, commit, commit, commit
Implement bpf_ima_inode_hash, a BPF helper for getting the IMA hash of an inode commit, commit, commit * tools/bpftool: Add bpftool support for split BTF commit
Add BTF generation for kernel modules using a compact split BTF approach commit, commit, commit, commit, commit
Expose bpf_{s,g}etsockopt helpers to bind{4,6} hooks commit, commit, commit
Add bpf_bprm_opts_set helper, which allows modification of certain bits on the linux_binprm struct starting with the secureexec bit which can be updated using the BPF_F_BPRM_SECUREEXEC flag commit
Add bpf_ktime_get_coarse_ns helper. It uses CLOCK_MONOTONIC_COARSE source of time that is less accurate but more performant commit
Add a bpf_sock_from_file helper which can convert the void private_data pointer to a struct socket BTF pointer commit
Update the set of sleepable hooks with the ones that do not trigger a warning with might_fault() when exercised with the correct kernel config options enabled. This means that a sleepable LSM eBPF prorgam can be attached to these LSM hooks commit, commit
Implement bpf_local_storage for task_struct commit, commit, commit, commit, commit, commit, commit, commit, commit
Add support for setting window clamp commit
Allow the FENTRY/FEXIT/RAW_TP tracing program to use bpf_sk_storage commit, commit, commit, commit
bpftool: Add {i,d}tlb_misses support for bpftool profile commit
libbpf: add support for generating and deduplicating split BTF. This is an enhancement to the BTF, which allows to designate one BTF as the "base BTF" (e.g., vmlinux BTF), and one or more other BTFs as "split BTF" (e.g., kernel module BTF), which are building upon and extending base BTF with extra types and strings commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
- perf
pmu-events: Support event aliasing for system PMUs commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
mem/c2c: Support AUX trace commit, commit, commit, commit, commit, commit, commit, commit, commit
stat: Add --quiet option commit
stat: Support regex pattern in --for-each-cgroup commit
7. Networking
Introduce preferred busy-polling: The existing busy-polling mode, enabled by the SO_BUSY_POLL socket option or the system-wide /proc/sys/net/core/busy_read knob, is opportunistic, when the busy-polling budget is exceeded, the NAPI will be scheduled onto the regular softirq handling. Some applications prefer that most NAPI processing would be done by busy-polling; this release implements such functionality with a new socket option, SO_PREFER_BUSY_POLL commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
IPv6: Add support for the SRv6 End.DT4 and End.DT6 (VRF mode) behavior. The SRv6 End.DT4 behavior is used to implement multi-tenant IPv4 L3 VPNs. It decapsulates the received packets and performs IPv4 routing lookup in the routing table of the tenant. The SRv6 End.DT4 Linux implementation leverages a VRF device in order to force the routing lookup into the associated routing table. The SRv6 End.DT4 behavior is defined in the SRv6 Network Programming commit, commit, commit, commit, commit, commit, commit, commit
IP: Add an IPv6/IPv4 route encapsulation attribute to the result of netlink RTM_GETROUTE requests commit, commit
- batman-adv
- brige
Add support for Connectivity Fault Management(CFM), defined in 802.1Q section 12.14. Connectivity Fault Management (CFM) comprises capabilities for detecting, verifying, and isolating connectivity failures in Virtual Bridged Networks. These capabilities can be used in networks operated by multiple independent organizations, each with restricted management access to each other’s equipment commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
mrp: Implement LC mode for MRP commit
mcast: add support for raw L2 multicast groups commit
- can
x25: netdev event handling commit, commit, commit, commit, commit
macvlan: Support for high multicast packet rate commit
- * Multi-path TCP
Add port parameter to ADD_ADDR option, used to announce available IP addresses that a peer may connect to when adding more TCP subflows to an existing MPTCP connection commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Add a new sysctl add_addr_timeout commit
net-zerocopy: Performance optimizations for TCP Recv. Zerocopy commit, commit, commit, commit, commit, commit, commit, commit
- Netfilter
nftables: generalize set expressions support commit, commit, commit, commit
ctnetlink: add timeout and protoinfo to destroy events commit
ipset: Add bucketsize parameter to all hash types commit
ipset: Expose the initval hash parameter to userspace commit
ipset: Support the -exist flag with the destroy command commit
nexthop: Add support for nexthop objects offload commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
packet protocol: make packet_fanout.arr size configurable up to 64K commit
ppp: add PPPIOCBRIDGECHAN and PPPIOCUNBRIDGECHAN ioctls. This new ioctl pair allows two ppp channels to be bridged together: frames arriving in one channel are transmitted in the other channel and vice versa. The practical use for this is primarily to support the L2TP Access Concentrator use-case. The end-user session is presented as a ppp channel (typically PPPoE, although it could be e.g. PPPoA, or even PPP over a serial link) and is switched into a PPPoL2TP session for transmission to the LNS. At the LNS the PPP session is terminated in the ISP's network commit
rfkill: add a reason to the HW rfkill state commit
rxrpc: Prelude to gssapi support commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
smc: Add support for generic netlink API commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
TLS: Add CHACHA20-POLY1305 cipher to Kernel TLS commit, commit, commit, commit, commit
UDP: introduce UDP_MIB_MEMERRORS to report memory allocation errors commit
SCTP: Implement RFC6951: UDP Encapsulation of SCTP commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
- 802.11 (Wireless)
Add common API to configure SAR power limitations commit
Add support to calculate and report 4096-QAM HE rates commit
Add support to configure SAE PWE value to drivers commit
Add support to configure HE MCS for beacon rate commit
Remove WDS mode commit, commit, commit, commit, commit, commit, commit, commit
XDP: introduce bulking for page_pool tx return path to optimize I-cache and D-cache commit, commit, commit, commit, commit
- Bluetooth
8. Architectures
8.1. ARM
New supported SoCs
MStar Infinity2M, a low-end IP camera chip based on a dual-core Cortex-A7, otherwise similar to the Infinity chip we already support. This is also known as the SigmaStar SSD202D, and we add support for the Honestar ssd201htv2 development kit commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Nuvoton NPCM730, a Cortex-A9 based Baseboard Management Controller (BMC), in the same family as the NPCM750. This gets used in the Ampere Altra based "Fii Kudo" server, the Quanta GSJ, and Qanta Olympus RunBMC commit, commit, commit, commit, commit
Broadcom BCM4908, a 64-bit home router chip based on Broadcom's own Brahma-B53 CPU. Support is also added for the Asus ROG Rapture GT-AC5300 high-end WiFi router based on this chip commit
Mediatek MT8192 is a new SoC based on eight Cortex-A76/A55 cores, meant for faster Chromebooks and tablets. It gets added along with its reference design commit
Mediatek MT6779 (Helio P90) is a high-end phone chip from last year's generation, also added along with its reference board. This one is still based on Cortex-A75/A55 commit
Mediatek MT8167 is a version of the already supported MT8516 chip, both based on Cortex-A35. It gets added along with the "Pumpkin" single board computer, but is likely to also make its way into low-end tablets in the future commit, commit
New boards for already supported SoCs
Three new Mikrotik router variants based on Marvell Prestera 98DX3236, a close relative of the more common Armada XP commit, commit, commit
A reference board for the Marvell Armada 382 commit
Three new servers using ASpeed baseboard management controllers, the actual machines being from Bytedance, Facebook and IBM commit, commit, commit
The Galaxy Note 10.1 (P4) tablet, using an Exynos 4412 commit
- The usual set of 32-bit i.MX industrial/embedded hardware
- New Allwinner SoC based single-board computers
DH electronics STM32MP157C DHCOM, a PicoITX carrier board for the aleady supported DHCOM module commit
Ouya Game Console based on Nvidia Tegra 3 commit
Version 5 of the already supported Zynq Z-Turn MYIR Board commit
LX2162AQDS, a reference platform for NXP Layerscape LX2162A, which is a repackaged 16-core LX2160A commit
A series of Kontron i.MX8M Mini baseboard/SoM versions commit
Espressobin Ultra, a new variant of the popular Armada 3700 based board commit
IEI Puzzle-M801, a rackmount network appliance based on Marvell Armada 8040 commit
Microsoft Lumia 950 XL (Cityman), a phone commit
HDK855 and HDK865 Hardware development kits for Qualcomm sm8250 and sm8150, respectively commit, commit
New board variants of the Renesas based "Kingfisher" and !"HiHope" reference boards commit
Kobol Helios64, an open source NAS appliance based on Rockchips RK3399 commit
Engicam PX30.Core, a SoM based on Rockchip PX30, along with a few carrier boards commit, commit, commit, commit, commit, commit, commit, commit
Remove ebsa110 platform commit
- perf
hisi: Add identifier sysfs file commit
Add PMU driver for the ARM DMC-620 memory controller commit
arm-spe: Add support for ARMv8.3-SPE commit
imx_ddr: Add stop event counters support for i.MX8MP commit
imx_ddr: Add system PMU identifier for userspace commit
smmuv3: Support sysfs identifier file commit
soc/litex: add LiteX SoC Controller driver commit
interconnect: Add generic interconnect driver for Exynos SoCs commit
- ARM 64
(FEATURED) Add hardware tag-based mode to KASAN commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Condition Energy Aware Scheduling (EAS) enablement on a frequency invariant system commit, commit, commit
Add support for CPPC's delivered and reference performance counters through the FFH methods by using the AMU equivalent core and constant cycle counters commit, commit, commit
- KVM
perf kvm: Add kvm-stat for arm64 commit
Expose CSV3 to guests on running on Meltdown-safe HW commit, commit
Opt-in always-on nVHE hypervisor. Allow the hypervisor to install itself on newly booted CPUs before the host is allowed to run on them commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
8.2. X86
Intel Platform Monitoring Technology, an architecture for enumerating and accessing hardware monitoring capabilities commit, commit, commit, commit, commit
(FEATURED) Support for Intel SGX foundations, a new hardware functionality that can be used by applications to populate protected regions of user code and data called enclaves. Once activated, the new hardware protects enclave code and data from outside access and modification. SGX implementations have existed on desktop processors for several years. The upcoming 3rd Generation Intel Xeon Scalable Platform, code-named “Ice Lake” will also support SGX commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Calculate frequency invariance for AMD systems. This is the first pass in creating the ability to calculate the frequency invariance on AMD systems. This approach uses the CPPC highest performance and nominal performance values that range from 0 - 255 instead of a high and base frequency commit
intel_idle: add SnowRidge C-state table commit
intel_th: Add Alder Lake-P support commit
powercap: Enable RAPL for AMD Fam17h and Fam19h commit, commit, commit, commit
perf: Add Rocket Lake CPU support commit, commit, commit, commit
perf vendor events: Update Skylake client events to v50 commit
Introduce AVX512_FP16 feature and expose it to KVM CPUID for processors that support it commit, commit
- Platforms
mellanox: mlxbf-pmc: Add Mellanox BlueField PMC driver commit
surface: gpe: Add support for 15" Intel version of Surface Laptop 3 commit
Introduce support for Systems Management Driver over WMI for Dell Systems commit
acer-wmi: Add new force_caps module parameter commit
amd-pmc: Add AMD platform support for S2Idle commit
asus-wmi: Add userspace notification for performance mode change commit
intel-hid: add Rocket Lake ACPI device ID commit
intel-vbtn: Support for tablet mode on Dell Inspiron 7352 commit
intel-vbtn: Support for tablet mode on HP Pavilion 13 x360 PC commit
panasonic-laptop: Add support for battery charging threshold (eco mode) commit
panasonic-laptop: Add support for optical driver power in Y and W series commit
panasonic-laptop: Add sysfs attributes for firmware brightness registers commit
panasonic-laptop: Add write support to mute commit
thinkpad_acpi: Add palm sensor support commit
thinkpad_acpi: add P1 gen3 second fan support commit
touchscreen_dmi: Add info for the Irbis TW118 tablet commit
touchscreen_dmi: Add info for the Predia Basic tablet commit
Add uv_sysfs platform driver to gather topology information from UV systems and expose that information via a sysfs interface at /sys/firmware/sgi_uv/ commit, commit, commit, commit, commit, commit, commit, commit
classmate-laptop: add WiFi media button commit
Do not allow writes to MSR_IA32_ENERGY_PERF_BIAS commit
- KVM
Add support for running SEV-ES guests under KVM. Secure Encrypted Virtualization - Encrypted State (SEV-ES) expands on the SEV support to protect the guest register state from the hypervisor commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
hyper-v: make KVM_GET_SUPPORTED_HV_CPUID more useful commit
8.3. MIPS
Enable GCOV commit
Ingenic: Add missing nodes for Ingenic SoCs and boards commit
Loongson64: Add /sys/firmware/lefi/boardinfo commit
Loongson64: Add KASLR support commit
Loongson64: Add Mail_Send support for 3A4000+ CPU commit
Add support for more mscc SoCs: Luton, Serval and Jaguar2 commit, commit, commit, commit, commit, commit, commit, commit, commit
Add support for self-extracting FIT images (vmlinuz.itb) commit
8.4. S390
Add arch_get_random_long() support commit
Add debug user asce support commit
Add support to allocate gigantic hugepages using CMA commit
Extend default vmalloc area size to 512GB commit
sclp: provide extended sccb support commit
DASD FC endpoint security commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
8.5. POWERPC
Add "-z rodynamic" when using LLD commit
Add "-z notext" flag to disable diagnostic commit
Add emulation for VSX 32-byte vector paired load/store instructions commit, commit, commit, commit, commit
8.6. RISCV
8.7. ALPHA
Switch from DISCONTIGMEM to SPARSEMEM commit
8.8. OPENRISC
Add support for LiteX commit
8.9. PARISC
Make user stack size configurable commit
9. Drivers
9.1. Graphics
Introduce drm scaling filter property commit, commit, commit, commit
Support GEM object mappings from I/O memory to speed up the framebuffer in some architectures commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
- amdgpu
(FEATURED) Initial Vangogh support commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
(FEATURED) Green Sardine support commit, commit, commit, commit, commit, commit, commit, commit
(FEATURED) Dimgrey Cavefish support commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Add device ID for navy_flounder commit
Add new device id for Renior commit
Scatter/Gather display support for display buffers in renoir commit
gfx9+ modiifier support commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Add vcn dec software ring support commit, commit, commit, commit, commit
Enable freesync for A+A configs commit
Add debugfs entry for printing VM info commit
Add module parameter choose PX runtime method commit
Add xgmi perfmons for arcturus commit
- radeon
- Intel
Asynchronous flip implementation commit, commit, commit, commit, commit, commit, commit, commit
(FEATURED) Introduce support for DG1, a gen12 dgfx platform commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
bigjoiner support commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Enable eLLC caching of display buffers for SKL+ commit
Add more PCI ids commit
Add SKL GT1.5 PCI IDs commit
Add support for LTTPR non-transparent link training mode commit, commit, commit, commit, commit
- msm
- ast
- aspeed
sysfs output config support commit
- gma500
- exynos
New HDMI mode support commit
- mediatek
- etnaviv
Add total hi bandwidth perfcounter commit
- hibmc
- ingenic
- bridge
Add support for lontium LT9611UXC bridge commit
- vkms
fbdev emulation support commit
- panel
fbcon: Disable accelerated scrolling, it's full of bugs commit
fourcc: Add AXBXGXRX106106106106 format commit
kmb: Add support for KeemBay DRM driver commit, commit, commit, commit
- mcde
9.2. Power Management
cpuidle: Select polling interval based on a c-state with a longer target residency commit
psci: Enable s2idle when using PSCI OSI commit, commit, commit
ACPICA: Add 5 new UUIDs to the known UUID table commit
pm-graph v5.8 commit
- thermal
int340x: processor_thermal: Add AlderLake PCI device id commit
int340x: processor_thermal: Add RFIM driver commit
int340x: processor_thermal: Add mailbox driver commit
rcar_gen3_thermal: Add r8a779a0 support commit
intel_pch_thermal: Add PCI ids for Lewisburg PCH commit
amlogic: Add hwmon support commit
int340x: Support Alder Lake commit
9.3. Storage
- SCSI
ibmvfc: Protocol definition updates and new targetWWPN Support commit, commit, commit, commit, commit, commit
ufs: Add some proprietary features in MediaTek UFS platforms commit, commit, commit, commit, commit, commit
SAN Congestion Management (SCM) statistics commit, commit, commit, commit, commit
arcmsr: Configure the default command timeout value commit
mpt3sas: Add module parameter multipath_on_hba commit
ufs: Add DeepSleep feature commit
lpfc: Add FDMI Vendor MIB support commit
nvme-fcloop: add sysfs attribute to inject command drop commit
nvmet: add configfs passthru admin timeout value attr commit
nvmet: add configfs passthru io timeout value attr commit
nvme-fabrics: reject I/O to offline device commit
9.4. Drivers in the Staging area
media: cedrus: Add support for R40 commit
media: cedrus: Add support for V3s commit
media: cedrus: Add support for VP8 decoding commit
media: cedrus: h264: Support profile controls commit
media: rkvdec: h264: Support profile and level controls commit
media: rockchip: rkisp1: destage Rockchip ISP1 driver commit
pinctrl: ralink: add a pinctrl driver for the rt2880 family commit
dpaa2-switch: export the 'no buffer' counter in ethtool commit
mt7621-pci-phy: remove driver from staging commit
wimax: move out to staging commit
ion: remove from the tree commit
Retire drivers/staging/goldfish commit
9.5. Networking
Add mhi-net driver commit
- Bluetooth
btqca: Use NVM files based on SoC ID for WCN3991 commit
btusb: Add support for 1358:c123 Realtek 8822CE device commit
btusb: Add support for 13d3:3560 MediaTek MT7615E device commit
btusb: Support 0bda:c123 Realtek 8822CE device commit
btusb: btrtl: Add support for RTL8852A commit
btusb: support download nvm with different board id for wcn6855 commit
hci_h5: Add OBDA0623 ACPI HID commit
- Infiniband
- RDMA
- ath10k
- ath11k
- can
Add len8_dlc support for esd_usb2 CAN adapter commit
Add len8_dlc support for various CAN adapters commit
kvaser_usb: Add new Kvaser Leaf v2 devices commit
kvaser_usb: Add new Kvaser hydra devices commit
kvaser_usb: kvaser_usb_hydra: Add support for new device variant commit
m_can: add PCI glue driver for Intel Elkhart Lake commit
mcp251xfd: Add support for internal loopback mode commit
cdc_ether: added support for Thales Cinterion PLSx3 modem family commit
cxgb4: Add new T6 PCI device id 0x6092 commit
dpaa_eth: add XDP support commit, commit, commit, commit, commit, commit, commit
- dsa
e1000e: Export S0ix flags to ethtool commit
ena: XDP Redirect implementation for ENA driver commit, commit, commit, commit, commit, commit, commit, commit, commit
ti: am65-cpsw: add multi port support in mac-only mode commit
- hns3
Add support for tc mqprio offload, hw tc offload of tc flower, and adpation for max rss size commit, commit, commit, commit, commit, commit, commit
Support an extended promiscuous command which makes promiscuous configuration more flexible, and add ethtool private flags to control whether enable tx unicast promisc commit, commit, commit
- Add support for 1280 queues and add support to query firmware's calculated shaping parameters
Add support for QL and add support for 1us unit GL commit, commit, commit, commit
Add support for multiple TCs' MAC pause mode commit, commit, commit, commit, commit, commit, commit
i40e: Tx performance improvements commit, commit, commit, commit, commit
ibmvnic: Performance improvements and other updates commit, commit, commit, commit, commit, commit, commit, commit, commit
igc: Add new device ID commit
ionic: add lif quiesce commit
- ipa
- iwlwifi
- macb
- mlxsw
Add support for 802.1ad bridging commit, commit, commit, commit, commit, commit, commit, commit, commit
Introduce initial XM router support commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Add support for Q-in-VNI commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Add support for blackhole nexthops commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Add support for nexthop objects commit, commit, commit, commit, commit, commit, commit, commit
mscc: ocelot: support L2 multicast entries commit
- mt76
mt7915: add 802.11 encap offload support commit, commit, commit, commit, commit, commit, commit, commit
mt7603: add additional EEPROM chip ID commit
mt7615: enable beacon filtering by default for offload fw commit
mt7615: introduce quota debugfs node for mt7663s commit
mt7615: support 16 interfaces commit
mt7663s: introduce WoW support via GPIO commit
mt7915: implement testmode rx support commit and testmode tx support commit
mlx5e: add support for port TX timestamping, for better PTP accuracy commit, commit, commit, commit, commit, commit, commit, commit, commit
usb/r8153_ecm: support ECM mode for RTL8153 commit
netdevsim: add ethtool coalesce and ring settings commit, commit, commit, commit, commit, commit
- nfc
- octeontx2-af
Support for OcteonTx2 98xx silicon commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Add devlink and devlink health reporters NPa and NIX blocks commit, commit, commit
Add support for RSS hashing based on Transport protocol field commit
Add Support for Marvell OcteonTX2 Cryptographic commit, commit, commit
Add ethtool ntuple filters support commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
phy: adin: implement cable-test support commit
phy: mscc: Add PTP support for 2 more VSC PHYs commit
phy: realtek: Add support for RTL8221B-CG series commit
qmi_wwan: add Quectel EM160R-GL commit
r8152: Add Lenovo Powered USB-C Travel Hub commit
rtw88: coex: enhance coex performance and synchronize coex code commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
rtw88: coex: add the mechanism for RF4CE commit
sfc: implement encap TSO on EF100 commit
sfc: support GRE TSO on EF100 commit
stmmac: intel: Add PCI IDs for TGL-H platform commit
wcn36xx: Enable firmware link monitoring commit
wilc1000: added WMM support commit, commit, commit, commit, commit
x25_asy: Delete the x25_asy driver commit
Remove am79c961a driver commit
Delete the DLCI / SDLA drivers commit
9.6. Audio
- HDA
conexant: add a new hda codec CX11970 commit
realtek: Add supported for more Lenovo ALC285 Headset Button commit
realtek: Enable headset mic of ASUS X430UN with ALC256 commit
realtek: Add two "Intel Reference board" SSID in the ALC256 commit
realtek: Enable headset of ASUS B1400CEPE with ALC256 commit
Add AlderLake-P PCI ID and HDMI codec vid commit
Add Cometlake-R PCI ID commit
intel-dsp-config: add PCI id for TGL-H commit
- usb-audio
- ASoC
SOF: Add memory_info file to debugfs commit
SOF: Intel: add SoundWire support for ADL-S commit
SOF: Intel: initial support for !Alderlake-S commit
Add ADAU1372 audio CODEC support commit
Intel: catpt: add dynamic selection of DSP driver commit
Intel: common: add ACPI matching tables for Alder Lake commit
amd: support other audio modes for raven commit
audio-graph: Support empty Codec endpoint commit
codecs: add support for LPASS Codec macros commit, commit, commit, commit, commit, commit
fsl-asoc-card: Add support for si476x codec commit
fsl: Add imx-hdmi machine driver commit
fsl_aud2htx: Add aud2htx module driver commit
fsl_spdif: Add support for higher sample rates commit
fsl_spdif: Add support for i.MX8QM platform commit
fsl_xcvr: Add XCVR ASoC CPU DAI driver commit
hdmi-codec: Add RX support commit
intel: sof_rt5682: Add support for cml_rt1015_rt5682 commit
intel: sof_rt5682: Add support for tgl_rt1011_rt5682 commit
Mediatek: Add support for MT8192 SoC commit, commit, commit, commit, commit, commit, commit, commit, commit
mediatek: mt8192: support rt1015p_rt5682 commit
mx27vis-aic32x4: Remove unused driver commit
nau8315: add codec driver commit
pcm512x: Add support for more data formats commit
phycore-ac97: Remove unused driver commit
Support SC7180 sound card variation without headset commit, commit
qcom: sm8250: add sound card qrb5165-rb5 support commit
sun4i-i2s: Add support for H6 I2S commit
sun8i-codec: Add the AIF2 DAI, widgets, and routes commit
sun8i-codec: Add the AIF3 DAI, widgets, and routes commit
wm1133-ev1: Remove unused driver commit
imx-mc13783: Remove unused driver commit
imx-ssi: Remove unused driver commit
9.7. Tablets, touch screens, keyboards, mouses
Support inhibiting input devices. Userspace might want to implement a policy to temporarily disregard input from certain devices. An example use case is a convertible laptop, whose keyboard can be folded under the screen to create tablet-like experience. The user then must hold the laptop in such a way that it is difficult to avoid pressing the keyboard keys commit, commit, commit, commit, commit
Add driver for power button on Dell Wyse 3020 commit
Add support for Goodix GT9286 chip commit
atmel_mxt_ts: support regulator supplies commit
ektf2127: add support for eKTF2132 touchscreen commit
elan_i2c: add new trackpoint report type 0x5F commit
Implement pressure reporting for ILI251x commit
New da7280 haptic driver commit
sc27xx: add support for sc2730 and sc2721 commit
st1232: add support resolution reading commit
gtco: remove driver commit
- HID
multitouch: Enable multi-input for Synaptics pointstick/touchpad device commit
logitech-dj: add the G602 receiver commit
logitech-hidpp: Add product ID for MX Ergo in Bluetooth mode commit
logitech-hidpp: Add hid_device_id for V470 bluetooth mouse commit
asus: Add support for ASUS N-Key keyboard commit
elecom: add support for EX-G M-XGL20DLBK wireless mouse commit
mf: add support for 0079:1846 Mayflash/Dragonrise USB Gamecube Adapter commit
sony: support for ghlive ps3/wii u dongles commit
ite: Add support for Acer S1002 keyboard-dock commit
i2c-hid: add Vero K147 to descriptor override commit
SFH: Add Support for AMD Sensor Fusion Hub commit, commit, commit, commit
9.8. TV tuners, webcams, video capturers
camss: support for the entire camera subsystem found in SDM630/636/660 and SDA variants, including CSIPHY 3-Phase, CSID v5.0, ISPIF 3.0 and VFE 4.8 commit, commit, commit, commit, commit, commit
ccs-pll: Support additional CCS PLL features, C-PHY commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
css: Trivial MIPI CCS support commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
coda: Add a V4L2 user for control error macroblocks count commit
Stateless H.264 de-staging commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
dvb-usb: Add Hauppauge MAX S2's USB-IDs commit
i2c: Add ov9734 image sensor driver commit
i2c: add OV02A10 image sensor driver commit
i2c: ov772x: Add support for BT.656 mode commit
imx274: add support for sensor mode6, 1280x540 commit
meson: Add M2M driver for the Amlogic GE2D Accelerator Unit commit
ov5640: add support of 160x120 resolution commit
rc: add keymap for KHAMSIN remote commit
rc: add keymap for pine64 remote commit
smiapp: Use MIPI CCS version and manufacturer ID information commit
stm32-dcmi: add 8-bit Bayer formats support commit
stm32-dcmi: add support of BT656 bus commit
uapi: add MEDIA_BUS_FMT_METADATA_FIXED media bus format commit
vicodec: mark the stateless FWHT API as stable commit
9.9. Universal Serial Bus
- Thunderbolt
Add driver for USB signal re-mapper commit
serial: cp210x: add new VID/PID for supporting Teraoka AD2000 commit
serial: cp210x: add pid/vid for WSDA-200-USB commit
serial: option: Adding support for Cinterion MV31 commit
serial: option: add LongSung M5710 module support commit
serial: option: add Quectel EM160R-GL commit
serial: option: add interface-number sanity check to flag handling commit
typec: Add number of altmodes partner attribute commit
typec: Add plug num_altmodes sysfs attribute commit
typec: Add type sysfs attribute file for partners commit
typec: Expose Product Type VDOs via sysfs commit
typec: tcpci: Add support to report vSafe0V commit
typec: TCPM support for FRS and AutoDischarge Disconnect commit, commit, commit, commit, commit, commit, commit
qmi_wwan: Adding support for Cinterion MV31 commit
gadget: fsl_mxc_udc: Remove the driver commit
ehci-mxc: Remove the driver commit
imx21-hcd: Remove the driver commit
9.10. Serial Peripheral Interface (SPI)
dw: Add support for 32-bits max xfer size commit
dw: Add support for the Canaan K210 SoC SPI commit
pxa2xx: Add support for Intel Alder Lake PCH-S commit
rockchip: enable autosuspend feature commit
spi-mtk-nor: add axi clock control for MT8192 spi-nor commit
spi-sun6i: enable autosuspend feature commit
spi-sun6i: implement DMA-based transfer mode commit
9.11. Watchdog
Remove pnx83xx driver commit
9.12. Serial
serial: add LiteUART driver commit
tty: Remove redundant synclink driver commit
tty: Remove redundant synclinkmp driver commit
tty: serial: remove pnx8xxx uart driver commit
9.13. CPU Frequency scaling
cpufreq: Allow drivers to receive more information from the governor commit, commit, commit
mediatek: Add support for mt8167 commit
arm_scmi: Discover the power scale in performance protocol commit
cppc_cpufreq: expose information on frequency domains commit
9.14. Device Voltage and Frequency Scaling
9.15. Voltage, current regulators, power capping, power supply
power: reset: ocelot: Add support 2 other MIPS based SoCs commit
- regulator
Add NXP PF8X00 regulator driver commit
Add support for DA9121 regulator commit
add SCMI driver commit
da9121: extend the DA9121 driver to add support for DA9130, DA9122, DA9131, DA9220, DA9132, DA9217. Also extend support to cover DT configured GPIO enable, current limit setting, and interrupt handling for all devices commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
fixed: support using power domain for enable/disable commit
mcp16502: add support for ramp delay commit
qcom-rpmh: Add support for PM8350/PM8350c commit
qcom-rpmh: Add support for SDX55 commit
9.16. Real Time Clock (RTC)
at91rm9200: add correction support commit
at91rm9200: Add sam9x60 compatible commit
rx6110: add i2c support commit
nvmem: remove nvram ABI commit
9.17. Pin Controllers (pinctrl)
ingenic: Add lcd-8bit group for JZ4770 commit
intel: Add Intel Alder Lake-S pin controller support commit
intel: Add Intel Elkhart Lake pin controller support commit
ocelot: Add support for Luton platforms commit
ocelot: Add support for Serval platforms commit
pinctrl-microchip-sgpio: Add irq support (for sparx5) commit
pinctrl-microchip-sgpio: Add pinctrl driver for Microsemi Serial GPIO commit
qcom-pmic-gpio: Add support for pmx55 commit
qcom: Add SDX55 pincontrol driver commit
qcom: Add sc7280 pinctrl driver commit
qcom: Add sm8250 lpass lpi pinctrl driver commit
qcom: add pinctrl driver for msm8953 commit
renesas: r8a7790: Add VIN1-B and VIN2-G pins, groups and functions commit
imx21: Remove the driver commit
9.18. Multi Media Card (MMC)
Initial support for SD express card/host commit
mediatek: Add subsys clock control for MT8192 msdc commit
mediatek: add HS400 enhanced strobe support commit
rtsx_pci: Add SD Express mode support for RTS5261 commit
sdhci-acpi: AMDI0040: Allow changing HS200/HS400 driver strength commit
sdhci-xenon: introduce ACPI support commit
9.19. Memory Technology Devices (MTD)
nand: ecc-hamming: Create the software Hamming engine commit
phram: Allow the user to set the erase page size commit
rawnand: Add NAND controller support on Intel LGM SoC commit
rawnand: qcom: Add NAND controller support for SDX55 commit
rawnand: qcom: Support for IPQ6018 QPIC NAND controller commit
rawnand: rockchip: NFC driver for RK3308, RK2928 and others commit
rawnand: sunxi: Add MDMA support commit
spi-nor: add support for DTR protocol commit
spinand: macronix: Add support for MX35LFxG24AD commit
spinand: macronix: Add support for MX35LFxGE4AD commit
spinand: micron: Add support for MT29F2G01AAAED commit
9.20. Industrial I/O (iio)
core: Add optional symbolic label to a device channel commit
accel: bmc150-accel: Add rudimentary regulator support commit
accel: bmc150-accel: Add support for BMA222 commit
adc: mt6360: Add ADC driver for MT6360 commit
dac: ad5686: add support for AD5338R commit
humidity: hts221: add vdd voltage regulator commit
imu: st_lsm6dsx: add support to LSM6DSOP commit
imu: st_lsm6dsx: add support to LSM6DST commit
imu: st_lsm6dsx: add vdd-vddio voltage regulator commit
sx9310: Support setting various settings commit, commit, commit, commit, commit, commit
9.21. Multi Function Devices (MFD)
kempld-core: Add support for additional devices commit
qcom-spmi-pmic: Add support for PM660/PM660L commit
9.22. Pulse-Width Modulation (PWM)
Add PWM fan controller driver for LGM SoC commit
atmel-tcb: Add sama5d2 support commit
mediatek: Add MT8183 SoC support commit
Add PWM driver for Intel Keem Bay commit
Add DesignWare PWM Controller Driver commit
9.23. Inter-Integrated Circuit (I2C + I3C)
Introduce the mipi-i3c-hci driver commit
owl: Add compatible for the Actions Semi S500 I2C controller commit
owl: Add support for atomic transfers commit
owl: Enable asynchronous probing commit
imx: support slave mode for imx I2C driver commit
ismt: Adding support for I2C_SMBUS_BLOCK_PROC_CALL commit
9.24. Hardware monitoring (hwmon)
pmbus: Driver for Delta power supplies Q54SJ108A2 commit
occ: Add new temperature sensor type commit
sbtsi: Add basic support for SB-TSI sensors commit
Add driver for STMicroelectronics PM6764 Voltage Regulator commit
amd_energy: Add AMD family 19h model 01h x86 match commit
Add Corsair PSU HID controller driver commit
max127: Add Maxim MAX127 hardware monitoring driver commit
nct6683: Support NCT6687D commit
k10temp: Remove support for displaying voltage and current on Zen CPUs commit
9.25. General Purpose I/O (gpio)
tools: gpio: add option to report wall-clock time to gpio-event-mon commit
tools: gpio: add support for reporting realtime event clock to lsgpio commit
msc313: MStar MSC313 GPIO driver commit
gpiolib: cdev: allow edge event timestamps to be configured as REALTIME commit
gpio-hisi: Add HiSilicon GPIO support commit
9.26. Leds
rt8515: Add Richtek RT8515 LED driver commit
9.27. DMA engines
at_xdmac: add AXI priority support and recommended settings commit
at_xdmac: add support for sama7g5 based at_xdmac commit
idxd: add IAX configuration support in the IDXD driver commit
qcom: Add ADM driver commit
qcom: Add GPI dma driver commit
sun6i: Add support for A100 DMA commit
k3-udma: Add support for BCDMA and PKTDMA commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
9.28. Cryptography hardware acceleration
keembay: Add support for Keem Bay OCS AES/SM4 commit
qce: Enable support for crypto engine on sdm845 commit
hisilicon/trng - add HiSilicon TRNG driver support commit, commit, commit
- qat
9.29. PCI
PCI: qcom: Add support for configuring BDF to SID mapping for SM8250 commit
Add RCEC handling to PCI/AER commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
PCI: qcom: Add SM8250 SoC support commit
PCI: dwc: exynos: Rework the driver to support Exynos5433 variant commit
PCI: Decode PCIe 64 GT/s link speed commit
9.30. Non-Transparent Bridge (NTB)
intel: add Intel NTB LTR vendor support for gen4 NTB commit
9.31. FRU Support Interface (FSI)
occ: Add support for P10 commit
9.32. Clock
fsl-flexspi: new driver commit
imx: scu: add two cells binding support commit
nps: Remove EZChip NPS clocksource driver commit
qcom: add sm8250 LPASS GFM drivers commit, commit, commit, commit
qcom: Add GCC and RPMh clock support for SDX55 commit, commit, commit, commit, commit, commit
qcom: camcc: Add camera clock controller driver for SC7180 commit
qcom: clk-alpha-pll: Add support for controlling Agera PLLs commit
qcom: rpmh: add support for SM8350 rpmh clocks commit
renesas: r8a774a1: Add RPC clocks commit
renesas: r8a774b1: Add RPC clocks commit
renesas: r8a779a0: Add CSI4[0-3] clocks commit
renesas: r8a779a0: Add VIN clocks commit
sifive: Add a driver for the SiFive FU740 PRCI IP block commit
9.33. PHY ("physical layer" framework)
Add USB HSIC PHY driver for Marvell MMP3 SoC commit
Ingenic: Add USB PHY driver using generic PHY framework commit
amlogic: Add AXG MIPI D-PHY driver commit
amlogic: phy-meson-axg-mipi-pcie-analog: add support for MIPI DSI analog commit
intel: Add Keem Bay USB PHY support commit
phy-brcm-sata: Allow configuration SATA AFE TX amplitude commit
qcom-qmp: Add SM8250 PCIe QMP PHYs commit
ralink: Add PHY driver for MT7621 PCIe PHY commit
samsung: Add support for the Exynos5420 variant of the USB2 PHY commit
samsung: phy-exynos-pcie: rework driver to support Exynos5433 PCIe PHY commit
9.34. EDAC (Error Detection And Correction)
Add DDR5 new memory type commit
Add Intel Sapphire Rapids server support commit
Add support for AST2400 and AST2600 commit
Add EDAC driver for Intel client SoCs using In-Band ECC commit, commit, commit
Remove orphan mv64x60 driver commit
9.35. Various
bus: mhi: Add MHI PCI support for WWAN modems commit
can: add optional DLC element to Classical CAN frame structure commit
dmaengine/soc: k3-udma: Add support for BCDMA and PKTDMA commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
PCI/ERR: Bind RCEC devices to the Root Port driver commit
extcon: Add driver for TI TUSB320 commit
extcon: fsa9480: Support TI TSU6111 variant commit
firmware: arm_scmi: SCMIv3.0 Sensor Extensions commit, commit, commit, commit, commit, commit, commit, commit, commit
firmware: ti_sci: rm: Add support for extended_ch_type for tx channel commit
firmware: ti_sci: rm: Add support for second resource range commit
habanalabs: support multiple types of firmwares commit
iommu/arm-smmu: Add adreno-smmu implementation and bindings commit, commit, commit
iommu/arm-smmu: Add support for pagetable config domain attribute commit
iommu/io-pgtable-arm: Add support to use system cache commit
iommu/io-pgtable-arm: Support coherency for Mali LPAE commit
iommu/ioasid: Add ioasid references commit
iommu/sva: Add PASID helpers commit
iommu/tegra-smmu: Add PCI support commit
irqchip/ls-extirq: Add LS1043A, LS1088A external interrupt support commit
irqchip/ocelot: Add support for Jaguar2 platforms commit
irqchip/ocelot: Add support for Luton platforms commit
irqchip/ocelot: Add support for Serval platforms commit
mailbox: arm_mhuv2: Add driver commit
mei: bus: add vtag support commit
mei: bus: enable pavp device commit
memory: mtk-smi: Add mt8192 support commit
memory: tegra-mc: Add interconnect framework commit
memory: tegra20-emc: Add devfreq support commit
Introduce memory interconnect for NVIDIA Tegra SoCs commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
soc: mediatek: pm-domains: Add new driver for SCPSYS power domains controller commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
misc: rtsx: Add CD & WP reverse support for RTS5261 commit
misc: rtsx: Add SD Express mode support for RTS5261 commit
nvmem: core: Add support for keepout regions commit
pcmcia: Remove NEC VRC4173 CARDU commit
psci: Split functions to v0.1 and v0.2+ variants commit
psci: Support psci_ops.get_version for v0.1 commit
ptp: Add clock driver for the OpenCompute TimeCard commit
ptp: idt82p33: add adjphase support commit
regmap/SoundWire: sdw: add support for SoundWire 1.2 MBQ commit
remoteproc: k3-r5: Extend support to R5F clusters on J7200 SoCs commit
remoteproc: Introduce mini-dump support commit, commit, commit, commit
remoteproc: Add a PRU remoteproc driver commit, commit, commit, commit, commit, commit
reset: add BCM6345 reset controller driver commit
rpmsg: Turn name service into a stand alone driver commit
rpmsg: core: Add channel creation internal API commit
rpmsg: virtio: Add rpmsg channel device ops commit
slimbus: qcom-ngd-ctrl: add Protection Domain Restart Support commit
slimbus: qcom-ngd-ctrl: add Sub System Restart support commit
soc: aspeed: Add soc info driver commit
soc: mediatek: Add MediaTek SCPSYS power domains commit
soc: mediatek: add mt6779 devapc driver commit
soc: qcom: rpmpd: Add MSM8916 power domains commit
soc: qcom: rpmpd: Add MSM8939 power-domains commit
soc: qcom: socinfo: add soc ids for msm8953 variants commit
soc: ti: k3-ringacc: add AM64 DMA rings support commit
spmi: Add driver shutdown support commit
irqchip: Remove EZChip NPS interrupt controller commit
dma-mapping: provide a benchmark for streaming DMA mapping commit
10. List of Pull Requests
List of Linus merges from v5.10 to v5.11-rc1
11. Other news sites
Phoronix 5.11 feature overview