68318
Comment: add sharp and ppc4 64k pages
|
880
Linux 5.5 released
|
Deletions are marked like this. | Additions are marked like this. |
Line 1: | Line 1: |
Comprehensible changelog of the linux kernel, inspired by [http://wiki.dragonflybsd.org/index.php/DragonFly_Status Dragonfly's status]. Other places to get news about the linux kernel are [http://www.kernel-traffic.org Kernel traffic], [http://lwn.net/Kernel/ LWN kernel status], [http://lwn.net/Articles/driver-porting/ LWN driver porting guide] and [http://lwn.net/Articles/2.6-kernel-api/ LWN list of API changes in 2.6] - many articles here link to LWN and much of the 2.6.x changelog was restored from them (you may be be interested in subscribing so Jonathan can keep up the good work ;) ) 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, Operative System, Linus Torvalds, Open Source, drivers, filesystems, network, memory management, scheduler, preemtion, 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]], [[http://www.h-online.com/open/features/|H-Online]], or the Linux Kernel mailing list (there is a web interface in [[http://www.lkml.org|www.lkml.org]]). 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)] * 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)] * 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)] * 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)] * 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)] ===== 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)] |
You can discuss the latest Linux kernel changes on the [[http://forum.kernelnewbies.org/list.php?4|New Linux Kernel Features Forum]]. |
Line 74: | Line 7: |
===== 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.5)>> |
Changes done in each Linux kernel release. Other places to get news about the Linux kernel are LWN kernel status, H-Online, or the Linux Kernel mailing list (there is a web interface in www.lkml.org). 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.5 was released on 26 Jan 2020.
This release includes support in Btrfs for RAID1 with 3 and 4 copies and new checksum types; KUnit, a kernel unit testing framework; many improvements to io_ring(2) largely focused around networked I/O; Airtime Queue Limits for fighting bufferbloat on Wi-Fi and provide a better connection quality; support for mounting a CIFS network share as root filesystem and for using the same session across multiple network interfaces; support adding alternative names for network devices; many BPF improvements that allow to generate faster BPF code; and support for NFS cross device offloaded copy. As always, there are many other new drivers and improvements.
Contents
-
Coolest features
- Btrfs RAID1 with 3 and 4 copies and more checksum alternatives
- Many improvements to io_uring(2)
- KUnit, an unit testing framework for the kernel
- Airtime Queue Limits for a better Wi-Fi connection quality
- CIFS as root file system and multichannel support
- Support alternative names for network interfaces
- BPF improvements: type checking and BPF Trampoline
- NFS cross-device offloaded copy
- Core (various)
- File systems
- Memory management
- Block layer
- Tracing, perf and BPF
- Virtualization
- Cryptography
- Security
- Networking
- Architectures
-
Drivers
- Graphics
- Power Management
- Storage
- Drivers in the Staging area
- Networking
- Audio
- Tablets, touch screens, keyboards, mouses
- TV tuners, webcams, video capturers
- Universal Serial Bus
- Serial Peripheral Interface (SPI)
- Watchdog
- Serial
- CPU Frequency scaling
- Device Voltage and Frequency Scaling
- Voltage, current regulators, power capping, power supply
- Real Time Clock (RTC)
- Pin Controllers (pinctrl)
- Multi Media Card (MMC)
- Memory Technology Devices (MTD)
- Industrial I/O (iio)
- Multi Function Devices (MFD)
- Pulse-Width Modulation (PWM)
- Inter-Integrated Circuit (I2C + I3C)
- Hardware monitoring (hwmon)
- General Purpose I/O (gpio)
- Leds
- DMA engines
- Hardware Random Number Generator (hwrng)
- Cryptography hardware acceleration
- PCI
- Non-Transparent Bridge (NTB)
- Thunderbolt
- FRU Support Interface (FSI)
- Clock
- PHY ("physical layer" framework)
- Various
- List of Pull Requests
- Other news sites
1. Coolest features
1.1. Btrfs RAID1 with 3 and 4 copies and more checksum alternatives
Btrfs' RAID1 always had 2 copies. This release incorporates two new block group profiles: RAID1 with 3- and 4- copies, aka RAID1C34. This is an incompatible feature (the incompat bit will be removed if all the RAID1C34 profiles are removed). The recommended use of RAID1C3 is replacement of RAID6 profile on metadata, this brings a more reliable resiliency against 2 device loss/damage.
In this release Btrfs also adds support for new checksums (per-filesystem, set at mkfs time): xxhash, a fast hash (crc32c successor) with a 64-bit digest. Also, two strong cryptographic hashes (both 256-bit): sha256 (slower, FIPS), blake2b (faster). There is also a significant improvement of parallel lseek SEEK_CUR/SEEK_SET/SEEK_END, it is speed up by 80%.
1.2. Many improvements to io_uring(2)
This release includes several new features in io_uring(2). Improving the support for networked IO (and hence unbounded request completion times) is one of the major themes. There is also support for never drop events on an overflowed CQ ring, allow processes to set the size of the CQ ring, support for absolute timeouts, support for generic cancellations, and other improvements and speed ups.
1.3. KUnit, an unit testing framework for the kernel
This release incorporates KUnit, a lightweight unit testing and mocking framework for the Linux kernel. These tests are able to be run locally on a developer's workstation without a VM or special hardware - using the User-Mode Linux architecture. KUnit provides facilities for defining unit test cases, grouping related test cases into test suites, providing common infrastructure for running tests, and much more.
Documentation: KUnit - Unit Testing for the Linux Kernel
Recommended LWN article: A kernel unit-testing framework
1.4. Airtime Queue Limits for a better Wi-Fi connection quality
The Linux kernel has been fighting for years the phenomena know as bufferbloat: undesirable high latency that comes from network equipment buffering too much data. In order to improve the bufferbloat problems caused by the Wi-Fi stack, this release implements an Airtime-based Queue Limit to make the CoDel queuing work effectively with wireless drivers that utilized firmware/hardware offloading. For more details, see the following article:
Recommended LWN article: Making WiFi fast
1.5. CIFS as root file system and multichannel support
In this release, CIFS can be used as root file system. This release also adds support for "multichannel": it lets the client "share" the same SMB session over multiple TCP (or RDMA) connection.
1.6. Support alternative names for network interfaces
This release introduces the ability to add alternative names for network interfaces. The goal is to: overcome the name size limitations, allow to have multiple names at the same time (multiple udev patterns), and allow to use alternative names as handle for commands.
1.7. BPF improvements: type checking and BPF Trampoline
With introduction of Compile Once Run Everywhere in libbpf and in LLVM and BPF Type Format (BTF), the BPF verifier is finally ready for the next step in program verification. Now it can use in-kernel BTF to type check BPF assembly code. This type tracking allows safer and faster BPF tracing. For more details, see the following article:
Recommended LWN article: https://lwn.net/Articles/803258/Type checking for BPF tracing
This release also introduces a BPF trampoline, which allows kernel code to call into BPF programs with practically zero overhead. There is also support for memory-mapping BPF array map and other improvements.
1.8. NFS cross-device offloaded copy
This release adds NFS client support for cross-device offloaded copy. That is, offloaded copy of a file from one source server to a different target server.
2. Core (various)
- clone3(2)
Add CLONE_CLEAR_SIGHAND. This lets callers clear all signal handler that are not SIG_DFL or SIG_IGN at process creation time. This originated as a feature request from glibc to improve performance and eliminaate races in their posix_spawn() implementation. Mutually exclusive with CLONE_SIGHAND to not disturb other thread's signal handler commit, commit
Add support for choosing a specific PID (main motivation is CRIU). In order to choose a specific pid the caller must have CAP_SYS_ADMIN in all owning user namespaces of the target pid namespaces commit, commit
- (FEATURED) io_uring(2)
Add support for accept(4) trought operation IORING_OP_ACCEPT commit, commit, commit, commit
Add support for sparse file sets, which means the application can register a fileset with room for expansion. On top of that, it add IORING_REGISTER_FILES_UPDATE. This allows modifying the existing file set commit, commit
Support up to 64K files (previously it was 1024) commit
Support for overflowed CQ ring, never dropping events but providing backpressure on submits: if completion events are dropped when the CQ ring, certain applications may find hard or impossible to use it. So never overflow the ring, simply store requests in a backlog for later flushing. This flushing is done automatically by the kernel commit
Add support for IORING_OP_ASYNC_CANCEL, which will attempt to cancel requests that have been punted to async context and are now in-flight. This works for regular read/write requests to files, as long as they haven't been started yet. For socket based IO (or things like accept4(2)), we can cancel work that is already running as well commit, commit
Add IORING_FEAT_SUBMIT_STABLE. If this flag is set, applications can be certain that any data for async offload has been consumed when the kernel has consumed the SQE commit, commit, commit, commit, commit
Add support for canceling an existing timeout requests with IORING_OP_TIMEOUT_REMOVE commit
Support for linked timeouts with IORING_OP_LINK_TIMEOUT flag. Unlike the existing timeouts that work on purely the CQ ring, these timeouts are specifically tied to a specific command. They are meant to be used to auto-cancel a request, if it hasn't finished in X amount of time commit, commit
Add support for absolute timeouts commit
Application control the size of the CQ ring with IORING_SETUP_CQSIZE, instead of just making it always 2x the SQ ring size. This makes it more flexible for networked applications commit
Make POLL_ADD/POLL_REMOVE scale better commit
Replace io_uring workqueues with a new type of workqueues, io-wq. For more details, see this LWN article commit, commit, commit, commit, commit
Add mapping support for NOMMU archs commit
task scheduler: Rework the load balance. It replaces the old heuristics that have become less meaningful after the introduction of the PELT metrics, with a grounds-up load-balancing algorithm commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Extend the seccomp(2) notifier with the SECCOMP_USER_NOTIF_FLAG_CONTINUE flag to allow for the continuation of a syscall commit, commit, commit
pidfd: Add NSpid entries to /proc/self/fdinfo; it allows the retrieval of the PID in all descendant pid namespaces commit, commit
Rework the generic CONFIG_REFCOUNT_FULL (full reference count validation) implementation using atomic_fetch_* operations so that the performance impact of the cmpxchg() loops is mitigated for common refcount operations. With these performance improvements the generic implementation of refcount_t is good enough and arch-specific implementations are no longer needed commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
(FEATURED) kunit: introduce KUnit, the Linux kernel unit testing framework commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
cgroup: Optimize single thread migration so that it doesn't need threadgroup rwsem anymore commit, commit, commit, commit
livepatch: new API to track system state changes. It helps newly installed livepatches to deal with system state modifications done be already installed livepatches commit, commit, commit, commit, commit
Build: Add dir-pkg target which just creates the same directory structures as in tar-pkg, but doesn't package anything. Useful when the user wants to copy the kernel tree on a machine using ssh, rsync or whatever commit
Configuration: Introduce a new target 'make helpnewconfig' which lists all the new options, like listnewconfig, but with the full help text of all the new options as well commit
printf: add support for printing symbolic error names commit
Remove the sysctl system call (deprecated a long time ago) commit
3. File systems
- File system infrastructure
iomap: Lift the XFS writeback code to iomap commit and the xfs common tracing code commit
fscrypt: In preparation for adding inline encryption support to fscrypt, this patchset adds a new fscrypt policy flag which modifies the encryption to be optimized for inline encryption hardware compliant with the UFS v2.1 standard or the upcoming version of the eMMC standard. This means using per-mode keys instead of per-file keys, and in compensation including the inode number in the IVs commit, commit, commit
statx(2): expose the fs-verity bit (a.k.a. FS_VERITY_FL). This is useful because it allows applications to check whether a file is a verity file without opening it commit, commit, commit, commit
- Btrfs
(FEATURED) RAID1 with 3- and 4- copies commit, commit, commit, commit
(FEATURED) Speed up parallel fseek on the same file commit, commit, commit
send: allow clone operations within the same file commit
(FEATURED) Add sha256 to checksumming algorithm commit
(FEATURED) Add xxhash64 to checksumming algorithms commit
tree-checker: Add check to detect missing inode items commit, commit
Avoid getting stuck during cyclic writebacks commit
sysfs: export supported checksums commit
sysfs: show used checksum driver per filesystem commit
- XFS
- Ceph
Show tasks waiting on caps in debugfs caps file commit
- CIFS
- ext4
- F2FS
Support aligned pinned file, which can guarantee no GC at all by allocating fully valid 2MB segment commit
- NFS
- EROFS
Support superblock checksum commit
- HUGETBLFS
Add O_TMPFILE support commit
4. Memory management
Emit tracepoint when RSS changes commit
slab: reduce time spent in new_kmalloc_cache() commit, commit, commit
vmalloc optimizations, including rework of vmap_area_lock to avoid high contention commit commit commit commit commit commit
Fix page aging across multiple cgroups commit commit commit commit commit commit commit commit commit commit commit
KASAN was incompatible with VMAP_STACK, this release supports backing vmalloc space with real shadow memory commit, commit, commit, commit
reduce mmap_sem contention and hanging ps/top under heavy write I/O commit
various vma tree handling cleanups, optimizations and fixes commit commit commit commit commit commit commit
cleanup/optimize page table access code on arches without 4 or 5-level pages support commit commit commit commit commit
various memory hot-plug fixes and optimizations commit commit commit commit commit commit commit commit commit commit commit commit commit commit commit commit commit commit commit commit commit commit commit commit commit
Introduce alloc_contig_pages() helper commit
print reserved_highatomic value on allocation failures commit
make drop_caches sysctl write-only commit
z3fold: add inter-page compaction commit
fix checking (EFAULT inconsistencies) of unmapped holes for mbind() commit commit
add O_TMPFILE support for hugetlbfs commit
hugetlbfs fixes, including error handling when setting up mounts, and performance improvements due to better locking and reduced looping commit commit commit commit commit commit commit commit commit commit
5. Block layer
Add iostat counters for flush requests commit
Zone management commands support commit, commit, commit, commit, commit, commit, commit
Zoned block device enhancements and zone report rework commit, commit, commit, commit, commit, commit, commit, commit, commit
sed-opal: Generic Read/Write Opal Tables commit, commit, commit
dm dust: add limited write failure mode commit
xen-blkback: support dynamic unbind/bind commit
6. Tracing, perf and BPF
- BPF
(FEATURED) Revolutionize BPF tracing and BPF C programming: With introduction of Compile Once Run Everywhere technology in libbpf and in LLVM and BPF Type Format (BTF) the verifier is finally ready for the next step in program verification. Now it can use in-kernel BTF to type check bpf assembly code. The end result is safer and faster bpf tracing. commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
(FEATURED) Introduce BPF trampoline to allow kernel code to call into BPF programs with practically zero overhead commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Add support for memory-mapping BPF array maps commit, commit, commit, commit, commit
Optimize BPF tail calls for direct jumps commit, commit, commit, commit, commit, commit, commit, commit
Add probe_read_user, probe_read_kernel and probe_read_user_str, probe_read_kernel_str helpers commit
bpftool: Allow to read btf as raw data commit
flow_dissector: add mode to enforce global BPF flow dissector commit, commit
- libbpf
Make bpf_helpers.h and bpf_endian.h a part of libbpf itself for consumption by user BPF programs, and add BPF_CORE_READ macros commit, commit, commit, commit, commit, commit, commit
Add bpf_object__open_file() and bpf_object__open_mem() APIs that use a new approach to providing future-proof non-ABI-breaking API changes commit, commit, commit, commit
Bitfield and size relocations support commit, commit, commit, commit, commit
Generalize libbpf's CO-RE relocation support. In addition to existing field's byte offset relocation, libbpf now supports field existence relocations, which are emitted by Clang commit, commit, commit, commit, commit
Teach bpf_object__open() (and its variants) to automatically derive BPF program type/expected attach type from section names, similarly to how bpf_prog_load() was doing it commit, commit, commit, commit, commit, commit, commit
Add support for reading 'pinning' settings from BTF-based map definitions. It introduces a new open option which can set the pinning path; if no path is set, /sys/fs/bpf is used as the default. Callers can customise the pinning between open and load by setting the pin path per map, and still get the automatic reuse feature commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Extend libbpf to support shared umems and Rx|Tx-only sockets commit, commit, commit, commit, commit
- perf
probe: Support multiprobe events commit, commit, commit, commit, commit, commit, commit
record: Add option --kcore which will put a copy of /proc/kcore, kallsyms and modules into a perf.data directory commit, commit, commit, commit, commit, commit
record: Add support for limit perf output file size with --max-size commit
report: Support sorting all blocks by cycles with a new option --total-cycles which sorts all blocks by 'Sampled Cycles%' commit, commit, commit, commit, commit, commit, commit
report: Support --percent-limit for --total-cycles, or not showing entries under that percent commit
script: Allow --time (to specify a time span of interest) with --reltime commit
scripts python: exported-sql-viewer.py: Add Time chart by CPU commit, commit, commit, commit, commit, commit
stat: Add --per-node option to aggregate stats per NUMA nodes commit
stat: Support --all-kernel/--all-user to configure all used events to run in kernel space or run in user space commit
tools: Add support for AUX area sampling commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
tools: Allow to build with -ltcmalloc commit
tools: Allow to link with libbpf dynamicaly commit
trace: Add syscall failure stats to -s/--summary and -S/--with-summary commit
trace: Introduce --errno-summary. To be used with -s or -S, to show stats for the errnos experienced by syscalls, using only this option will trigger --summary commit
trace: Introduce --filter for tracepoint events similar to what is in 'perf record', eg. perf trace -e msr:* --filter="msr!=0xc0000100" commit
perf_event_{open,alloc,free,read,write}(2): Add support for LSM and SELinux checks, to allow more fine grained security permissions than the perf_event_paranoid sysctl allows commit
Introduce PERMANENT ftrace_ops flag that makes tracing not able to be disabled by disabling ftrace_enabled, in order to not surprise users of livepatching commit, commit, commit
tracing: Introduce trace event injection, useful to test applications that use trace events commit
ftrace: new features for the preempt/irqsoff tracers: implement fs notification for tracing_max_latency, and extends the preemptirq_delay_test module so that it can be used to generate a burst of closely occurring latencies commit, commit
tracing: Adding new API for kernel access to Ftrace instances commit, commit
7. Virtualization
hv: add vmbus testing tool commit
hv: vmbus: Enable VMBus protocol versions 4.1, 5.1 and 5.2 commit
hv: vmbus: Add module parameter to cap the VMBus version commit
hv: vmbus: Introduce latency testing commit
hv_balloon: Add the support of hibernation commit
hv_sock: Add the support of hibernation commit
hv: Add PCI hibernation support commit
8. Cryptography
blake2b: add blake2b generic implementation commit
chacha20poly1305: import from Zinc commit
curve25519: generic C library implementations commit, commit
skcipher: remove the "blkcipher" algorithm type commit
ablkcipher: remove deprecated and unused ablkcipher support commit
9. Security
selinux: allow labeling before policy is loaded commit
selinux: A policy developer can now specify glblub as a default_range default and the computed transition will be the intersection of the mls range of the two contexts commit
apparmor: Initial implementation of raw policy blob compression commit
audit: Report suspicious O_CREAT usage commit
tpm: tpm_tis_spi: Support cr50 devices commit
Limit the size of copy_to_user() and copy_from_user() calls to INT_MAX in order to catch any weird overflows in size calculations commit
10. Networking
(FEATURED) Introduce alternative names for network interfaces. The goal is to: overcome the name size limitations, allow to have multiple names at the same time (multiple udev patterns), and allow to use alternative names as handle for commands commit, commit, commit, commit, commit, commit, commit
TCP: add TCP_INFO status for failed client TFO commit
routes: When doing RX batch packet processing, Linux always repeated the route lookup for each ingress packet. When no custom rules are in place, and there aren't routes depending on source addresses, we know that packets with the same destination address will use the same dst. This change tries to avoid per packet route lookup caching the destination address of the latest successful lookup commit, commit, commit, commit, commit
- bonding
bridge: implement get_link_ksettings ethtool method commit
Allow fast GRO for skbs with Ethernet header in head commit
Get IB port and node GUIDs through rtnetlink commit, commit, commit
- devlink
devlink: add support for devlink health reporter interface testing commit, commit, commit, commit
devlink: allow devlink instances to change network namespace commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Add couple of debugfs bools to debug devlink reload commit
- lwtunnel
- mac80211
- netfilter
Support iif matches in POSTROUTING commit
Add wildcard support to hash:net,iface which makes possible to match interface prefixes besides complete interfaces names commit
Adds hardware offload support for the flowtable infrastructure. This infrastructure provides a fast datapath for the classic Linux forwarding path that users can enable through policy commit, commit, commit, commit, commit, commit, commit
Extend the netdev family to allow for hooking multiple devices to basechains commit, commit, commit, commit, commit
Offload support for matching on the input interface commit
Add C-VLAN matching support commit
- openvswitch
- packet scheduler
- SCTP
smc: improve termination handling commit, commit, commit, commit, commit, commit, commit, commit
- TIPC
Add support for TIPC encryption commit, commit, commit, commit, commit
Add smart nagle, a feature that works like a combination of TCP_NAGLE and TCP_CORK, but without some of the weaknesses of those commit
Improve throughput between nodes in netns commit
Support in-order name publication events commit
TLS: adds trace events related to TLS offload and basic MIB stats for TLS commit, commit, commit, commit, commit, commit
TLS: separate the TLS TCP Offload Engine code out and allow to compile out commit, commit, commit, commit, commit, commit
vsock: add multi-transports support. With the multi-transports support, we can use VSOCK with nested VMs (using also different hypervisors) loading both guest->host and host->guest transports at the same time. Before this series, vmci-transport supported this behavior but only using VMware hypervisor on L0, L1, etc commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
vsock/virtio: add support for MSG_PEEK commit
vxlan: implement get_link_ksettings ethtool method commit
AF_XDP: XSKMAP performance improvements commit, commit, commit
11. Architectures
11.1. ARM
- New SoC descriptions
- New boards and platforms
Add FriendlyARM NanoPi Duo2, an Allwinner H3 based board, with 512 MB RAM, a USB OTG port, MicroSD slot, an onboard AP6212A wifi/bluetooth module, and a CSI connector commit
Amlogic: Ugoos am6, based on the Amlogic W400 (G12B) reference design using the S922X chipset commit
Marvell: New Espressobin flavor commit
NXP: i.MX8MN LPDDR4 EVK commit, commit, i.MX8QXP Colibri, S32V234 EVB commit, Netronix E60K02 commit and Kobo Clara HD commit, Kontron N6311 and N6411 commit, commit, OPOS6UL and OPOS6ULDev commit
Renesas: Salvator-XS with R-Car M3-W+ commit
Rockchip: Beelink A1 (rk3308) commit, rk3308 eval boards, rk3399-roc-pc commit, commit
Renesas: Add HiHope RZ/G2N main board support commit
Marvell: Add support for Marvell CN9132-DB commit, CN9130-DB commit, CN9130 commit and CN9131-DB commit
Renesas: Add HiHope RZ/G2N sub board support commit
Renesas: Add Renesas R8A77961 SoC support commit
Add minimal support for Droid Bionic xt875 commit
Add DTS for NetCAN Plus devices commit
Add DTS for NetCom Plus 1xx and 2xx device series commit, and NetCom Plus 4xx and 8xx device series commit
aspeed: Add Rainier system commit
aspeed: Add Tacoma machine commit
mmp3: Add MMP3 SoC dts file commit, commit and Dell Wyse 3020 machine commit
marvell: Declare the CN913x SoC compatibles commit
Add support for generic vDSO commit
hw_breakpoint: add more ARMv8 debug architecture versions support commit
- coresight
perf: Add CCPI2 PMU support in ThunderX2 UNCORE driver commit
perf: arm-ccn: Enable stats for CCN-512 interconnect commit
perf/imx_ddr: Add driver for DDR PMU in i.MX8MPlus commit, add enhanced AXI ID filter support commit
- KVM
- crypto
- ARM64
KVM: Expose stolen time to guests, allowing the guest to identify time when it is forcibly not executing commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Workaround for a Neoverse-N1 erratum where the CPU may fetch stale instructions under certain conditions commit, commit, commit
Workaround for Cortex-A57 and A72 errata where the CPU may speculatively execute an AT instruction and associate a VMID with the wrong guest page tables (corrupting the TLB) commit
Implement ftrace with regs commit
crypto: gcm-ce: implement 4 way interleave commit
crypto: poly1305: incorporate OpenSSL/CRYPTOGAMS NEON implementation commit
perf vendor events arm64: Add some missing events for Hisi hip08 DDRC PMU commit, add some missing events for Hisi hip08 HHA PMU commit, add some missing events for Hisi hip08 L3C PMU commit
11.2. x86
Enable 5-level paging support by default commit
Extend the boot protocol to allow future extensions without hitting the setup_header size limit commit, commit, commit
Prevent user space from using CLI/STI with iopl(3): implement the IO privilege features of the iopl system call by using the IO permission bitmap in permissive mode, while trapping CLI/STI/POPF/PUSHF uses in user-space if they change the interrupt flag. For more details, see this LWN article: Emulated iopl() commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
random: invoke EFI_RNG_PROTOCOL in the x86 EFI stub to seed the kernel entropy pool commit, commit
- intel-speed-select
Add support for RDPRU instruction which is used to give access to some processor registers that are typically only accessible when the privilege level is zero commit
More enablement for the Intel-compatible CPUs Zhaoxin commit, commit, commit
Converts the late loading method to load the microcode in parallel (vs sequentially currently) commit
- Platforms
Add System76 ACPI driver commit
Support upcoming UV systems that do not have a UV HUB commit, commit, commit, commit, commit, commit, commit, commit
mellanox: Add bootctl driver for Mellanox BlueField Soc commit
acerhdf: Add support for Acer Aspire 7551 commit
Previously the Huawei driver handled only hotkeys. After the conversion to WMI it has been expanded to support newer laptop models commit, commit, commit, commit
touchscreen_dmi: Add info for the ezpad 6 m4 tablet commit
chrome: wilco_ec: Add Dell's USB PowerShare Policy control commit
chrome: wilco_ec: Add charging config driver commit
chrome: wilco_ec: Add debugfs test_event file commit
chrome: wilco_ec: Add keyboard backlight LED support commit
intel_pmc_core: Add Comet Lake (CML) platform support to intel_pmc_core driver commit
perf vendor events intel: Update Cascade Lake-X events to v1.05 commit, update all the Intel JSON metrics from TMAM 3.6 commit
perf: Add PCI ID of IMC for Xeon E3 V5 Family commit
- intel_th
nVMX: Add full nested support for "load IA32_PERF_GLOBAL_CTRL" VM-{Entry,Exit} control commit, commit, commit, commit, commit, commit
KVM: nVMX: Add support for capturing highest observable L2 TSC commit, commit, commit, commit
hyperv: Allow guests to enable InvariantTSC commit
crypto: blake2s: x86_64 SIMD implementation commit
crypto: curve25519: x86_64 library and KPP implementations commit
Remove the calgary IOMMU driver commit
New macros for assembler symbols commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
11.3. PowerPC
Infrastructure for secure boot on some bare metal POWER9 machines. The firmware support is still in development, so the code here won't actually activate secure boot on any existing systems commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
xmon: Restrict when kernel is locked down commit
Support CMDLINE_EXTEND, Extend bootloader kernel arguments commit
Support for KASLR on 32-bit BookE machines (Freescale / NXP) commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
pseries: CMM: Implement balloon compaction and remove isolate notifier commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
pseries: powerpc/pseries: Enable support for ibm,drc-info property commit, commit
book3s64: Report L1TF status in sysfs commit
crypto: spe-xts - implement support for ciphertext stealing commit
KVM: Add support for secure guests under the Protected Execution Framework (PEF) Ultravisor commit, commit, commit, commit, commit, commit
KVM: Report single stepping capability commit
KVM: Book3S HV: XIVE: Show VP id in debugfs commit
11.4. MIPS
Add ARCH_HAS_FORTIFY_SOURCE support commit
Add kcov support commit
ralink: Add GARDENA smart Gateway MT7688 board commit
Add support for SGI Octane (IP30) commit
Add Loongson-3A R4 basic support commit
Loongson: Add CFUCFG&CSR support commit
BPF: Disable MIPS32 eBPF JIT commit
- crypto:
11.5. RISC-V
Add support for SECCOMP and SECCOMP_FILTER commit
Add multiple compression image format commit
Enable gcov commit
Add nommu support commit
Provide a flat image loader commit
provide native clint access for M-mode commit
11.6. S390
kasan: add KASAN_VMALLOC support commit
livepatch: Implement reliable stack tracing for the consistency model commit
qdio: implement IQD Multi-Write commit
qeth: support per-frame invalidation commit
qeth: use IQD Multi-Write commit
KVM: s390: count invalid yields commit
11.7. Xtensa
11.8. ARC
Support Jump Label patching HAVE_ARCH_JUMP_LABEL commit
Support kmemleak HAVE_DEBUG_KMEMLEAK commit
ARC TLB Miss and Flush optimizations commit,commit,commit,commit
11.9. UML
Loadable BPF "Firmware" for vector drivers commit
12. Drivers
12.1. Graphics
Export different colorspace properties on DisplayPort vs HDMI
New fourcc for ARM 16x16 block format commit
syncobj: allow querying last submitted timeline value commit
Implement lazy unmapping for GEM VRAM buffers commit, commit, commit, commit
- amdgpu:
Implement dma-buf import/export without helpers commit, commit
- Vega20 RAS enablement
Renoir GPU reset commit
DC HDCP 1.4 Content Protection commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
BACO support for CI/VI asics commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
MSI-X support commit
Arcturus VCN encode support commit
VCN dynamic powergating on RV/RV2 commit
Enable VCN2.5 encoding commit
Enable KFD on POWER systems commit
Add debugfs entry for reading psr state commit and to force YUV420 output commit
Enable Panel Self Refresh commit
Add support for Dali, a new asic based on Raven commit, commit
Implement sysfs for getting dpm clock commit
Report vram vendor with sysfs commit
SRIOV: add navi12 pci id for SRIOV commit
Add a kernel parameter for specifying the asic type commit
Add navi12 pci id commit
Add NAVI12 support from kfd side commit
Support Navi14 in KFD commit
Enable full ras by default commit
Introduce the kfd support for Renoir commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Add sysfs interface to read pcie speed/width info in navi1x commit
- Intel
Support for DP HDR outputs commit, commit, commit, commit, commit, commit
perf: uapi versioning for Vulkan performance query support commit, commit, OA stream dynamic reconfiguration commit
Introduce DRM_I915_UNSTABLE Kconfig commit
Add fake lmem testing under unstable commit
- BT.2020 support for DP MSA
- Tigerlake display/PLL/power management improvements
Jasper Lake PCH support commit
Enable HDCP 1.4 and 2.2 on Gen12+ commit
Add second PCH ID for CMP commit
Display State Buffer (DSB) support, a hardware capability which allows driver to batch submit HW programming commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Add perf support on TGL commit
Add new CNL PCH ID seen on a CML platform commit
Add immutable zpos plane properties commit
- bridge
- komeda
- mediatek
- meson
Enable DRM InfoFrame support on GXL, GXM and G12A commit
- adreno
Add support for Adreno 510 GPU commit
- rockchip
Enable DRM InfoFrame support on RK3328 and RK3399 commit
- sun4i
Enable DRM InfoFrame support on H6 commit
- tegra
- virtio-gpu
Enable prime mmap support commit
- vkms
prime import support commit
- vmwgfx
- rcar-du
Add R8A774B1 support commit
- hyperv
- backlight
vram: add vram-mm debugfs file commit
12.2. Power Management
EFI Specific Purpose Memory Support. EFI 2.8 Specification introduces the EFI_MEMORY_SP ("specific purpose") memory attribute. This attribute bit replaces the deprecated ACPI HMAT "reservation hint" that was introduced in ACPI 6.2 and removed in ACPI 6.3 commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
ACPI / PMIC: Add Cherry Trail Crystal Cove PMIC OpRegion driver commit
ACPI: button: Allow disabling LID support with the lid_init_state module option commit
ACPI: EC: add support for hardware-reduced systems. This enables the use of several media keys (e.g. screen brightness up/down) on Asus UX434DA commit
cpupower: Make cpupower more accurate by removing the userspace to kernel transitions and read_msr initiated IPI delays commit, commit, commit, commit
- thermal
12.3. Storage
ahci: Add support for Amazon's Annapurna Labs SATA controller commit
nvme: Add hardware monitoring support commit
nvme: hwmon: provide temperature min and max values for each sensor commit
nvmem: add Rockchip OTP driver commit
nvmem: sprd: Add Spreadtrum SoCs eFuse support commit
- SCSI
Add sysfs attributes for VPD pages 0h and 89h commit
hisi_sas: Add ability to have multiple debugfs dumps commit, add debugfs file structure for CQ commit, add debugfs file structure for DQ commit, add debugfs file structure for IOST commit, add debugfs file structure for IOST cache commit, add debugfs file structure for ITCT commit, add debugfs file structure for ITCT cache commit, add debugfs file structure for port commit, add debugfs file structure for registers commit, add module parameter for debugfs dump count commit, add timestamp for a debugfs dump commit, commit, record the phy down event in debugfs commit
lpfc: Add FA-WWN Async Event reporting commit
lpfc: Add FC-AL support to lpe32000 models commit
pm80xx: Controller fatal error through sysfs commit
qla2xxx: Dual FCP-NVMe target port support commit
storvsc: Add the support of hibernation commit
target: iscsi: CHAP: add support for SHA1, SHA256 and SHA3-256 commit
ufs-qcom: Add reset control support for host controller commit
ufs: Add driver for TI wrapper for Cadence UFS IP commit
zfcp: introduce sysfs interface for diagnostics of local SFP transceiver commit
zfcp: introduce sysfs interface to read the local B2B-Credit commit
zfcp: support retrieval of SFP Data via Exchange Port Data commit
sr_vendor: support Beurer GL50 evo CD-on-a-chip devices commit
12.4. Drivers in the Staging area
cedrus: h264: Support multi-slice frames commit, commit, commit, commit, commit, commit
fb_seps525: New driver for SEPS525 (Syncoam) LCD Controllers commit
hp100: Move 100BaseVG AnyLAN driver to staging commit
imx: enable V4L2_PIX_FMT_XBGR32, _BGRX32, and _RGBX32 commit
iio: adc: ad7192: Add system calibration support commit
most: remove sysfs attr remove_link commit
olpc_dcon: allow simultaneous XO-1 and XO-1.5 support commit
rtl8723bs: Add 024c:0525 to the list of SDIO device-ids commit
wfx: Add support for Silicon Labs WiFi chip WF200 and further commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
rtl8188eu: Add device code for TP-Link TL-WN727N v5.21 commit
12.5. Networking
- Bluetooth
- RDMA
aquantia: PTP support for AQC devices commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
- ath10k
- atlantic
- bcmgenet
bnx2x: Enable Multi-Cos feature commit
- bnxt_en
brcmfmac: add support for SAE authentication offload commit
- can
- cxgb4
- dpaa2-eth
- dsa
b53: Add support for MDB commit
bcm_sf2: Add support for optional reset controller line commit
mv88e6xxx: add generic support to DSA for devlink resources commit, commit, commit, commit, commit
mv88e6xxx: Allow config of ATU hash algorithm commit, commit
mv88e6xxx: Add support for port mirroring commit
ocelot: DSA driver for Vitesse Felix switch commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
sja1105: Add support for port mirroring commit
sja1105: Implement state machine for TAS with PTP clock source commit
- e1000e
- enetc
stmmac: Add support for syscfg clock commit
fm10k: add support for ndo_get_vf_stats operation commit
forcedeth: add xmit_more support commit
- hns3
Add support for configuring VF MAC from the host commit
Add support for configuring bandwidth of VF on the host commit
Add support for setting VF link status on the host commit
Add support for setting VF trust commit
Add support for spoof check setting commit
Support tx-scatter-gather-fraglist feature commit
hv_netvsc: Add the support of hibernation commit
- i40e
- ice
Add support for setting the maximum per-queue bit rate for transmit queues commit
Add support for XDP commit, commit, commit, commit, commit, commit
Implement DCBNL support commit
Add support to query/add queues or channels on a VSI via ethtool operations commit
Add ethtool -m support for reading i2c eeprom modules commit
Implement VF stats NDO commit
- igb
- mac80211_hwsim
- ionic
- iwlwifi
debug: add error tables dumping support commit, add monitor dumping support commit, add periodic trigger new API support commit, add user trigger support commit, support domain changing via debugfs commit
Report tx/rx antennas commit
Add support for new version for D0I3_END_CMD commit
scan: enable adaptive dwell in p2p commit
Support scan req FW API ver 13 commit
Support scan req cmd ver 12 commit
ixgbe: Add UDP segmentation offload support commit
- mlx5
- mlxsw
microchip: Support LAN743x PTP periodic output on any GPIO commit
- mt76
mvneta: Add XDP support commit, commit, commit, commit, commit, commit, commit
octeontx2-af: Add debugfs support to dump various HW state machine info commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
- phy
at803x: add ar9331 support commit
broadcom: add 1000Base-X support for BCM54616S commit
dp83867: support Wake on LAN commit
dp83869: Add TI dp83869 phy commit
marvell: add PHY tunable support for more PHY versions commit
marvell: add downshift support for 88E1145 commit
marvell: add downshift support for M88E1111 commit
marvell: support downshift as PHY tunable commit
qtnfmac: Add support for getting/setting transmit power commit
- r8152
r8169: add support for RTL8117 commit
- rtl8xxxu
- rtw88
Add software TX queue support commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Enable 802.11ac beamformee support commit
Add NL80211_EXT_FEATURE_CAN_REPLACE_PTK0 support commit
Enables PCI CLKREQ and ASPM for power save commit, commit, commit, commit
Add support for beamforming and power tracking. Power tracking can monitor the thermal value of the device and adjust corresponding power indexes, to make sure the RF output power is expected. And another thing is to add a debugfs for physical layer information commit, commit, commit, commit, commit
Add support for deep PS mode commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
8822b: add RFE type 3 support commit
- sfc
- stmmac
12.6. Audio
aloop: Support sound timer as clock source instead of jiffies. This is required for forwarding audio data between a HW sound card and an aloop device without the usage of an asynchronous sample rate converter. The timer source can be initially selected by timer_source kernel module parameter commit, commit, commit, commit, commit, commit, commit
- hda
add Intel DSP configuration / probe code commit
Add DP-MST jack support commit
Add DP-MST support for non-acomp codecs commit
hda - Add DP-MST support for NVIDIA codecs commit
Add mute led support for HP ProBook 645 G4 commit
realtek: Enable the headset-mic on a Xiaomi's laptop commit
realtek: Enable internal speaker of ASUS UX431FLC commit
hdmi - Add new pci ids for AMD GPU display audio commit
hdmi - enable runtime pm for newer AMD display audio commit
hdmi - enable automatic runtime pm for AMD HDMI codecs by default commit
realtek - Enable the bass speaker of ASUS UX431FLC commit
realtek - Add headset Mic no shutup for ALC283 commit
realtek - Add Bass Speaker and fixed dac for bass speaker commit
- Sound Open Firmware
- ASoC
Add ADAU7118 8 Channel PDM-to-I2S/TDM Converter driver commit
Intel: boards: Add CML m/c using RT1011 and RT5682 commit
adau1761: Add ALC controls commit
adau1761: Add PGA Slew time control commit
add tas2770 smart PA kernel driver commit
cros_ec_codec: support WoV commit
fsl_mqs: Add MQS component driver commit
mediatek: mt6358: support WoV commit
mediatek: mt8183: support WoV commit
msm8916-wcd-analog: Add earpiece commit
rockchip_max98090: Add HDMI jack support commit
rockchip_max98090: Optionally support HDMI use case commit
rt5677: Add a PCM device for streaming hotword via SPI commit
samsung: arndale: Add support for WM1811 CODEC commit
tas2562: Introduce the TAS2562 amplifier commit
wm8994: Add support for setting MCLK clock rate commit
usb-audio: Add skip_validation module parameter; unit descriptor validation may lead to a probe error when the device provides a buggy descriptor or the validator detected incorrectly commit
firewire-motu: add support for MOTU UltraLite commit
soundwire: cadence_master: add hw_reset capability in debugfs commit
12.7. Tablets, touch screens, keyboards, mouses
Add privacy screen toggle keycode commit
Add touchscreen platform data for the Schneider SCT101CTM tablet commit
keyboard: imx_sc: Add i.MX system controller key support commit
edt-ft5x06: add support for regulator commit
ili210x: add ILI2117 support commit
st1232: switch to using MT-B protocol commit
- HID
Add driver for Logitech gaming keyboards (G15, G15 v2) commit
Improve Windows Precision Touchpad detection commit
lg-g15: Add keyboard and LCD backlight control commit
lg-g15: Add support for the M1-M3 and MR LEDs commit
lg-g15: Add support for the G510 keyboards' gaming keys commit
lg-g15: Add support for the G510's M1-M3 and MR LEDs commit
lg-g15: Add support for controlling the G510's RGB backlight commit
hyperv: Add the support of hibernation commit
wacom: Recognize new MobileStudio Pro PID commit
multitouch: Add LG MELF0410 I2C touchscreen support commit
ite: Add USB id match for Acer SW5-012 keyboard dock commit
intel-ish-hid: ipc: Add Tiger Lake PCI device ID commit
serial: simple: Add Motorola Solutions TETRA MTP3xxx and MTP85xx commit
serial: option: add support for Quectel RM500Q in QDL mode commit
serial: option: Add support for Quectel RM500Q commit
qmi_wwan: Add support for Quectel RM500Q commit
12.8. TV tuners, webcams, video capturers
Implement UNIT_CELL_SIZE, a control that represents the size of a cell (pixel) commit, commit, commit, commit, commit, commit, commit, commit
HEVC/H.265 stateless support for V4L2 and Cedrus commit, commit, commit, commit, commit
ad5820: Add support for ad5821 and ad5823 commit
af9035: add support for Logilink VG0022A commit
cx88: Add support for NotOnlyTV LV3H card commit
dvbsky: add support for eyeTV Geniatech T2 lite commit
em28xx: Add support for Magix Wideowandler 2 commit
hi556: Add support for Hi-556 sensor commit
i2c: Add IMX290 CMOS image sensor driver commit
ov5640: add PIXEL_RATE control commit
rc: Add support for another iMON 0xffdc device commit
rc: add keymap for Beelink GS1 remote control commit
rc: add keymap for Tronsmart Vega S95/S96 remote commit
rcar-csi2: Enable support for R8A774B1 commit
rcar-vin: Add support for V4L2_FIELD_ALTERNATE commit
rcar-vin: Add support for outputting NV12 commit
rcar-vin: Enable support for R8A774B1 commit
saa7164: use debugfs rather than procfs for debugging file commit
smiapp: Support probing NVM size commit
sun4i: Add H3 deinterlace driver commit
ti-vpe: Add support for NV21 format commit
ti-vpe: Add support for SEQ_BT commit
12.9. Universal Serial Bus
Extends kcov to allow collecting coverage from backgound kernel threads commit, commit, commit
usbfs: Suppress problematic bind and unbind uevents commit
cdns3: Add TI specific wrapper driver commit
dwc3: pci: add ID for the Intel Comet Lake -H variant commit
gadget: Add UDC driver for tegra XUSB device mode controller commit
gadget: udc: renesas_usb3: add suspend event support commit
host: xhci-tegra: Add Tegra194 XHCI support commit
serial: ftdi_sio: add device IDs for U-Blox C099-F9P commit
serial: mos7840: add USB ID to support Moxa UPort 2210 commit
serial: option: add support for DW5821e with eSIM support commit
serial: option: add support for Foxconn T77W968 LTE modules commit
serial: pl2303: add support for PL2303HXN commit
typec: driver for TI HD3SS3220 USB Type-C DRP port controller commit
usb-serial: cp201x: support Mark-10 digital force gauge commit
usb251xb: Add support for USB2422 commit
usb251xb: add vdd supply support commit
serial: option: add ZLP support for 0x1bc7/0x9010 commit
serial: option: add Telit ME910G1 0x110a composition commit
12.10. Serial Peripheral Interface (SPI)
dw-pci: Add runtime power management support commit
dw: Add basic runtime PM support commit
pxa2xx: Add support for Intel Comet Lake-H commit and Intel Jasper Lake commit
12.11. Watchdog
w83627hf_wdt: Support NCT6116D commit
12.12. Serial
sprd: Add polling IO support commit
lpuart: Add RS485 support for 32-bit uart flavour commit
8250: Make Aspeed VUART SIRQ polarity configurable commit
hvc: dcc: Add earlycon support commit
12.13. CPU Frequency scaling
ti-cpufreq: Add support for omap34xx and omap36xx commit
ti-cpufreq: Add support for AM3517 commit
- Add cpufreq and cci devfreq for mt8183, and SVS support
12.14. Device Voltage and Frequency Scaling
devfreq: Add dev_pm_qos notifiers to devfreq core in order to support frequency limits via dev_pm_qos_add_request commit, commit, commit, commit, commit, commit
tegra30: Support variable polling interval commit
12.15. Voltage, current regulators, power capping, power supply
power: reset: add driver for mt6323 poweroff commit
power: supply: axp20x_usb_power: enable USB BC detection on AXP813 commit
power: supply: cpcap-battery: Add basic coulomb counter calibrate support commit
test_power: Add CHARGE_COUNTER properties commit and CURRENT properties commit * regulator: ab8500: Remove AB8505 USB regulator commit
regulator: fan53555: add chip id for Silergy SYR83X commit
regulator: qcom-rpmh: add PM6150/PM6150L regulator support commit
regulator: qcom_smd: Add PM8950 regulators commit
regulator: qcom_spmi: Add PM8950 SPMI regulator commit
regulator: qcom_spmi: Add support for PM8004 regulators commit
12.16. Real Time Clock (RTC)
12.17. Pin Controllers (pinctrl)
Add pinmux & GPIO controller driver for Intel Lightning Mountain SoC commit
intel: Add Intel Tiger Lake pin controller support commit
meson: add pinctrl driver support for Meson-A1 SoC commit
qcom: Add a pinctrl driver for MSM8976 and 8956 commit
rockchip: add rk3308 SoC support commit
sh-pfc: r8a77965: Add R8A774B1 PFC support commit
sh-pfc: r8a7796: Add R8A77961 PFC support commit
12.18. Multi Media Card (MMC)
Add Actions Semi Owl SoCs SD/MMC driver commit
jz4740: Add 8bit mode support commit
jz4740: Add support for JZ4760 commit
jz4740: Add support for Low Power Mode (LPM) commit
jz4740: Add support for X1000 commit
sdhci-milbeaut: add Milbeaut SD controller driver commit
sdhci-of-arasan: Add Support for Intel LGM SDXC commit
sdhci-of-arasan: Add support for ZynqMP Platform Tap Delays Setup commit
sdhci-pci: Add support for Intel JSL commit
sdhci_am654: Add Support for Command Queuing Engine to J721E commit
12.19. Memory Technology Devices (MTD)
nand: brcmnand: Add support for flash-dma v0 commit
physmap_of: add a hook for Intel IXP4xx flash probing commit
rawnand: Add new Cadence NAND driver to MTD subsystem commit
spi-nor: Add support for is25wp256 commit
spi-nor: Add support for w25q256jw commit
spi-nor: add support for en25qh16 commit
spi-nor: intel-spi: Add support for Intel Comet Lake-H SPI serial flash commit
spi-nor: intel-spi: add support for Intel Cannon Lake SPI flash commit
12.20. Industrial I/O (iio)
Ingenic JZ47xx: Add support for JZ4770 SoC ADC commit
adc: Add driver support for AD7292 commit
adc: New driver for the AB8500 GPADC commit
adc: intel_mrfld_adc: Add Basin Cove ADC driver commit
adc: max1027: Introduce 12-bit devices support commit
cros_ec: Add cros-ec-sensorhub driver commit
dac: ad5446: Add support for new AD5600 DAC commit
dac: stm32: add power management support commit
imu: Add support for the FXOS8700 IMU commit
imu: inv_mpu6050: add MPU925x magnetometer support commit
imu: inv_mpu6050: add fifo support for magnetometer data commit
imu: mpu6050: Add support for vdd-supply regulator commit
imu: st_lsm6dsx: add odr calibration feature commit
imu: st_lsm6dsx: add support to LSM6DS0 commit
imu: st_lsm6dsx: add support to LSM6DSRX commit
light: Add support for ADUX1020 sensor commit
light: add driver for veml6030 ambient light sensor commit
temperature: Add support for LTC2983 commit
12.21. Multi Function Devices (MFD)
db8500-prcmu: Support U8420-sysclk firmware commit
intel-lpss: Add Intel Comet Lake PCH-H PCI IDs commit
madera: Add support for requesting the supply clocks commit
qcom-spmi-pmic: Add support for PM/PMI8950 commit
12.22. Pulse-Width Modulation (PWM)
stm32: Add power management support commit
12.23. Inter-Integrated Circuit (I2C + I3C)
Aspeed: Add AST2600 compatible commit
Add support for filters optional properties commit
at91: add new platform support for sam9x60 commit
at91: add support for advanced digital filtering commit
at91: add support for analog filtering commit
at91: add support for digital filtering commit
i801: Add support for Intel Comet Lake PCH-H commit
i801: Add support for Intel Jasper Lake commit
12.24. Hardware monitoring (hwmon)
Add driver for Texas Instruments TMP512/513 sensor chips commit
Add support for ltc2947 commit
dell-smm: Add support for disabling automatic BIOS fan control commit, commit
ina3221: Add summation feature support commit
pmbus: add driver for BEL PFE1100 and PFE3000 commit
12.25. General Purpose I/O (gpio)
tegra186: Implement wake event support commit
tegra186: Add debounce support commit
Add xgs-iproc driver commit
12.26. Leds
Add LED driver for EL15203000 board commit
12.27. DMA engines
JZ4780: Add support for the X1000 commit
fsl-dpaa2-qdma: Add NXP dpaa2 qDMA controller driver for Layerscape SoCs commit
fsl-dpaa2-qdma: Add the DPDMAI(Data Path DMA Interface) support commit
milbeaut-hdmac: Add HDMAC driver for Milbeaut platforms commit
milbeaut-xdmac: Add XDMAC driver for Milbeaut platforms commit
xilinx_dma: Add Xilinx AXI MCDMA Engine driver support commit
12.28. Hardware Random Number Generator (hwrng)
atmel: add new platform support for sam9x60 commit
hisi: add HiSilicon TRNG driver support commit
npcm: add NPCM RNG driver commit
12.29. Cryptography hardware acceleration
- inside-secure
Adds support for the (AES) CBCMAC family of authentication algorithms: AES-CBCMAC, AES-XCBCMAC and AES-MAC commit, commit, commit
Add support for the Chacha20 skcipher and the Chacha20-Poly1305 AEAD suites commit, commit, commit
Add support to sm3 and hmac(sm3) ahash support commit, commit, commit
Add support to ecb(sm4), cbc(sm4), ofb(sm4), cfb(sm4) and rfc3686(ctr(sm4)) skcipher algorithms commit, commit, commit, commit, commit, commit, commit
Add support for the rfc4106(gcm(aes)), rfc4543(gcm(aes)) and rfc4309(ccm(aes)) ciphersuites intended for IPsec ESP acceleration commit, commit, commit
Add SM4 based authenc AEAD ciphersuites commit
Add support for the EIP196 commit
Added support for CRC32 commit
Add support for the eip197f_iewc configuration that is currently being taped-out by a customer. It adds support for the 256 bit internal buswidth used by larger EIP197's as well as support for having less ring interrupt controllers than rings commit, commit
allwinner: Add sun8i-ce Crypto Engine commit
amlogic: Add crypto accelerator for amlogic GXL commit
ccp: add SEV command privilege separation commit
- hisilicon
12.30. PCI
AER: Add PoisonTLPBlocked to Uncorrectable error counters commit
ASPM: Add sysfs attributes for controlling ASPM link states commit, commit
DPC: Add pcie_ports=dpc-native to allow DPC without AER control commit
Add pci=hpmmiosize and pci=hpmmioprefsize parameters commit
amlogic: meson: Add support for G12A commit
rpaphp: Add drc-info support for hotplug slot registration commit
vmd: Add device id for VMD device 8086:9A0B commit
12.31. Non-Transparent Bridge (NTB)
Add Hygon Device ID commit
12.32. Thunderbolt
Add Thunderbolt 3 support for the software connection manager. It is currently only used in Apple systems. Previously the driver started the firmware connection manager on those but it is not necessary anymore in this release (we still leave user an option to start the firmware in case there are problems with the software connection manager). This includes: Expose 'generation' attribute under each device in sysfs, lane bonding support, expose link speed and width in sysfs, display Port handshake needed for Titan Ridge devices, display Port pairing and resource management, and display Port bandwidth management commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
12.33. FRU Support Interface (FSI)
12.34. Clock
Add common clock driver for BM1880 SoC commit
Ingenic: Add CGU driver for X1000 commit
meson: axg_audio: add sm1 support commit
qcom: Add Global Clock controller (GCC) driver for SC7180 commit
qcom: Add MSM8998 GPU Clock Controller (GPUCC) driver commit
qcom: Add Q6SSTOP clock controller for QCS404 commit
qcom: clk-rpmh: Add support for RPMHCC for SC7180 commit
renesas: cpg-mssr: Add r8a774b1 support commit
renesas: r8a7796: Add R8A77961 CPG/MSSR support commit
tegra: Add Tegra20/30 EMC clock implementation commit
12.35. PHY ("physical layer" framework)
phy/rockchip: Add support for Innosilicon MIPI/LVDS/TTL PHY commit
Add USB2 PHY driver for Marvell MMP3 SoC commit
allwinner: add phy driver for USB3 PHY on Allwinner H6 SoC commit
qcom-qmp: Add SM8150 QMP UFS PHY support commit
tegra: xusb: Add XUSB dual mode support on Tegra210 commit
tegra: xusb: Add usb3 port fake support on Tegra210 commit
tegra: xusb: Add vbus override support on Tegra186 commit and Tegra210 commit
12.36. Various
counter: new TI eQEP driver commit
firmware: broadcom: add OP-TEE based BNXT f/w manager commit
firmware: qcom: scm: add OCMEM lock/unlock interface commit
firmware: qcom: scm: add support to restore secure config to qcm_scm-32 commit
firmware: xilinx: Add support for versal soc commit
fpga: dfl: fme: add power management support commit
fpga: dfl: fme: add thermal management support commit
habanalabs: Add a new H/W queue type commit
habanalabs: add opcode to INFO IOCTL to return clock rate commit
habanalabs: export uapi defines to user-space commit
habanalabs: expose card name in INFO IOCTL commit
interconnect: qcom: add msm8974 driver commit
iommu/ioasid: Add custom allocators commit
iommu: Add I/O ASID allocator commit
iommu: Introduce guest PASID bind function commit
iommu: arm-smmu-impl: Add sdm845 implementation hook commit
irqchip: Add support for Layerscape external interrupt lines commit
mailbox: imx: add support for imx v1 mu commit
mei: add trc detection register to sysfs commit
mei: bus: add more client attributes to sysfs commit
mei: me: add comet point V device id commit
memory: Add DMC driver for Exynos5422 commit
memory: Extend of_memory with LPDDR3 support commit
memory: tegra: Introduce Tegra30 EMC driver commit
misc: fastrpc: add mmap/unmap support commit
misc: rtsx: Add support for RTS5261 commit
nfc: pn533: Add autopoll capability commit
nfc: pn533: add UART phy driver commit
powercap/intel_rapl: add support for CometLake Mobile commit
powercap/intel_rapl: add support for Cometlake desktop commit
ptp: Add a ptp clock driver for IDT ClockMatrix commit
remoteproc: qcom_q6v5_mss: Add support for MSM8998 commit
reset: add support for the Meson-A1 SoC Reset Controller commit
reset: meson-audio-arb: add sm1 support commit
reset: uniphier-glue: Add Pro5 USB3 support commit
serdev: Add ACPI devices by ResourceSource field commit
soc/tegra: fuse: Implement nvmem device commit
soc/tegra: pmc: Add wake event support on Tegra210 commit
soc/tegra: pmc: Configure core power request polarity commit
soc/tegra: pmc: Configure deep sleep control settings commit
soc/tegra: pmc: Support wake events on more Tegra SoCs commit
soc/tegra: regulators: Add regulators coupler for Tegra20 commit
soc/tegra: regulators: Add regulators coupler for Tegra30 commit
soc: at91: Add Atmel SFR SN (Serial Number) support commit
soc: fsl: add RCPM driver commit
soc: qcom: add OCMEM driver commit
soc: qcom: socinfo: add sdm845 and sda845 soc ids commit
soc: renesas: Identify RZ/G2N commit
soc: renesas: rcar-rst: Add support for RZ/G2N commit
soc: renesas: rcar-sysc: Add R8A77961 support commit
soc: renesas: rcar-sysc: Add r8a774b1 support commit
soc: samsung: Add Exynos Adaptive Supply Voltage driver commit
soc: ti: add initial PRM driver with reset control support commit
w1: new driver. DS2430 chip commit
13. List of Pull Requests
14. Other news sites
Phoronix Linux 5.5 Feature Overview
Heise.de (german) kernel-log: Linux 5.5 freigegeben: Wireguard-Fundament und Performance-Verbesserungen