Size: 94852
Comment: sparc64 syscalls
|
Size: 881
Comment: Linux 5.10 released
|
Deletions are marked like this. | Additions are marked like this. |
Line 1: | Line 1: |
Comprehensible changelog of the linux kernel, inspired by [http://wiki.dragonflybsd.org/index.php/DragonFly_Status Dragonfly's status]. Other places to get news about the linux kernel are [http://www.kernel-traffic.org Kernel traffic], [http://lwn.net/Kernel/ LWN kernel status], [http://lwn.net/Articles/driver-porting/ LWN driver porting guide] and [http://lwn.net/Articles/2.6-kernel-api/ LWN list of API changes in 2.6] - many articles here link to LWN and much of the 2.6.x changelog was restored from them (you may be be interested in subscribing so Jonathan can keep up the good work ;-) ). Before adding things here look at the RULES section at the end of the page!! | #pragma keywords Linux, Kernel, 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.14 and older ==== * See Linux26Changes, this page "only" tracks the current stable and development releases. |
You can discuss the latest Linux kernel changes on the [[http://forum.kernelnewbies.org/list.php?4|New Linux Kernel Features Forum]]. |
Line 6: | Line 7: |
==== 2.6.16 ==== * Still not released, see [#development below] ==== Latest stable release: 2.6.15 ==== * Released 3 January, 2006 (fifteen years and a day since Linus bought the machine that got Linux started) [http://www.kernel.org/pub/linux/kernel/v2.6/ChangeLog-2.6.15 changelog] * '''Kernel Core changes''' * VFS changes: The "shared subtree" patches have been merged. Shared subtree semantics provide the building blocks for features like per-user-namespace, "files as directories" and versioned filesystems [http://lwn.net/Articles/159077/ Detailed LWN article], [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=blob;f=Documentation/sharedsubtree.txt Documentation], original [http://marc.theaimsgroup.com/?l=linux-fsdevel&m=110565591630267&w=2 Alexander Viro's RFC]. Patches: * beginning of the shared-subtree proper: A private mount does not forward or receive propagation. This patch provides user the ability to convert any mount to private [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=07b20889e3052c7e77d6a6a54e7e83446eb1ba8 (commit)] * introduce shared mounts: This creates shared mounts. A shared mount when bind-mounted to some mountpoint, propagates mount/umount events to each other. All the shared mounts that propagate events to each other belong to the same peer-group [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=03e06e68ff76294e53ffa898cb844d2a997b043e (commit)] * introduce slave mounts: A slave mount always has a master mount from which it receives mount/umount events. Unlike shared mount the event propagation does not flow from the slave mount to the master [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a58b0eb8e64b78d9315a5491955e78b1391d42e5 (commit)] * handling of shared mounts: This makes bind, rbind, move, clone namespace and umount operations aware of the semantics of slave mount [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=5afe00221389998a25d611dc7941c06580c29eb6 (commit)] * shared mount handling: bind and rbind: Implement handling of MS_BIND in presence of shared mounts [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b90fa9ae8f51f098ee480bbaabd6867992e9fc58 (commit)] * unbindable mounts: An unbindable mount does not forward or receive propagation. Bind semantics: It is invalid to bind mount an unbindable mount. Move semantics: It is invalid to move an unbindable mount under shared mount. Clone-namespace semantics: If a mount is unbindable in the parent namespace, the corresponding cloned mount in the child namespace becomes unbindable too. Note: there is subtle difference, unbindable mounts cannot be bind mounted but can be cloned during clone-namespace [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=9676f0c6389b62bd6b24d77d4b3abdbcfa32d0f2 (commit)] * shared mount handling: move: Implement handling of mount --move in presence of shared mounts [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=2144440327fa01b2f3f65e355120a78211685702 (commit)] * shared mount handling: umount: An unmount of a mount creates a umount event on the parent. If the parent is a shared mount, it gets propagated to all mounts in the peer group [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a05964f3917c7c55368c229d7985f8e7c9977e97 (commit)] * 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 large 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)] * The page table scalability changes caused a [http://marc.theaimsgroup.com/?l=linux-kernel&m=113572611432619&w=2 small regression] with respect to maximum latency. If such regression affects you stick with 2.6.14 until it's [http://marc.theaimsgroup.com/?l=linux-kernel&m=113581076009061&w=2 fixed in future releases] * .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)] * Reorder struct files_struct: The file_lock spinlock sits close to mostly read fields of 'struct files_struct'. In SMP (and NUMA) environments, each time a thread wants to open or close a file, it has to acquire the spinlock, thus invalidating the cache line containing this spinlock on other CPUS. This patch microoptimizes this by moving the spinlock to another cache line, so that concurrent threads can share the cache line containing 'count' and 'fdt' fields. It's worth up to 9% on a microbenchmark using a 2-physical-4-virtual CPU [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=95e861db3eaba7bc99f8605db70103ec3d078203 (commit)] * Swaptoken tuning: It turns out that the original swap token implementation, by Song Jiang, only enforced the swap token while the task holding the token is handling a page fault, this patch approximates that, like the page fault code does. It has the effect of automatically, and gradually, disabling the enforcement of the swap token when there is little or no paging going on, and "turning up" the intensity of the swap token code the more the task holding the token is thrashing [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=fcdae29aa7a5c79f245110f6680afdc1858d3626 (commit)] * Demand faulting for huge pages [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=4c887265977213985091476be40ab11dfdcb4caf (commit)] * Add generic memory add/remove and supporting functions for memory hotplug [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=3947be1969a9ce455ec30f60ef51efb10e4323d1 (commit)] * "Cooperating processes" for the anticipatory I/O scheduler: Introduce the notion of cooperating processes (those that submit requests close to one another), and use these statistics to make better choices about whether or not to do anticipatory waiting [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=f5b3db0017f8415301f3427b30263186e8478c3f (commit)] * Generic dispatch queue: Implements generic dispatch queue which can replace all dispatch queues implemented by each iosched [http://marc.theaimsgroup.com/?l=linux-kernel&m=112238633622498&w=2 (mailing list)] [http://lwn.net/Articles/157208/ (LWN article)] [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=8922e16cf6269e668123acb1ae1fdc62b7a3a4fc (commit)] * Reimplement elevator online switching code [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=cb98fc8bb9c141009e2bda99c0db39d387e142cf (commit)] * Process Events Connector: It reports fork, exec, id change, and exit events for all processes to userspace. Applications that may find these events useful include accounting/auditing (e.g. ELSA), system activity monitoring (e.g. top), security, and resource management (e.g. CKRM) [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=9f46080c41d5f3f7c00b4e169ba4b0b2865258bf (commit)] * RCU torture-testing kernel module: This adds a tristate CONFIG_RCU_TORTURE_TEST, which enables an intense torture test of the RCU infrastructure. This is needed for testing due to the continued changes to the RCU infrastructure [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a241ec65aeac3d69a08a7b153cccbdb7ea35063f (commit)] * Driver Core: add the ability for class_device structures to be nested: Allows struct class_device to be nested, so that another struct class_device can be the parent of a new one, instead of only having the struct class be the parent [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=51d172d5f3a193e4b8f76179b2e55d7a36b94117 (commit)] and add uevent sysfs attribute to re-emit device hotplug events [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a7fd67062efc5b0fc9a61368c607fa92d1d57f9e (commit)]. Also, introduce struct platform_driver (allows the platform device driver methods to be passed a platform_device structure instead of instead of a plain device structure, and therefore requiring casting in every platform driver) [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=00d3dcdd96646be6059cc21f2efa94c4edc1eda5 (commit)]. Due to some of those changes, only udev versions 071 or higher will be able to run in 2.6.15. * Implement nice support across physical cpus on SMP to obtain good distribution of tasks of different nice values [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b910472dd3b7c1d51af9a594a759f642520c33e1 (commit)] * make /proc/mounts pollable [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=5addc5dd8836aa061f6efc4a0d9ba6323726297a (commit)] * SELinux: Enables files created on a MLS-enabled SELinux system to be accessible on a non-MLS SELinux system [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e517a0cd859ae0c4d9451107113fc2b076456f8f (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)] * 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)] * SHM_NORESERVE flags for shmget(): Similar to MAP_NORESERVE for shared memory segments. This is mainly to avoid abuse of OVERCOMMIT_ALWAYS and this flag is ignored for OVERCOMMIT_NEVER [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=bf8f972d3a1daf969cf44f64cc36d53bfd76441f (commit)] * Add vm_insert_page() to use for drivers, which need to insert individual pages into a user vma without the hassles of PAGE_RESERVED [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a145dd411eb28c83ee4bb68b66f62c326c0f764e (commit)] * '''Architecture-specific''' * i386 * generic cmpxchg. Makes cmpxchg generally available on the i386 platform, providing emulation of cmpxchg suitable for uniprocessor if built and run on 386 - necessary for multithreaded environments with libraries using cmpxchg [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=53e86b91b7ae66d4c2757195cbd42e00d9199cf2 (commit)] * hot plug CPU support of physical add of new processors (hotplug disable/enable 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)] * x86-64 * x86-64: Add a new 4GB GFP_DMA32 zone between the GFP_DMA and GFP_NORMAL zones. Full details in the commit link [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a2f1b424900715ed9d1699c3bb88a434a2b42bc0 (commit)] * x86-64: Support for AMD specific MCE Threshold. DRAM Errors Threshold Register realized under AMD K8 Rev F, this register is used to count correctable and uncorrectable ECC errors that occur during DRAM read operations. The user may interface through sysfs files in order to change the threshold configuration [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=89b831ef8bf5cfbb357dbc0a2e07700d7f20eec5 (commit)] * x86-64: Support ULI/ALI 1689 bridge [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=870b7681cd3f867c1ffc8d7fbe9b22216e73a536 (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)] * ppc * ppc64: support 64k pages. Adds a new CONFIG_PPC_64K_PAGES which, when enabled, changes the kernel base page size to 64K. The resulting kernel still boots on any hardware. On current machines with 4K pages support only, the kernel will maintain 16 "subpages" for each 64K page transparently [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=3c726f8dee6f55e96475574e9f645327e461884c (commit)] * ppc64: CPU freq support using 970FX powertune facility for iMac G5 and SMU based single CPU desktop [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=4350147a816b9c5b40fa59e4fa23f17490630b79 (commit)] * ppc64: Adds the ability to the SMU driver to recover missing calibration partitions from the SMU chip itself. It also adds some dynamic mechanism to /proc/device-tree so that new properties are visible to userland [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=183d020258dfd08178a05c6793dae10409db8abb (commit)] * ppc64: This adds a new thermal control framework for Powermac, along with the implementation for Powermac8,1, Powermac8,2 (iMac G5 rev 1 and 2), and Powermac9,1 (latest single CPU desktop) [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=75722d3992f57375c0cc029dcceb2334a45ceff1 (commit)] * ppc: add support for new powerbooks (late 2005 edition). This enables the ATA controller, Gigabit ethernet and basic AGP setup. Bluetooth works out-of-the box after running hid2hci. Still remaining is to get the touchpad to work [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=7fce260a6bf75080ef61408504add5618f90e41b (commit)] * Add support for the AMCC PowerPC 440SPe SoC, including PCI Express in root port mode [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b0f7b8bc57ee90138a7c429951457027a90c326f (commit)] * Arm * ARM: Add the infrastructure to support hotplug CPU [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a054a811597a17ffbe92bc4db04a4dc2f1b1ea55 (commit)], support for local timers [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=37ee16ae93a3e4ae7dd51beb81d249f5f12a55c2 (commit)] and optimized SHA1 implementation [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=c09f98271f685af349d3f0199360f1c0e85550e0 (commit)] * ARM: Adds support for omap24xx series of processors [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=1dbae815a724303b46ab4663b5fc23c13e9d9690 (commit)] * ARM: NSLU2 machine support [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a7918f39bbe59fe76f43743bdb6bb8b0bdefd94a (commit)] * Add support for SharpSL Zaurus power and battery management core driver [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=078abcf95cdb95c78d786dbc61ae3c22ee70fb61 (commit)], add support for the Sharp SL-6000x (Tosa) series of PDAs [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=8459c159f7de832eaf888398d2abf466c388dfa6 (commit)] and add support for its MMC, IRDA and UDC devices, also add a platform device for the keyboard driver [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a93876c16275376c4f9f1630ce24036d329fa7a0 (commit)], 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 Akita (SL-C1000) machine support [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=94cabd003e989556d8bf84027d96284dc2d99c76 (commit)], add PM device driver for the SL-Cx00 [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e8b6f7f437a624fc2e2a2ec92fbeffdcf6f0e11e (commit)] and SL-C7x0 [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=d72f25b0dfb0807bd758da56a7ed88c0eb6e70d8 (commit)] machines. * Mips * MIPS: 4-level page table support [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=c6e8b587718c486b55c2ebecc6de231a30beba35 (commit)] * MIPS updates: resurrect Cobalt support for 2.6 [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=c4ed38a0c6e2e5c4906296758f816ee71373792f (commit)], Base Au1200 support [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e3ad1c23ba72214669b364c6fa304531dc768c3e (commit)], support for BCM1480 family of chips [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=f137e463b50aadba91bd116f99c59ccb9c15a12f (commit)] * IA64: 4-level page table support [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=837cd0bdf54dd954cd6aa43d250f75ab5db79617 (commit)] * SH: Superhyway support for SH4-202 [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=d5cb9783536a41df9f9cba5b0a1d78047ed787f7 (commit)] * '''Filesystems''' * NTFS write support: NTFS finally implements write support so "vim /ntfs/foo.txt" works. You can write(2) to a file even beyond the end of the existing file. Resident non-resident files and are supported. Sparse files can also be written and holes will be filed appropriately. truncate(2), ftruncate(2) and open(2) with O_TRUNC flag also works. There're some limitations with heavily fragmented files which you won't be allowed to change. Also, notice that creation/deletion of files and directories is still not supported and mmap(2) based writes is still not complete [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=98b270362bb9ea6629732e7f5b65b8a6ce4743c7 (commit)] * Big CIFS update: Lots of performance improvements, support for mounting older pre-CIFS servers such as windows 9x and Me [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a10faeb2a3e266385cc334fe9af76e08e5e4330f (commit)], mount option for disabling the default behavior of sending byte range lock requests to the server [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=c46fa8acdc533e8084359ea11c79d56eb98313fb (commit)], add filesystem notification changes [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=8d0d50948b276b46b75b1b5855d3f9fab1e0fd92 (commit)], finish cifs mount option which requests case insensitive path name matching [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=d3485d37c0b3292aec0618b6663c57542df5da99 (commit)], suspend support [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=ede1327ea4ca8019ec6df24b3e837def091c26b8 (commit)] * '''Networking''' * 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)] * Randomize the port selected on bind() for connections to help with possible security attacks. It should also be faster in most cases because there's no need for a global lock [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=6df716340da3a6fdd33d73d7ed4c6f7590ca1c42 (commit)] * Add nf_conntrack subsystem: The existing connection tracking subsystem in netfilter can only handle ipv4. There were two choices present to add connection tracking support for ipv6, we could either duplicate all of the ipv4 connection tracking code into an ipv6 counterpart, or (the choice taken by these patches) we could design a generic layer that could handle both ipv4 and ipv6 and thus requiring only one sub-protocol (TCP, UDP, etc.) connection tracking helper module to be written. In fact nf_conntrack is capable of working with any layer 3 protocol [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=9fb9cbb1082d6b31fb45aa1a14432449a0df6cf1 (commit)] * Generic netlink family: The generic netlink family builds on top of netlink and provides simplifies access for the less demanding netlink users. It solves the problem of protocol numbers running out by introducing a so called controller taking care of id management and name resolving [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=482a8524f85a7d8c40c6fb5d072e85bc2fef327f (commit)]; and a new type-safe interface for netlink messages and attribute handling. The interface is fully binary compatible with the old interface towards userspace. Besides type safety, this interface features attribute validation capabilities, simplified message construction, and documentation [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=bfa83a9e03cf8d501c6272999843470afecb32ed (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)] * PPP MPPE encryption module, it implements the Microsoft Point-to-Point Encryption method as a PPP compressor/decompressor. This is necessary for Linux clients and servers to interoperate with Microsoft Point-to-Point Tunneling Protocol (PPTP) servers (either Microsoft PPTP servers or the poptop project) which use MPPE to encrypt data when creating a VPN [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b3f9b92a6ec1a9a5e4b4b36e484f2f62cc73277c (commit)] * Appropriate Byte Count support [http://www.ietf.org/rfc/rfc3465.txt (RFC 3465)]. ABC is a way of counting bytes ack'd rather than packets when updating congestion control [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=9772efb970780aeed488c19d8b4afd46c3b484af (commit)] * IPV6: [http://www.ietf.org/rfc/rfc3484.txt RFC 3484] compliant source address selection [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=072047e4de3800905e09d0f8ef0e1cc4e91a601e (commit)] * Wireless updates: Hardware crypto and fragmentation offload support [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=f1bf6638af9e9bbbb6fb0b769054fb7db1ae652f (commit)], QoS (WME) support [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=9e8571affd1c54b9638b4ff9844e47aae07310f6 (commit)], "wireless spy support" [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=74079fdce472a2b16d502fe39e06b135ef06c69b (commit)], mixed PTK/GTK CCMP/TKIP support [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=ccd0fda3a6d9186d067893114f65b8df758d5a1f (commit)] and WE-19 HostAP support [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=c28df16ed70d1b6cefd12135e3c68bfccd1bb635 (commit)] * Speed up SACK processing: Use "hints" to speed up the SACK processing. Various forms of this have been used by TCP developers (Web100, STCP, BIC) to avoid the 2x linear search of outstanding segments [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=6a438bbe68c7013a42d9c5aee5a40d7dafdbe6ec (commit)] * '''Drivers''' * libata: Add support for ATA passthru (arbitrary ATA command execution, necessary for SMART support) [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b095518ef51c37658c58367bd19240b8a113f25c (commit)], C/H/S support for older devices [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=8bf62ecee58360749c5f0e68bc97d5e02a6816b1 (commit)], support for Silicon Image 3131/3531 controllers [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=042c21fd2c3aa553907020131caa553a9da24589 (commit)], Marvell SATA family (DMA mode) [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=31961943e3110c5a1c36b1e0069c29f7c4380e51 (commit)] and Promise SATA 300 TX2plus PDC40775 [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=c45154a3b1fecdbb51b5462c9f730b44e62b83a5 (commit)] * IDE support for: AMD Geode GX/LX [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=7fab773de16ccaeb249acdc6e956a9759c68225d (commit)], CS5535 [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=f5b2d8b4b5146fa2d70fec7d514fa0bd64636958 (commit)] and M3A-2170(Mappi-III) board on the m32r architecture [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=ad09d583106fadfdf751926107cfe35fba6bdbd4 (commit)] * IDE support on the Sibyte Swarm evaluation boards and it's relatives for the BCM1250 family of system on a chip [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=4237f229018ccf937578dee97565a49d712809e8 (commit)] * IDE via82cxxx driver: support multiple controllers in the same system [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=7462cbff7d4c2dc0d182613fb4e801efb29b90ac (commit)] and remove /proc/via file: The same date can be got from this userspace program: http://www.reactivated.net/software/viaideinfo/ [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=861e76a8ab7ba64a74c567fa8c4d1d38c4dfdd24 (commit)]. Also, add support for VIA VT6410 [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=4f1d774aadfc5a6ed1545dca180f66ab6d0f543d (commit)] * sis5513: enable ATA133 for the sis 965 southbridge [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=14351f8e573442e2437d4b177fa10075aaefd5c9 (commit)] * Input: add Wistron driver present in fujitsu-siemens Amilo Pro V2000, Xeron Sonicpro X 155G and Acer Aspire 1500 notebooks. The driver also allows enabling/disabling the embedded wireless NIC (using the "Wifi" button) [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=5fc1468029e2a4da90ded1e0e2cdd94fbdf83bac (commit)] * e1000: Implementation of the multi-queue feature [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=24025e4ecf88743e1b3d46451b0e3f9de4bbcba5 (commit)] and support for 82571 and 82572 controllers [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=868d5309942927dc86f57009420c5d366ec05daa (commit)] * tg3: add complete support for 5714/5715 [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a4e2b347848bf626b822599329933887dc90e50f (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)], raid5 [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=3f294f4fb6f2ba887b717674da26c21f3d57f3fc (commit)], md [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=eae1701fbd264cfc7efbaf7cd4cd999760070e27 (commit)], [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=86e6ffdd243a06663713e637ee683fb27dce8e0c (commit)] * fbcon: Add support for console rotation. Can be enabled with a boot option fbcon=rotate:n, where n = 0 - normal, n = 1 - 90 degrees (clockwise), n = 2 - 180 degrees (upside down), n = 3 - 270 degrees (counterclockwise); or at runtime with "echo n > /sys/class/graphics/fb[num]/con_rotate" to set the angle of rotation of the current console or "echo n > /sys/class/graphics/fb[num]/con_rotate_all" to set the angle of rotation globally [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e4fc27618b75234b721c4a13d0e0d9d07e75e641 (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)] * 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)], add radeon PCI Express support to complete the support for newest radeon cards along with the r300 3d initial support which went into 2.6.14 [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=ea98a92ff18c03bf7f4d21536986cbbcb4c10cd9 (commit)], Matrox mystique AGP support [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=63921fbfbd87ec745e65d2e9aecdfdc9a4ce73f2 (commit)], add partial support for GMA900 within the i915GM chipset [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=3a59026ba111d85b1a86af0f1c4e5a8ef1242d82 (commit)] * MPC8xx PCMCIA support (PowerPC 8xx series PCMCIA controller) [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=de957c89b7dadb3147e885d7b6eb9db73d0eea57 (commit)] * Adds a RapidIO subsystem to the kernel. RIO is a switched fabric interconnect used in higher-end embedded applications http://www.rapidio.org [http://lwn.net/Articles/139118/ (LWN article)] [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=394b701ce4fbfde919a9bcbf84cb4820a7c6d47c (commit)] * MTD: add Resident Flash Disk (RFD) support. This type of flash translation layer (FTL) is used by the Embedded BIOS by General Software. http://www.gensw.com/pages/prod/bios/rfd.htm [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e27a9960af0506d84b9ca9dd3874b7d88901f230 (commit)] and add initial support for OneNAND flash chips, a new flash technology from Samsung with integrated SRAM buffers and logic interface [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=cd5f6346bc28a41375412b49b290d22ee4e4bbe8 (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)] * Support the SMC9111 networking device present on DB1200 boards [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=557934554655ac119d96a1bdb6ed75319bb9d1b1 (commit)] * New Omnikey Cardman 4040 [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=77c44ab1d8e9da31bf927223e1579b44f772b579 (commit)] and 4000 [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=c1986ee9bea3d880bcf0d3f1a31e055778f306c7 (commit)] smartcard reader driver [[Anchor(development)]] === Under development === ==== 2.6.16 ==== * /!\ '''STILL NOT RELEASED!''' /!\ * '''Kernel Core changes''' * New features/frameworks * New 'mutex' locking primitive. Until now, there was two main types of locks: spinlocks and semaphores. Mutexes are like a spinlock, but you may block holding a mutex. If you can't lock a mutex, your task will suspend itself, and be woken up when the mutex is released. This means the CPU can do something else while you are waiting. There are many cases when you simply can't sleep and so have to use a spinlock instead. Semaphores can be and have been (ab)used for this same purpose, but mutexes are simpler than semaphores, and have some advantages. You cannot use mutexes the same way you can use semaphores though, e.g. they cannot be used from an interrupt context, nor can they be unlocked from a different context that which acquired it. Read the [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=blob;f=Documentation/mutex-design.txt documentation], or (more interesting) [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=blob;f=kernel/mutex.c kernel/mutex.c]; it also features some extensive debugging facilities in [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=blob;f=kernel/mutex-debug.c kernel/mutex-debug.c] [http://lwn.net/Articles/165039/ (LWN article)] [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=6053ee3b32e3437e8c1e72687850f436e779bd49 (commit)] * High resolution timers. In contrast to the low-resolution timeout API implemented in kernel/timer.c, hrtimers provide finer resolution and accuracy depending on system configuration and capabilities. These timers are currently used for: itimers, POSIX timers, nanosleep and precise in-kernel timing. For more details read the [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=blob;f=Documentation/hrtimers.txt documentation] [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=c0a3132963db68f1fbbd0e316b73de100fee3f08 (commit)] * Swap migration. [http://lwn.net/Articles/157066/ (LWN article)] Swap migration allows the moving of the physical location of pages between nodes in a NUMA system while the process is running. This means that the virtual addresses that the process sees do not change. However, the system rearranges the physical location of those pages. The main intent of page migration patches here is to reduce the latency of memory access by moving pages near to the processor where the process accessing that memory is running. The patchset allows a process to manually relocate the node on which its pages are located. The pages of process can also be relocated from another process using the sys_migrate_pages() function call. Manual migration is very useful if for example the scheduler has relocated a process to a processor on a distant node. A batch scheduler or an administrator can detect the situation and move the pages of the process nearer to the new processor. For more details, see the commit [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=45b07ef31d1182d2cfde7711327e3afb268bb1ac (commit)] * Add /proc/sys/vm/drop_caches. Writing to this will cause the kernel to drop clean caches, dentries and inodes from memory, causing that memory to become free. This is mainly useful for benchmarking, for getting consistent results between filesystem benchmarks without rebooting. To free pagecache: "echo 1 > /proc/sys/vm/drop_caches", to free dentries and inodes: "echo 2 > /proc/sys/vm/drop_caches", to free pagecache, dentries and inodes: "echo 3 > /proc/sys/vm/drop_caches". As this is a non-destructive operation and dirty objects are not freeable, the user should run `sync' first [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=9d0243bca345d5ce25d3f4b74b7facb3a6df1232 (commit)] * Implement madvise(MADV_REMOVE): This feature frees up a given range of pages and its associated backing store. Current implementation supports only shmfs/tmpfs and other filesystems return -ENOSYS. Databases want to use this feature to drop a section of their bufferpool (shared memory segments) - without writing back to disk/swap space. This feature is also useful for supporting hot-plug memory on UML [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=f6b3ec238d12c8cc6cc71490c6e3127988460349 (commit)] * Per-mountpoint noatime/nodiratime: turns noatime and nodiratime into per-mount instead of per-sb flags [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=fc33a7bb9c6dd8f6e4a014976200f8fdabb3a45c (commit)] * introduce in total 13 new system calls which take a file descriptor/filename pair instead of a single file name. These functions (sys_openat, sys_mkdirat, sys_mknodat, sys_fchownat, sys_futimesat, sys_newfstatat, sys_unlinkat, sys_renameat, sys_linkat, sys_symlinkat, sys_readlinkat, sys_fchmodat, sys_faccessat) are needed to implement race-free filesystem traversal, they are necessary to implement a virtual per-thread current working directory (multi-threaded backup software, etc). Glibc today implements those interfaces using the /proc/self/fd magic. But this code is rather expensive. Coreutils are already using them, and will have lots of other users too - every program which is walking the filesystem tree will benefit [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=5590ff0d5528b60153c0b4e7b771472b5a95e297 (commit)]. Add support for them in i386 [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=4f085507231e8003c66ed12e38c73b76e938ee95 (commit)] and x86-64 [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a60fc5190a31d98508ea6a76f74217f4104e74b7 (commit)] * Add pselect/ppoll system call implementation [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=9f72949f679df06021c9e43886c9191494fdb007 (commit)] on i386 [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=3213e913b0d6baeb28aa1affbdd4bfa7efedc35f (commit)] * EDAC support. The EDAC goal is to detect and report errors that occur within the computer system. In the initial release, memory Correctable Errors (CE) and Uncorrectable Errors (UE) are the primary errors being harvested. Detecting CE events, then harvesting those events and reporting them, can be a predictor of future UE events. With CE events, the system can continue to operate, but with less safety. Preventive maintainence and proactive part replacement of memory DIMMs exhibiting CEs can reduce the likelihood of the dreaded UE events and system 'panics'. In addition, PCI Bus Parity and SERR Errors are scanned for on PCI devices in order to determine if errors are occurring on data transfers [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=da9bb1d27b21cb24cbb6a2efb5d3c464d357a01e (commit)]. Add drivers for Intel i82860, i82875 [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=0d88a10e566d46bffc214c974e5cf5abe38d8da8 (commit)], for AMD 76x and Intel E750x, E752x [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=806c35f5057a64d3061ee4e2b1023bf6f6d328e2 (commit)] and Radisys 82600 [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=2f768af73fea4c70f9046388a7ff648ad11f028e (commit)] * Tewaks to the NUMA policies in the slab allocator [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=dc85da15d42b0efc792b0f5eab774dc5dbc1ceec (commit)] * Process scheduler * Add a 'domain distance' function, which is used to cache measurement results for machiens with several nodes. Each distance is only measured once. This means that e.g. on NUMA distances of 0, 1 and 2 might be measured, on HT distances 0 and 1, and on SMP distance 0 is measured. The code walks the domain tree to determine the distance, so it automatically follows whatever hierarchy an architecture sets up. This cuts down on the boot time significantly and removes the old O(N^2) limit. For more details, see the commit [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=198e2f181163233b379dc7ce8a6d7516b84042e7 (commit)] * Filter affine wakeups [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=d7102e95b7b9c00277562c29aad421d2d521c5f6 (commit)] * Add a new SCHED_BATCH (3) scheduling policy: such tasks are presumed CPU-intensive, and will acquire a constant +5 priority level penalty. Such policy is nice for workloads that are non-interactive, but which do not want to give up their nice levels. The policy is also useful for workloads that want a deterministic scheduling policy without interactivity causing extra preemptions (between that workload's tasks) [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b0a9499c3dd50d333e2aedb7e894873c58da3785 (commit)] * Huge pages * Implement copy-on-write support for hugetlb mappings so MAP_PRIVATE can be supported. This helps us to safely use hugetlb pages in many more applications [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=1e8f889b10d8d2223105719e36ce45688fedbd59 (commit)] * Make hugepages obey cpusets [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=aea47ff363c15b0be5fc27ed991b1fdee338f0a7 (commit)] * Add NUMA policy support for huge pages: The huge_zonelist() function in the memory policy layer provides an list of zones ordered by NUMA distance. The hugetlb layer will walk that list looking for a zone that has available huge pages but is also in the nodeset of the current cpuset [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=5da7ca86078964cbfe6c83efc1205904587706fe (commit)] * Performance / size optimizations * Shrink struct page in some configurations using anonymous struct [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=349aef0bc4c7f07d685c977e12d0e2d0b5d0e6db (commit)] * Shrink dentry struct: Some long time ago, dentry struct was carefully tuned so that on 32 bits UP, sizeof(struct dentry) was exactly 128, ie a power of 2, and a multiple of memory cache lines. Then RCU was added and dentry struct enlarged by two pointers, with nice results for SMP, but not so good on UP, because breaking the above tuning (128 + 8 = 136 bytes). This reverts this unwanted side effect using a union. As dentry cache easily contains millions of entries, a size reduction is worth the extra complexity of the ugly C union [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=5160ee6fc891a9ca114be0e90fa6655647bb64b2 (commit)] * Add the SLOB allocator, a configurable replacement for slab allocator. This adds a CONFIG_SLAB option under CONFIG_EMBEDDED. SLOB is a traditional K&R/UNIX allocator with a SLAB emulation layer, similar to the original Linux kmalloc allocator that SLAB replaced. It's signicantly smaller code and is more memory efficient. But like all similar allocators, it scales poorly and suffers from fragmentation more than SLAB, so it's only appropriate for small systems who want to save some memory [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=10cef6029502915bdb3cf0821d425cf9dc30c817 (commit)] * Make vm86 support optional under CONFIG_EMBEDDED, to save about 5k of kernel size [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=64ca9004b819ab87648dbfc78f3ef49ee491343e (commit)] * configurable support for ELF core dumps, saves about 5K [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=708e9a794cf8822b760edaccd9053edb07c34d19 (commit)] * Make x86 doublefault handling optional, saves about 13 KB [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=22c4e3084eb8b88288a622a57d8b35c450a439f2 (commit)] * Make *[ug]id16 support optional, saves around 2 Kb [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e585e47031751f4e393e10ffd922885508b958dd (commit)] * Add scripts/bloat-o-meter script (python) to measure size changse in the functions of a given file [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=d960600df3ce3588571e2c1adf1f5f6d8ca9eb5a (commit)] * Various changes * TTY layer buffering revamp, see the commit link [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=33f0f88f1c51ae5c2d593d26960c760ea154c2e2 (commit)] * Abandon GCC 2.9x support. It doesn't support useful features already used by some drivers like anonymous unions. Plus, no new distros are shipping with 2.9x compilers. In other words, supporting it has more disadvantages than advantages. The minium required compiler version us GCC 3.2 [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=fd285bb54d8a3e99810090ae88cfe8ed77d1da25 (commit)] * cpuset: Provide a simple per-cpuset metric of memory pressure, tracking the -rate- that the tasks in a cpuset call try_to_free_pages(), the synchronous (direct) memory reclaim code. This enables batch managers monitoring jobs running in dedicated cpusets to efficiently detect what level of memory pressure that job is causing. For more details, see the commit [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=3e0d98b9f1eb757fc98efc84e74e54a08308aa73 (commit)] * Make high and batch sizes of per_cpu_pagelists configurable, as recently there has been lot of traffic on the right values for batch and high water marks for per_cpu_pagelists. A new tunable /proc/sys/vm/percpu_pagelist_fraction is added. This entry controls the fraction of pages at most in each zone that are allocated for each per cpu page list. The min value for this is 8. It means that we don't allow more than 1/8th of pages in each zone to be allocated in any single per_cpu_pagelist. The batch value of each per cpu pagelist is also updated as a result [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=8ad4b1fb8205340dba16b63467bb23efc27264d6 (commit)] * swsusp: remove the image encryption that is only used by swsusp instead of zeroing the image after resume in order to prevent someone from reading some confidential data from it in the future and it does not protect the image from being read by an unauthorized person before resume. The functionality it provides should really belong to the user space and will possibly be reimplemented after the swap-handling functionality of swsusp is moved to the user space [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=f2d97f02961e8b1f8a24befb88ab0e5c886586ff (commit)] * swsusp: make suspend image size limit tunable via /sys/power/image_size. It is necessary for systems on which there is a limited amount of swap available for suspend. It can also be useful for optimizing performance of swsusp on systems with 1 GB of RAM or more. The default size is set to 500 MB [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=ca0aec0f7a94bf9f07fefa8bfd23282d4e8ceb8a (commit)]. * Add list_for_each_entry_safe_reverse() [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=0ad42352c01788e41a33336577fdd270d8de55bb (commit)] * MD: Exposes and allow to set lots of parameters through sysfs * keys: Add a new keyctl function that allows the expiry time to be set on a key or removed from a key, provided the caller has attribute modification access [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=017679c4d45783158dba1dd6f79e712c22bb3d9a (commit)], and ake it possible for a running process (such as gssapid) to be able to instantiate a key. For more details, see the commit [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b5f545c880a2a47947ba2118b2509644ab7a2969 (commit)] * SPI framework, implements the model of a queue of messages which complete asynchronously (with thin synchronous wrappers on top) [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=8ae12a0d85987dc138f8c944cb78a92bf466cea0 (commit)] * '''Architecture-specific''' * x86 * sparsemem for single node systems: Allows SPARSEMEM to be enabled on non-numa x86 systems. This is made dependant on EXPERIMENTAL also being set [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=215c3409eed16c89b6d11ea1126bd9d4f36b9afd (commit)] * A simple driver for the CS5535 and CS5536 that allows a user-space program to manipulate GPIO pins. The CS5535/CS5536 chips are Geode processor companion devices [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e329113ca437e44ec399b7ffe114ed36e84ccf5e (commit)] * x86: Basic support for the AMD Geode GX and LX processors [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=f90b8116032f4216d260e31f966a3585319387ac (commit)] * x86-32 / x86-64: mark rodata sections read only [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=63aaf3086baea7b94c218053af8237f9dbac5d05 (commit)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=67df197b1a07944c2e0e40ded3d4fd07d108e110 (commit)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=37b73c828185731f6236a6387c02d7b08c150810 (commit)] * kdump for x86-32/64: Add "elfcorehdr" command line option. "elfcorehdr" specifies the location of elf core header stored by the crashed kernel. This command line option will be passed by the kexec-tools to capture kernel [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=aac04b32f3e4c63f461459d0e1d6aa01caac6e66 (commit)]. Also, add memmmap command line option for x86-64, similar to i386. memmap=exactmap enables setting of an exact E820 memory map, as specified by the user [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=69cda7b1f06befb8d6a884b8a663d19dcaef590b (commit)] * x86-64: Support constant TSC feature in future AMD CPUs [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=130951ccb14167c20b87e8bed52b60864ed53c2b (commit)] * x86_64: Allow compilation on a 32bit biarch toolchain [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=bb33421dde79f9a36d5485c56335ff178ac7d268 (commit)] * x86-64: Inclusion of ScaleMP vSMP architecture [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=79f12614a6537cc3ac9ca4d1ea26f6e4f4a34aee (commit)] * PPC * SPU file system. The SPU file system is used on PowerPC machines that implement the Cell Broadband Engine Architecture (aka: Cell processors) in order to access Synergistic Processor Units (SPUs). The file system provides a name space similar to posix shared memory or message queues. Users that have write permissions on the file system can use spu_create(2) to establish SPU contexts in the spufs root. Every SPU context is represented by a directory containing a predefined set of files. These files can be used for manipulating the state of the logical SPU. For more details, read the [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=blob;f=Documentation/filesystems/spufs.txt Documentation] [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=67207b9664a8d603138ef1556141e6d0a102bea7 (commit)] * Add back support for booting from BootX. ARCH=powerpc couldn't boot from BootX as it uses a "different" way of getting in the kernel. This patch adds the necessary trampolines, creating a flattened device-tree from the tree passed from MacOS, and initializing the btext engine early for really-early debugging [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=d7f3945420b5d8114f2d4d85e90abe5063cc196a (commit)] * Add cpufreq support for all desktop G5. This patch adds cpufreq support for all desktop "tower" G5 models [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=9a699aefa87cb0379a67741926820c9271d748a9 (commit)] * Experimental support for new G5 Macs: This adds some very basic support for the new machines, including the Quad G5 (tested), and other new dual core based machines and iMac G5 iSight (untested). This is still experimental, there is no thermal control yet, there is no proper handing of MSIs, it just boots [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=1beb6a7d6cbed3ac03500ce9b5b9bb632c512039 (commit)] * PPC32 and PPC64 kexec implementations [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=3d1229d6ae92ed1994f4411b8493327ef8f4b76f (commit)] * ppc64: per cpu data optimisations [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=7a0268fa1a3613f2c526a9b3058701b277f6abe1 (commit)] * IBMEBUS bus support. This adds the necessary core bus support used by device drivers that sit on the IBM GX bus on modern pSeries machines like the Galaxy infiniband for example. It provide transparent DMA ops (the low level driver works with virtual addresses directly) along with a simple bus layer using the Open Firmware matching routines [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=d7a301033f1990188f65abf4fe8e5b90ef0e3888 (commit)] * G4+ oprofile support [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=555d97ac87aef08bb55dff6f05e68fe2987d6f6d (commit)] * powerpc/8xx: Use 8MB D-TLB's for kernel static mapping faults, thus reducing TLB space consumed for the kernel and improving performance [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=8f069b1a90bd97bf6d59a02ecabf0173d9175609 (commit)] * Make COFF zImages for old 32-bit powermacs [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=66a45dd3620ee5f913ba1af3d2dca8b9bdfa2b96 (commit)] * Remove powermac support from ARCH=ppc. This makes it possible to build kernels for PReP and/or CHRP with ARCH=ppc by removing the (non-building) powermac support. It's now also possible to select PReP and CHRP independently. Powermac users should now build with ARCH=powerpc instead of ARCH=ppc. (This does mean that it is no longer possible to build a 32-bit kernel for a G5) [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a7fdd90bc43e3e9cb08bc1b13650024d419b89e5 (commit)]. Also, make ARCH=powerpc the default for 32-bit ppc [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=820a8ce7931d18338e5c089725ec083518da1644 (commit)] * Add platform functions interpreter along with the backends for UniN/U3/U4, mac-io, GPIOs and i2c. It adds the ability to execute those do-platform-* scripts in the device-tree (at least for most devices for which a backend is provided) [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=5b9ca526917b7bc7d1da3beaccb2251a8f0b5fe2 (commit)]. Add support for add/remove/update properties in firmware device tree [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=088186ded490ced80758200cf8f906ed741df306 (commit)], add add/remove/update properties in /proc/device-tree [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=898b5395e915210f41223caa30312994d64cba1d (commit)], and add support for changing properties from userspace [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=610d91511f99f0a8325ad78fb7259c454b23e65a (commit)] * Add FSL SOC library and setup code [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=eed320010872a11f5255b3d076e5b4f142af553d (commit)] * Early debugging support for iSeries [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=bf6a7112bda99aadd6675526423a96be6b356a3d (commit)] * Add "partitionable endpoint" support. New versions of firmware introduce a new method by which the "partitionable endpoint" (the point at which the pci bus is cut) should be located [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=25e591f6dd07365cbf0b1c2454386ce597dd5e05 (commit)] * PCI error recovery infrastructure for the PPC64 pSeries systems [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=77bd741561016134d1761d6101c4f0361025062f (commit)] * Add TQM85xx (8540/8541/8555/8560) board support [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a819f8ba76e81669fcc2665ac532cac650694b99 (commit)] * Add MPC834x SYS board to arch/powerpc [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=7d13d21ae85f64e35dcdae4d6a6286e62a38e0ab (commit)] * Add support for the PowerPC MPC83xx watchdog. The MPC83xx has a simple watchdog that once enabled it can not be stopped, has some simple timeout range selection, and the ability to either reset the processor or take a machine check [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=fabbfb9e8c53416eaa4f62b957430211376c9c82 (commit)] * s390 * Add support for the hardware accelerated sha256 [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=0a497c17fee428604e06320272ff74415eacdc31 (commit)] and aes [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=bf754ae8ef8bc443c067601d9401103e4001e7c5 (commit)] crypto algorithms; also support cex2a crypto cards [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=88fbf18399bde8f2900cf932acd40733dfa1effa (commit)] * qdio V=V pass-through. QDIO and Hiper Sockets processing in z/VM V=V guest environments (as well as V=R with z/VM running in LPAR mode) requires shadowing of all QDIO architecture queue elements. Especially the shadowing of SBALs and SLSBs structures in the hypervisor, and the need to issue SIGA SYNC operations to observe state changes, eventually causes significant CPU processing overhead in the hypervisor. The QDIO pass-through support for V=V guests avoids the shadowing of SBALs and SLSBs. This significantly reduces the hypervisor overhead for QDIO based I/O [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=8129ee164267dc030b8e1d541ee3643c0b9f2fa1 (commit)] * ARM * Iomega NAS 100d network attached storage product. The NAS100D is a consumer device containing a 266MHz Intel IXP420 processor, 16MB of flash, 64MB of RAM, a 160Gb internal IDE hard disk, and 802.11b/g wireless on an Atheros mini-PCI card [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=3145d8a6cc83ee15adf18f598873e53a54cd1841 (commit)] * Add pxa27x OHCI platform specific code to enable the ohci device on the pxa27x based Sharp Zaurus Cxx00 devices [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=3125c68d70e3433c21234431a9df9e7336efa29f (commit)] * Remove EPXA10DB machine support [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=0fec53a24a5e5f7ba68d891b68f568b6aeafaca6 (commit)] * Support for the Atmel AT91RM9200 processor: this adds support for the Cogent CSB337 and CSB637 boards [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=49978db4f39950cdaaf967e1aad4a324bdc2e180 (commit)] and the Atmel's DK and EK boards [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=f0a13854be269357ff70022524ec503d3cba6a32 (commit)] * Add support for the serial device for machines with Atmel AT91RM9200 processors [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=1e6c9c2878c9c1f301449c78551e0b7c5f3e3ae5 (commit)] * UML * Add support for throttling and unthrottling input when the tty driver can't handle it [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e4dcee8099802c71437a15b940f66106d9f88b2f (commit)] * implement soft interrupts [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=1d7173baf286c8b720f97f119ec92be43076ebde (commit)] * FRV * Implement futex operations [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=5c40f7f373889930d176a515ec375b60a70b5b49 (commit)] * Make futex code compilable on nommu [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=7ee1dd3fee22f15728f545d266403fc977e1eb99 (commit)] * Sparc64: * Serial Console for E250 [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=c126cf80d450a4d0aac3de7162d4c14b5c971b24 (commit)] * Add support for *at(), ppoll, and pselect syscalls [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=2d7d5f05111a9d913131a2764d8b20157f8f758d (commit)] * m32r: Support M32104UT target platform. The M32104UT is an eval board based on an uT-Engine specification. This board has an MMU-less M32R family processor, M32104. [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=9287d95ea194abf32fab24c6909f8ea55ab0292f (commit)] * MIPS: Add oprofile support to 5K, 20K and 25K [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=2065988e9fb1628de7958b0f7f709b93302f7b97 (commit)] * Alpha: convert to generic irq framework. This allows automatic SMP IRQ affinity assignment other than default "all interrupts on all CPUs" which is rather expensive. This might be useful if the hardware can be programmed to distribute interrupts among different CPUs, like Alpha does [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=eee45269b0f5979c70bc151c6c2f4e5f4f5ababe (commit)] * MMU-less CPUs: Provide shared-writable mmap support on ramfs [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=642fb4d1f1dd2417aa69189fe5ceb81e4fb72900 (commit)]. This made possible to use SYSV IPC SHM in MMU-less configurations [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b0e15190ead07056ab0c3844a499ff35e66d27cc (commit)] * IA64: Perfmon for Montecito [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=9179cb65780def28770a895a4bc8fa60e903ab80 (commit)] * SH: kexec() support [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=9d44190eae97ad4c9ce30f1084e1b0dabd646df5 (commit)] * '''Filesystems''' * OCFS2: Clustering filesystem contributed by Oracle (Oracle-Cluster-File-System). It's general purpose extent based shared disk cluster filesystem with many similarities with ext3, support for 64 bit inode numbers, and has automatically extending metadata groups which may also make it attractive for non-clustered use. It includes a simple heartbeat implementation for monitoring which nodes come and go and a distributed lock manager called "dlm" [http://lwn.net/Articles/137278/ (LWN article)], [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=29552b1462799afbe02af035b243e97579d63350 (commit)] * Configfs: It's a ram-based filesystem that provides the converse of sysfs's functionality. Where sysfs is a filesystem-based view of kernel objects, configfs is a filesystem-based manager of kernel objects, or config_items. With sysfs, an object is created in kernel (for example, when a device is discovered) and it is registered with sysfs. Its attributes then appear in sysfs, allowing userspace to read the attributes via readdir(3)/read(2). It may allow some attributes to be modified via write(2). The important point is that the object is created and destroyed in kernel, the kernel controls the lifecycle of the sysfs representation, and sysfs is merely a window on all this. Both sysfs and configfs can and should exist together on the same system. One is not a replacement for the other [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=7063fbf2261194f72ee75afca67b3b38b554b5fa (commit)] * FUSE: Make the maximum size of write data configurable by the filesystem. The previous fixed 4096 limit only worked on architectures where the page size is less or equal to this. This change make writing work on other architectures too, and also lets the filesystem receive bigger write requests in direct_io mode. Normal writes which go through the page cache are still limited to a page sized chunk per request [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=3ec870d524c9150add120475c8ddcfa50574f98e (commit)] * NFSv4: Allow user to set the port used by the NFSv4 callback channel with the nfs.callback_tcpport boot option [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a72b44222d222749d54b3e370d825094352e389f (commit)] * NFS: support large reads and writes on the wire. Most NFS server implementations allow up to 64KB reads and writes on the wire. The Solaris NFS server allows up to a megabyte, for instance. Now the Linux NFS client supports transfer sizes up to 1MB, too. This will help reduce protocol and context switch overhead on read/write intensive NFS workloads, and support larger atomic read and write operations on servers that support them [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=40859d7ee64ed6bfad8a4e93f9bb5c1074afadff (commit)] * v9fs: add readpage support. v9fs mmap support was originally removed to make mergin easier, but there have been requests from folks who want readpage functionality (primarily to enable execution of files mounted via 9P). This patch adds readpage support (but not writepage which contained most of the objectionable code) [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=147b31cf09ee493aa71c87c0dd2eef74b6b2aeba (commit)]. Add new and more efficient multiplexer implementation [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=3cf6429a26da5c4d7b795e6d0f8f56ed2e4fdfc0 (commit)] and zero copy implementation to reduce the number of copies in the data and stat paths [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=531b1094b74365dcc55fa464d28a9a2497ae825d (commit)] * ext3: external journal device as a mount option. The syntax is : "# mount -t ext3 -o journal_dev=0x0820 ...", where 0x0820 means major=8 and minor=32 [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=71b9625744b7d4a6a2416389a5ba464bdf11f07f (commit)] * FAT: Support Direct I/O [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e5174baaea7585760f02eef23b225847d209a8db (commit)] * RelayFS: Add support for global relay buffers. This can be used by clients to create a single global relayfs buffer instead of the default per-cpu buffers. This was suggested as being useful for certain debugging applications where it's more convenient to be able to get all the data from a single channel without having to go to the bother of dealing with per-cpu files [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e6c08367b8fc6dce6dfd1106f53f6ef28215b313 (commit)]. Also, add support for relay files in other filesystems [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=08c541a7ade230883c48225f4ea406a0117e7c2f (commit)] * XFS: make it work with SELinux [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=446ada4a03808f128e8f28daa0f103dc69d22d5b (commit)] * XFS: enable write barriers per default [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=4ef19dddbaf2f24e492c18112fd8a04ce116daca (commit)] * Add tmpfs options for memory placement policies [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=7339ff8302fd70aabf5f1ae26e0c4905fa74a495 (commit)] * HFS: add HFSX support which allows for case-sensitive filenames [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=2179d372d9f8b5fc5c189c89bc6a565a42151b23 (commit)] * CIFS: Kerberos and CIFS ACL support [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=bf8206791750854bc6668266b694e8fe2cacb924 (commit)], [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=0a4b92c05ed02ad7abdd165823eaf4bbcb33ae5c (commit)]; and add some performance improvements [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=84afc29b185334f489975a003b128e1b15e24a54 (commit)], [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=ec637e3ffb6b978143652477c7c5f96c9519b691 (commit)] * '''Networking''' * TIPC (Transparent Inter Process Communication). TIPC is a protocol designed for intra cluster communication. For more information see [http://tipc.sourceforge.net http://tipc.sourceforge.net] [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b97bf3fd8f6a16966d4f18983b2c40993ff937d4 (commit)] * Netfilter x_tables, an abstraction layer for {ip,ip6,arp}_tables: This tries to do the best job for unifying the data structures and backend interfaces for the three evil clones ip_tables, ip6_tables and arp_tables [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=2e4e6a17af35be359cc8f1c924f8f198fbd478cc (commit)] * Add IFB (Intermediate Functional Block) network device: a new device to do intermediate functional block in a system shared manner. The new functionality can be grouped as: 1) qdiscs/policies that are per device as opposed to system wide. ifb allows for a device which can be redirected to thus providing an impression of sharing. 2) Allows for queueing incoming traffic for shaping instead of dropping. Packets are redirected to this device using tc/action mirred redirect construct [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=253af4235d24ddfcd9f5403485e9273b33d8fa5e (commit)] * LSM-IPSec: Security association restriction: implement per packet access control via the extension of the Linux Security Modules (LSM) interface by hooks in the XFRM and pfkey subsystems that leverage IPSec security associations to label packets. Such access controls augment the existing ones based on network interface and IP address. The former are very coarse-grained, and the latter can be spoofed. By using IPSec, the system can control access to remote hosts based on cryptographic keys generated using the IPSec mechanism. This enables access control on a per-machine basis or per-application if the remote machine is running the same mechanism and trusted to enforce the access control policy. [http://www.selinux-symposium.org/2005/presentations/session2/2-3-jaeger.pdf paper], [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=5e0f76c6bbc0d26cd9625876f7beeb7b002f39bf (commit)] * TCP BIC: CUBIC window growth (2.0). Replace existing BIC version 1.1 with new version 2.0. The main change is to replace the window growth function with a cubic function as described in http://www.csc.ncsu.edu/faculty/rhee/export/bitcp/cubic-paper.pdf [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=df3271f3361b61ce02da0026b4a53e63bc2720cb (commit)] * Netfilter ip_tables: NUMA-aware allocation. Part of a performance problem with ip_tables is that memory allocation is not NUMA aware, but 'only' SMP aware (ie each CPU normally touch separate cache lines). Even with small iptables rules, the cost of this misplacement can be high on common workloads. Instead of using one vmalloc() area (located in the node of the iptables process), we now allocate an area for each possible CPU, using vmalloc_node() so that memory should be allocated in the CPU's node if possible [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=318360646941d6f3d4c6e4ee99107392728a4079 (commit)] * DCCPv6 [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=3df80d9320bcaea72b1b4761a319c79cb3fdaf5f (commit)] * netem: packet corruption option. It adds the ability to randomly corrupt packets with netem, useful for testing hardware offload in devices [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=c865e5d99e25a171e8262fc0f7ba608568633c64 (commit)] * Update SCTP_PEER_ADDR_PARAMS socket option to the latest api draft [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=52ccb8e90c0ace233b8b740f2fc5de0dbd706b27 (commit)] * Add support for SCTP_DELAYED_ACK_TIME socket option. This option will get or set the delayed ack time [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=7708610b1bff4a0ba8a73733d3c7c4bda9f94b21 (commit)] * XFRM: IPsec tunnel wildcard address support [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=ee51b1b6cece4dad408feeb0c3c9adb9cbd9f7d9 (commit)] * '''Drivers''' * libata: Suspend support, and add support for the ata_piix drivers, other drivers will be ported in the future [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=9b847548663ef1039dd49f0eb4463d001e596bc3 (commit)] * IDE devices * IDE: MODALIAS support for autoloading of ide-cd, ide-disk, ide-floppy and ide-tape to autoload these modules depending on the probed media type of the IDE device [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=263756ec228f1cdd49fc50b1f87001a4cebdfe12 (commit)] * SCSI * megaraid: remove overlapping PCI ID's from the legacy driver [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=3492b328834319c9503c0a34c50fb3f009556443 (commit)] and remove the restriction where the legacy driver could not be built alongside the newgen [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=ed7e8ef7f12f5c3c8bbb85eeb0a1ded91c7c5dbf (commit)]. This means that some users of the legacy megaraid driver will find themselves unable to boot 2.6.16 until they switch to the newgen megaraid_mbox driver. * Input devices * Input: add MODALIAS input classes support [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=1d8f430c15b3a345db990e285742c67c2f52f9a6 (commit)] * Add support for Geyser 2 touchpads used on post Oct 2005 Apple Powerbooks to the appletouch driver [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e1e02c9f766e5cf20d951d35e6d2bc2683aa87ef (commit)] * Implement support for the fn key on Apple PowerBooks using USB based keyboards and makes them behave like their ADB counterparts [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=eab9edd27f7ceaad6b57085817d63287bda15190 (commit)] * Add support for Cherry Cymotion keyboard [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=940824b0ac6661ff4f3b36e7bce17f681d0cbc23 (commit)] * USB devices * A driver for USB ADSL modems based on the ADI eagle chipset (Eagle and ADI 930 usb adsl modems [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b72458a80c75cab832248f536412f386e20a93a0 (commit)] * Add USB storage support for the Nikon Coolpix 2000 camera [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=17fa6e552f2fc6bb06af767b0abf9cb642e13404 (commit)] * Add USB storage support for devices based in the alauda chip, like the Olympus MAUSB-10 and Fujifilm DPC-R1 USB Card reader/writer devices, both support XD and Smartmedia cards [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e80b0fade09ef1ee67b0898d480d4c588f124d5f (commit)] * Add support for ATI/Philips USB RF remotes (eg. ATI Remote Wonder II) [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=735b0cbb5bbb981d726a465c157f20976794aab0 (commit)] * Support for Posiflex PP-7000 retail USB printer [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=effac8be4e46aabf22788d24caaa1ae9c295d26d (commit)] * Support for Linksys USB200M devices [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=5e0f76c6bbc0d26cd9625876f7beeb7b002f39bf (commit)] * Network devices * hostap: allow flashing firmware [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a485cde662f5b6b2299ee01a7e9e2c11683f807b (commit)] * New experimental driver for the Marvell Yukon2 Gigabit Ethernet chipset. This driver is based on the skge driver, but using the logic from the Syskonnect version of the sk98lin driver. It should support all the Yukon2 chipsets that are available in many current Intel and AMD motherboards [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=cd28ab6a4e50a7601d22752aa7ce0c8197b10bdf (commit)] * sky2: add hardware VLAN acceleration support [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=d1f1370863f7fa3d76dc7d7779debdda854a5a60 (commit)], MII ioctl interface [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=ef743d3359813795fb38c4308bff2311eb30651f (commit)], add Yukon-EC ultra support [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=5a5b1ea026572ac0e5e03d7322deb546d60f9e6e (commit)] * Add Wake on LAN support to sis900 [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=ea37ccea66e6bdd9f3571418b6461850088c114e (commit)] * Implements the UFO (feature merged in 2.6.15) support in S2io driver [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=fed5eccdcf542742786701b2514b5cb7ab282b93 (commit)] * Intel ixp2000 network driver [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=15d014d13149aedd76cbff1b5c3bbfe839391457 (commit)] * ipw2100: support WEXT-18 enc_capa v3. This patch allows ipw2100 driver to advertise the WPA-related encryption options that it does really support. It's necessary to work correctly with NetworkManager and other programs that actually check driver & card capabilities [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=166c3436d683cfe5316c7723ed746a93db053f12 (commit)] * Add support for the Intel IXDP2351 to the CS89x0 driver [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=9c878967d32a10cb604718f7608efa0ea3d8b596 (commit)] * mv643xx_eth: Add multicast support [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=16e0301831767ee1b8e5e022cc08e76f9f8a8938 (commit)] * e1000: Added hardware support for PCI express, 82546GB( Quad Copper) and 82571 Fiber [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b7ee49db8b4b21dad3284d5507e7ea2946031f6e (commit)] * e1000: Added disable packet split capability [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=35ec56bb78fda9c88cd1ad30e048ce5b4398d33f (commit)] * ieee80211: Fix some of the ieee80211 crypto related code so that instead of having the host fully do crypto operations, the host_build_iv flag works properly (for WEP in this patch) which, if turned on, requires the hardware to do all crypto operations, but the ieee80211 layer builds the IV. The hardware also has to build the ICV [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a4bf26f30e398afa293b85103c885f03d4660a07 (commit)] * Sound devices * Add power management support for ak4531 [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=11d3824ad7d6240d7ce44bdf1d9e81e62a903f72 (commit)], ens137x [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=fe8be10786c040bce53c18048d75b1b23aec64ae (commit)], emu10k1 [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=09668b441dacdf4640509b640ad73e24efd5204f (commit)], fm801 [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b1e9ed26a9e472548a63a59014708fdae013b7a3 (commit)], cmipci [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=cb60e5f5b2b19284479825cdaa6dd6b7078cf5d2 (commit)], SB16/AWE [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=5bdb6a1629408f657f5f2c42b3c07c689c411499 (commit)], als4000 [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=703529140cfb774366b839f38f027f283cb948b4 (commit)], es968 [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=7a8fef1f95e563a93c7d70048b63c1ca20685a1b (commit)], AD1848 [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=c66d7f72569e304acc134b2561b148fe7c23c0f7 (commit)], als100 [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=480615f33fa48e1a4db33e40b21d4009250f5b23 (commit)], DT019x [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e2fa213591518bb1387f6042b8572c76ecdc6c6e (commit)], azt2320 [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b6cc25cae365bada36c9f006e314b998eb2c5e7c (commit)] * emu10k1: enable side surround channels for Audigy2 EX [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=2f020aa71197eddef749ad6202ca5a66c0c6e382 (commit)], add support for Audigy 2 subsystem 2006 [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=f6f8bb642350dafc21676ccd4fab333282064b8d (commit)], partial support for Creative emu1212m [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=19b99fbaed2e2971b756311435c67e84431d8515 (commit)], entry for SB Live 5.1 Digital OEM (SB0220) [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a8ee72952bd7bd21df944ef1512a1e582abe0528 (commit)] * via82xx: add dxs entry for MSI KT800 Delta-FSR [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=c1b8f5f0e4aabd4b47648dd9465fb750e07da9fb (commit)] * Add support for the CS5535 Audio device [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=9b4ffa48ae855c8657a36014c5b0243ff69f4722 (commit)] * hda-codec: add AD1988 support [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=fd66e0d0591dd12eb0bea1e9f3aa194bb93cebbd (commit)], support of ALC262, ALC883, ALC885, ALC861 [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=df694daa3c0135202e4702cb2d11e68a43f6c51e (commit)], add the model entry (ALC880 6stack) for ASUS P5GD1-HVM [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=7632c7b4443057e1294208a0d9a55d8558f2f6ca (commit)] * ice1724: add support of M-Audio Revolution 5.1 [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=59acf76e0268e3f0156ef5113e89d838a8c02bb6 (commit)] * Add Digigram PCXHR driver [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e12229b4d2b7863b1baaeca759aa87703bf9fdf8 (commit)] * V4L/DVB * Add support for the remote control receiver inside the DViCO FusionHDTV DVB-T Dual Digital, and a keymap for the MCE remote bundled with it [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=7c239703a942117c3446ca06af537fc3ea12fb24 (commit)] * Support for DVB reception on the PCI half of the DViCO DVB-T Dual Digital [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=43eabb4e2284146f8bfae8730ae41c218b724b7d (commit)] * Add support for LifeView FlyDVB Trio [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=4aa6ba513e28884b56bac529553a47a6b160c310 (commit)] * Added digital support for cx88 (cx88-alsa) [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b7f355d23c34399ccfd54fd613c306ab4a788234 (commit)] * Add Kworld/Vstream Xpert DVB-T card with cx22702 tuner [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=f39624fda00d2a30d31f0fa06153e9b460295676 (commit)] * Add support for DViCO FusionHDTV5 USB Gold [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=effee0333b6090ff4ff0463e8fb6084cf4406bbd (commit)] * Added support for VP-3054 (aka DigitalNow DNTV Live! DVB-T Pro!) [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=fc40b261db15d010455ad0a4e2ac59da2ced730f (commit)] * Add remote for Compro Videomate Gold+ Pal version [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=2a9a9a84f2ac6e4481f564c42a9268477465c359 (commit)] * Enable remote control on AVERTV STUDIO 303 [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=899ad11b55206c30db7e3667d14c8bdb167f51f8 (commit)] * Adding support for the Hauppauge HVR1100 and HVR1100-LP products [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=611900c1858747a87657eb405ebab5b1e72bb57c (commit)] * Add support for KWorld DVB-S 100, based on the same chips as Hauppauge [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=1c956a3ac087b7590296f5a0be2cdab2666158cd (commit)] * Enable IR support for the Nova-S-Plus [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=fb56cb65e4b737c93727ea296050e8d24eb7cb42 (commit)] * Added Hauppauge ImpactVCB board [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=cd1257d860f6ee09b589723a5d3888b1fed46487 (commit)] * Added V4L support for the Nova-S-Plus and Nova-SE2 DVB-S products [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=0fa14aa6214823bb013b598add866e277a7efe28 (commit)] * Added basic support (tv + radio) for TerraTec Cinergy 250 PCI [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=f639c9b21b763441bd6bd76185be6d2504d83d54 (commit)] * Added SECAM L' video standard [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=f3c5987a386300abea9854b32814d0eab7af7841 (commit)] * Adds 32-bit compatibility for v4l2 framegrabber ioctls [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=cf664a6458b254ce665d129c0960cff4f32b91f3 (commit)] * Add support for DViCO FusionHDTV DVB-T USB devices [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=f8bf134d5f697311c04e867b6733d047a4b55a12 (commit)] * Add bttv card MagicTV (rebranded MachTV) [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=2d05ae6b5b77f063aa0f82cf0570f3e4b80b367c (commit)] * Added remote control support for pinnacle pctv [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=366cc64b0d9ac922ac4f0f54e06c13ec95249928 (commit)] * Add support for Samsung tuner TCPN 2121P30A, used in Hauppauge PVR-500 cards [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b3d37042d7d33baf0247d1df31031e64427f39b3 (commit)] * Various * 8xx PCMCIA: support for MPC885ADS and MPC866ADS [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=1371d3be045a6a1a8b828b838069b5fe6e0ab4c6 (commit)] * Geode LX HW RNG Support: adds support to hw_random for the Geode LX HRNG device [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a7a4ad0998dcd682f4968e8ec5fc1259914a1c4a (commit)] * i2c-nforce2 add nforce4 MCP-04 device ID [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=7c72ccf09b6debe55b8e049377ad3183ed4f4cb3 (commit)] * i2c: Add support for Barco LPT->DVI to i2c-parport [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=1d26f455eb0db0bf4d4b7177547f4310b645a32a (commit)] * hwmon: New vt8231 driver [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=1de9e371b89e1cf4da123f0d92efa8eb134ca5e8 (commit)] * New character device driver for the SyncLink GT and SyncLink AC families of synchronous and asynchronous serial adapters [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=705b6c7b34f2621f95f606d0e683daa10cdb8eb9 (commit)] * Add "bpp" boot option to nvidiafb to specify at what depth color the kernel must boot [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=ade9185a39aa2bc51f95b4899836e59df671d844 (commit)] * Add support for the watchdog timer built into the EPX-C3 single board computer manufactured by Winsystems, Inc [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=eed6565f70ce3fc958e5a3483c48fc4a8e111bdc (commit)] * Serial: make the number of UARTs registered configurable at compile time [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a61c2d78ce61e67baf27c43f6721db87a27ac762 (commit)] * Add 8250 support for Decision Computer International Co. PCCOM2 [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=d9004eb466d03b7900ed432fecec6819012b4ed3 (commit)] * Altix: Add driver support for a 2 port PCI IOC3-based serial card on Altix boxes [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=2d0cfb527944c2cfee2cffab14f52d483e329fcf (commit)] 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 please, just for coherence) 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). * Keeping realtime track of the commits is really, really easy. Just [http://vger.kernel.org/vger-lists.html#git-commits-head subscribe to the git-commits-head] mailing list (or look at the archives). Commit IDs are in the X-Git-Commit mail header (tell your mailer to show them, if your mailer is good enought you'll be able to add a script which gets the Commit ID out of the header and launch a browser with the "http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=" URL before it. * Do NOT use the [http://www.kernel.org/git git web interface] (or RSS) to keep track of the commits. The RSS gets overflowed when Linus does a big merge, and more importantly, the shortlog doesn't care about when things were committed. If a developer writes a patch, merges it in his git repository and then Linus merges it in mainline after a month, the commit won't appear in the "todays shortlog", but in the one which contains the one-month-old changes. * Git has "meta-commits", though. When Linus merges things from a remote repository, You'll see a "Merge git://git.domain.com/foo/bar" style of message commit. The one-month-old commit won't appear in the shortlog but the remote repository merge will, and if you check the details of the remote-repository-merge commit ID it'll look like a huge patch. It's a "meta-commit" though, and the individual commits will appear in the shortlog too. * Still, the web interface has a useful search field. * 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 committed 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.10)>> |
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.10 was released on Sun, 13 December 2020.
Summary: This new Linux version is a Long Term Support release, and it brings support for a fast commit mode in Ext4 which provides faster fsync(); support for safer sharing of io_uring rings between processes; a new syscall to provide madvise(2) hints for other processes, code patching to allow direct calls to be used instead of indirect calls for improved repotline performance, support for register encryption in AMD's virtualized guests; faster and lean virtio-fs performance; support for ARM Memory Tagging Extension that prevents a number of security issues; and code patching to allow direct calls to be used instead of indirect calls. As always, there are many other new drivers and improvements.
Contents
-
Prominent features
- Long Term Support
- Ext4 fast commit support, for faster metadata performance
- Support io_uring restrictions to facilitate secure sharing of rings
- Memory hints for other processes
- Faster performance and memory consumption in virtio-fs
- AMD support for encryption of register in virtualized guests
- Static calls for improved post-Spectre performance
- Support ARM Memory Tagging Extension
- Core (various)
- File systems
- Memory management
- Tracing, perf and BPF
- Block layer
- Virtualization
- Cryptography
- Security
- Networking
- Architectures
-
Drivers
- Graphics
- Storage
- Drivers in the Staging area
- Networking
- Audio
- Tablets, touch screens, keyboards, mouses
- TV tuners, webcams, video capturers
- Universal Serial Bus (USB) and Thunderbolt
- Serial Peripheral Interface (SPI)
- Watchdog
- Serial
- CPU Frequency scaling
- Voltage, current regulators, power capping, power supply
- Real Time Clock (RTC)
- Pin Controllers (pinctrl)
- Multi Media Card (MMC)
- Memory Technology Devices (MTD)
- Industrial I/O (iio)
- Multi Function Devices (MFD)
- 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
- FRU Support Interface (FSI)
- Clock
- PHY ("physical layer" framework)
- EDAC (Error Detection And Correction)
- Various
- List of Pull Requests
- Other news sites
1. Prominent features
1.1. Long Term Support
This release is a Long Term Support release, which means that maintainers will provide bugfixes for this kernel revision for a much longer period of time than for other stable kernel releases.
1.2. Ext4 fast commit support, for faster metadata performance
Many applications use fsync(2) to ensure that data is reliably placed on disk. Such operation attempts to synchronize to the disk a few more metadata than expected. In this release, Ext4 will use a novel journaling technique, consisting in optimistically only journal the minimum required information through which a crash recovery operation can recover the metadata modified through an fsync operation. This speeds up fsync() and metadata heavy operations. This feature needs to be enabled at mkfs time.
Recommended LWN article: Fast commits for ext4
1.3. Support io_uring restrictions to facilitate secure sharing of rings
Since io_uring was introduced in Linux 5.1, it has seen widespread adoption. As usual, widespread adoption leads to new use cases, such as processes that might want share a ring with less trusted processes. This release adds a few API changes that add some restrictions and make possible for host application to grant access to some of its file descriptors and allow untrusted applications or guests to safely use io_uring.
Recommended LWN article: Operations restrictions for io_uring
1.4. Memory hints for other processes
Processes in Linux can use the madvise() system call to inform the kernel about their behaviour in order to get better performance. However, in some platforms (e.g., Android), the information required to make the hinting decision is not known to the process. Instead, it is known to a centralized userspace daemon(e.g., ActivityManagerService), and that daemon must be able to initiate memory reclaim on its own without any app involvement. To solve the concern, this patch introduces new syscall - process_madvise(2). Basically, it's same with madvise(2) syscall, except that it requires a pidfd of a target process, and for now it supports a more limited set of possible memory hints.
Recommended LWN article: process_madvise(), pidfd capabilities, and the revenge of the PIDs
1.5. Faster performance and memory consumption in virtio-fs
virtio-fs was added in Linux 5.4 as a solution to share parts of the host file systems with guest VMs in a high-performance, API-compatible way. In this release, virtio-fs adds supports for DAX, which allows bypassing guest page cache and allows mapping host page cache directly in guest address space. This can speed up things considerably in many situations. Also this can result in substantial memory savings as file data does not have to be copied in guest and it is directly accessed from host page cache.
1.6. AMD support for encryption of register in virtualized guests
Linux supports SEV since Linux 4.15. SEV is an AMD feature that encrypts the memory of virtualized guests, such that hosts can't access it unencrypted. This release enhances it by also encrypting the guest register state, making the registers inaccessible to the hypervisor by en-/decrypting them on world switches. Thus, it adds additional protection to Linux guests against exfiltration, control flow and rollback attacks. With SEV-ES, the guest is in full control of what registers the hypervisor can access.
1.7. Static calls for improved post-Spectre performance
Static calls are a replacement for global function pointers. They use code patching to allow direct calls to be used instead of indirect calls. They give the flexibility of function pointers, but with improved performance. This is especially important for cases where retpolines would otherwise be used, as retpolines can significantly impact performance. The new APIs are utilized in the x86 perf code, a heavy user of function pointers, where static calls speed up the PMU handler by 4.2%.
Recommended LWN article: Relief for retpoline pain
1.8. Support ARM Memory Tagging Extension
Memory Tagging Extension (part of the ARMv8.5 Extensions) provides a mechanism to detect the sources of memory related errors which may be vulnerable to exploitation, including bounds violations, use-after-free, use-after-return, use-out-of-scope and use before initialization errors.
Recommended LWN article: The Arm64 memory tagging extension in Linux
2. Core (various)
Add a nosymfollow mount option, disables symbolic link resolution in specified mounts commit
Support non-blocking pidfds. Passing a non-blocking pidfd to waitid() currently has no effect, i.e. is not supported. There are users which would like to use waitid() on pidfds that are O_NONBLOCK and mix it with pidfds that are blocking and both pass them to waitid(). Non-blocking pidfds will return EAGAIN from waitid() when no child process is ready yet commit, commit, commit, commit
fs: Prepare for upcoming Casefolding/Encryption commit, commit, commit, commit
- io_uring
(FEATURED) Add some restrictions to the operations (sqe opcode and flags, register opcode) to safely allow untrusted applications or guests to use io_uring queues commit, commit, commit
Add blkcg accounting to offloaded operations commit
Enable an application to wait on SQ ring consumption if using SQPOLL, instead of having to use busy polling for that part commit
lockdep: Support deadlock detection for recursive read locks commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
kcsan: adds support for enabling compounded read-write instrumentation commit, commit, commit, commit, commit, commit, commit, commit
printk: replace ringbuffer with a fully lockless ringbuffer implementation, including the support for continuous lines. It will allow to store and read messages in any situation wihtout the risk of deadlocks and without the need of temporary per-CPU buffers. Recommended LWN article commit, commit, commit, commit
- Locking
RCU: adds strict grace periods that are as short as is reasonably practical, for the use of KASAN commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
rseq/membarrier: add MEMBARRIER_CMD_PRIVATE_EXPEDITED_RSEQ. It issues an IPI to a CPU, restarting a potentially active RSEQ critical section on the CPU commit, commit, commit
seqlock: Introduce seqcount_latch_t. Latch sequence counters are a multiversion concurrency control mechanism where the embedded seqcount_t counter even/odd value is used to switch between two copies of protected data. This allows the sequence counter read side to be invoked from NMIs and safely interrupt its own write side critical section commit, commit, commit, commit, commit, commit, commit, commit
seqlock: Introduce PREEMPT_RT support commit, commit, commit, commit, commit
rcutorture: Add gdb support commit
lockdep: Support deadlock detection for recursive read locks commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Task scheduler: Improve fairness between cfs tasks commit, commit, commit, commit
(FEATURED) Add static_call(), which uses the idea of static_branch() applied to indirect function calls. Remove a data load (indirection) by modifying the text. The new APIs are utilized in the x86 perf code, a heavy user of function pointers, where static calls speed up the PMU handler by 4.2% commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
tools/bootconfig: Add boot-time tracing script commit, commit, commit, commit, commit, commit
ubsan: introduce CONFIG_UBSAN_LOCAL_BOUNDS for Clang commit
fonts: add font 6x8 for OLED display commit
Add backtrace_idle parameter to force backtrace of idle CPUs commit
FUSE: Auto-mounted submounts. virtiofsd just passes through the stat.st_ino value from the host to the guest, without taking stat.st_dev into account. Therefore, it is generally impossible to uniquely identify nodes in the guest by their st_dev/st_ino combinations. This release allows to pass through st_dev alongside st_ino: It lets the guest create auto-mounted submounts for every host mount point, so that they get their own dedicated st_dev. This is similar to what NFS does with the crossmnt option commit, commit, commit, commit, commit, commit
kunit: allow generating test results in JSON commit
3. File systems
- BTRFS
Performance improvements for fsync and rename/link commit, commit, commit
Switch Direct IO implementation to iomap infrastructure commit
Convert data reservations to the ticketing infrastructure that metadata uses commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Preparatory work to switch locking from custom tree locks to standard rwsem commit, commit, commit, commit, commit, commit, commit, commit
sysfs: export supported send stream version commit
- XFS
Store inode btree counts in the AGI to speed up certain mount time per-AG block reservation operations and add a little more metadata redundancy commit, commit, commit, commit, commit
Widen timestamps to deal with y2038 commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Deprecate the V4 format commit
- CIFS
- EXT4
- F2FS
- NFS
Add client support for the READ_PLUS operation, which breaks read requests into several "data" and "hole" segments when replying to the client commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
add server support for the READ_PLUS operation, which breaks read requests into several "data" and "hole" segments when replying to the client commit, commit, commit, commit, commit
NFSv4.2: Support EXCHGID4_FLAG_SUPP_FENCE_OPS flag, introduced in RFC 7862 commit
- OVERLAYFS
- QUOTA
Widen timestamps to handle quota grace expiration times beyond 2038 commit
- CEPH
- ZONEFS
4. Memory management
(FEATURED) Introduce memory hinting syscall, process_madvise(2), for external process commit, commit, commit
Remove assumptions of THP size commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
memcontrol: Implements memcg-based memory accounting of allocations made from an interrupt context commit, commit, commit, commit
memcontrol: add the missing numa_stat interface for cgroup v2 commit
HWPOISON: soft offline rework commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
IOMMU user API enhancement commit, commit, commit, commit, commit, commit
device-dax: support sub-dividing soft-reserved ranges commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
5. Tracing, perf and BPF
- BPF
BPF TCP header options commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Introduce minimal support for sleepable progs. Recommended LWN article commit, commit, commit, commit, commit
Add a kernel module with user mode driver that populates bpffs with two BPF iterators commit, commit, commit, commit
Add tcp_notsent_lowat bpf setsockopt commit
Introduce BPF_F_PRESERVE_ELEMS to perf event array for better sharing of perf event. By default, perf event array removes the perf event when the map fd used to add the event is closed. With BPF_F_PRESERVE_ELEMS set, however, the perf event will stay in the array until it is removed, or the map is closed commit, commit
BTF support for ksyms commit, commit, commit, commit, commit, commit
Add support attaching freplace BPF programs to multiple targets. This is needed to support incremental attachment of multiple XDP programs using the libxdp dispatcher model commit, commit, commit, commit, commit, commit, commit
Allow updating sockmap / sockhash from BPF commit, commit, commit, commit, commit, commit
Add two BPF helpers, that is, one for retrieving the classid of an skb and another one to redirect via the neigh subsystem commit, commit, commit, commit, commit, commit
Follow-up BPF helper improvements commit, commit, commit, commit, commit, commit
Generalizing bpf_local_storage to allow easy implementation of local storage for other objects, implement local storage for inodes and allow LSM to use storage commit, commit, commit, commit, commit, commit, commit
Implement link_query for bpf iterators commit, commit, commit
Add d_path helper function that returns full path for given 'struct path' object, which needs to be the kernel BTF 'path' object commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
- libpf
Add full support for BPF-to-BPF calls commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Implements logic to auto-adjust memory size (1-, 2-, 4-,8-bytes) of load/store (LD/ST/STX) instructions which have BPF CO-RE field offset relocation associated with it. In practice this means transparent handling of 32-bit kernels, both pointer and unsigned integer commit, commit, commit, commit
Support loading/storing any BTF endianness commit, commit, commit
Add support for type-based and enum value-based CO-RE relocations commit, commit, commit, commit, commit, commit, commit, commit, commit
Add perf_buffer APIs for better integration with outside epoll loop commit
Add BTF APIs to libbpf that allow to conveniently produce BTF types and strings commit, commit, commit
Allow storage of flexible metadata information for eBPF programs with the ntroduction of a new syscall flag, BPF_PROG_BIND_MAP, to add a map to a program's used_maps, even if the program instructions does not reference the map commit, commit, commit, commit, commit
- Tracing
boot: Start boot-time tracing in earlier stage commit, commit, commit, commit, commit, commit
boot: Add new options for tracing specific period, kretprobe and tracing_on option. The combination of these options allow to trace events during a specific function call period commit, commit, commit, commit, commit, commit, commit
Currently, only function trace can export trace packets to other destination, add support to event trace and trace_maker commit, commit, commit, commit, commit, commit
Add dynamic strings support for synthetic events commit, commit, commit, commit, commit, commit, commit
- perf
Enable AUX area tracing snapshots using a FIFO commit, commit, commit, commit, commit, commit, commit, commit
ftrace: Add filter support for option -F/--funcs commit
Support PE executable symbol tables using libbfd, to profile, for instance, wine binaries commit, commit, commit, commit
perf inject: Speed build-id injection commit, commit, commit, commit, commit, commit
Introduce branch history "streams", to compare 'perf record' runs with 'perf diff' based on branch records and report hot streams commit, commit, commit, commit, commit, commit, commit
c2c: Refine the organization of metrics commit, commit, commit, commit, commit, commit, commit, commit, commit
Add support for exclusive groups/events via the new ':e' event modifier commit
perf stat: Add --for-each-cgroup option to make it easy for that case. It will create NxM events from N events and M cgroups commit, commit, commit, commit, commit
6. Block layer
Allow IOPRIO_CLASS_RT for CAP_SYS_NICE commit
- blk-iocost
Improves iocost in three areas to make iocost internal operations more accurate and immediate with the goal of improving work conservation and distribution fairness, and removing dependence on vrate adjustments for masking work conservation issues. This improves overall control quality and allows regulating vrate more tightly for more consistent behavior as vrate now only needs to respond to device behavior changes commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Improve debt forgiveness logic commit, commit, commit, commit, commit
xen-blk(back|front): Let users disable persistent grants commit, commit, commit
scsi: Provide hostwide shared tags for SCSI HBAs commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
null_blk: add support for max open/active zone limit for zoned devices commit
md: raid10: Improve performance handling raid10 discard request commit, commit
7. Virtualization
Add support for Nitro Enclaves, a new Amazon Elastic Compute Cloud (EC2) capability that allows customers to carve out isolated compute environments within EC2 instances commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Pass zPCI hardware information via VFIO commit, commit, commit, commit, commit
VFIO support for FSL-MC device commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
vhost scsi: Add support for LUN resets commit
vdpasim: allow to set MAC address commit
Support virtio cross-device resources commit, commit, commit
(FEATURED) virtiofs: Adds DAX support. This allows bypassing guest page cache and allows mapping host page cache directly in guest address space. This can speed up things considerably in many situations. Also this can result in substantial memory savings as file data does not have to be copied in guest and it is directly accessed from host page cache commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
8. Cryptography
crypto: introduce OSCCA certificate and SM2 asymmetric algorithm commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Mark ecb(arc4) skcipher as obsolete commit, commit, commit, commit, commit, commit, commit
In an effort to improve the pseudo-random number generator used by the network subsystem (for things like port numbers and packet sequence numbers), Linux’s home-grown pRNG has been replaced by the SipHash round function, and perturbed by hard-to-predict internal kernel states commit, See this recommended LWN article commit, commit, commit
9. Security
integrity: Load MOK certificates from an EFI config table commit, commit, commit
selinux: add detailed tracepoint on audited events commit, commit
- integrity: improve user feedback for invalid bootparams
LSM: SafeSetID: Add set*git security policy commit
LSM: Introduce kernel_post_load_data() hook commit
selinux: move policy commit after updating selinuxfs commit
10. Networking
IP: Expose all exisiting inet sockopt bits through inet_diag for debug purpose commit
IP: ensure the route lookup is performed on the right routing table in VRF configurations commit, commit
icmp: randomize the global rate limiter to avoid leaking details of network state commit
IPv4: Allow more than 255 IPv4 multicast interfaces commit, commit, commit
TCP: Allow to reflect TOS value received in SYN, and send it out in SYN-ACK, and eventually set the TOS value of the established socket with this reflected TOS value. This provides a way to set the traffic class/QoS level for all traffic in the same connection to be the same as the incoming SYN. It could be useful for datacenters to provide equivalent QoS according to the incoming request. This feature is guarded by /proc/sys/net/ipv4/tcp_reflect_tos, and is by default turned off commit, commit, commit, commit
- Multi-Path TCP
MPTCP merge progresses with support concurrent transmission of data on multiple subflows in a load balancing scenario. Enhance advertising addresses via the RM_ADDR/ADD_ADDR options commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Include two enhancements for MPTCP path management, namely RM_ADDR support and ADD_ADDR echo support, as specified by RFC sections 3.4.1 and 3.4.2 commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
- Wireless (802.11)
Add support for FILS discovery transmission as per IEEE Std 802.11ai-2016 commit, commit
Unsolicited broadcast probe response tranmission is used for in-band discovery in 6GHz band (IEEE P802.11ax/D6.0 26.17.2.3.2, AP behavior for fast passive scanning) commit, commit
Add support for S1G association commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Add support for setting fixed HE rate/gi/ltf commit
Support 6 GHz scanning commit
Allow the user to configure below Spatial Reuse Parameter Set element: Non-SRG OBSS PD Max Offset, SRG BSS Color Bitmap, SRG Partial BSSID Bitmap commit
Add support for WPA/WPA2-PSK 4-way handshake and SAE offload in AP mode commit, commit, commit
- Netfilter
Add support for the inet ingress chain type in nf_tables commit, commit, commit, commit, commit
conntrack: add ct stats for clash resolution commit
ip6t_NPT: rewrite addresses in ICMPv6 original packet commit
Enable userdata for objects. Initially used to store comments, can be extended for other use cases in the future commit, commit
Add userdata attributes to nft_table commit
Implement fast bitwise expression commit
nft_socket: add wildcard support commit
Allow re-computing sctp CRC-32C in 'payload' statements commit
- Bluetooth
Add boot option to not create fall-back tunnels in root-ns as well commit
- bridge
mcast: IGMPv3/MLDv2 support commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, part 2 IGMPv3/MLDv2 fast-path commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
- can
- devlink
Introduce support for a new attribute to the flash update command which allows userspace to specify what set of subfields to overwrite when performing a flash update for a device commit, commit, commit, commit, commit
Add devlink reload action and limit options commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
devlink show controller number commit, commit, commit, commit, commit, commit
Introduce a health reporter for mlxsw that reports FW fatal events commit, commit, commit, commit, commit, commit, commit, commit
DSA with VLAN filtering and offloading masters commit, commit, commit, commit, commit, commit, commit, commit, commit
- ethtool
- genetlink
xfrm: Add 32 bit compat layer commit, commit, commit, commit, commit, commit, commit
netlink: Export the policy used for attribute validation when it fails, so e.g. for an out-of-range attribute userspace immediately gets the valid ranges back commit, commit
rxrpc: allow more simultaneous calls to be made to the same peer with the same security parameters commit, commit, commit
packet scheduler: Add the necessary TC actions for supporting layer 2 MPLS VPNs (VPLS) commit, commit
smc: introduce SMC-Dv2 support commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Tighten the definition of interface statistics commit
TIPC: Add more encryption features commit, commit, commit, commit
TLS: Implement getsockopt SOL_TLS TLS_RX. The primary usecase is to use it in conjunction with TCP_REPAIR to checkpoint/restore the TLS record layer state commit
xsk: adds support to share a umem between AF_XDP sockets bound to different queue ids on the same device or even between devices. It has already been possible to do this by registering the umem multiple times, but this wasted a lot of memory commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
ipvlan: advertise link netns via netlink commit
11. Architectures
11.1. ARM
Add support for Kontron sl28cpld commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Add support for driving the TPM on Socionext SynQuacer platform commit
iommu/arm-smmu-v3: permit users to disable msi polling commit, commit, commit
iommu: Shared Virtual Addressing for SMMUv3 (PT sharing part) commit, commit, commit, commit, commit, commit, commit, commit
Add genpd support to the PRM (Power and Reset Module) driver commit, commit, commit, commit, commit, commit
soc: Add TI PRUSS platform driver commit, commit, commit, commit, commit, commit, commit
coresight: etm4x: Add Support for HiSilicon ETM device commit
perf: Add Arm CMN-600 PMU driver commit
- ARM64
(FEATURED) Memory Tagging Extension user-space support commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Add support for PR_SPEC_DISABLE_NOEXEC prctl() option commit
Add Armv8.3 pointer authentication enhancements commit, commit, commit, commit
perf: Add general hardware LLC events for PMUv3 commit
- KVM
SoCs
- Devicetree updates
- Broadcom boards
- Actions Semi boards
- Allwinner SoCs/boards
- Amlogic boards
- Aspeed boards/platforms
Hisilicon SoC: SD5203 SoC commit
Nvidia boards: Tegra234 VDK, for pre-silicon Orin SoC commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
- NXP i.MX boards
- Rockchip boards
- STM32 boards
Toshiba SoCs/boards: Visconti SoC and TPMV7708 board commit, commit, commit, commit
qcom: sc7180-trogdor: add initial trogdor and lazor dt commit, commit
qcom: Add support for Xiaomi Poco F1 (Beryllium) commit
Renesas: Add HiHope RZ/G2H board with idk-1110wr display commit
Support for Qualcomm Robotics RB5 Platform based on QRB5165 SoC which is a derivative of SM8250 SoC customized for robotics application commit, commit, commit, commit, commit, commit
Support for latest new SoC, J7200, from Texas Instruments. The J7200 SoC is a part of the K3 Multicore SoC architecture platform commit, commit, commit, commit
am335x: add common dtsi for MOXA UC-8100 series commit
sun8i: s3l: add support for Pine64 PineCube IP camera commit, commit, commit, commit, commit, commit, commit
at91: Add GARDENA smart Gateway (Art. 19000) support commit
11.2. X86
(FEATURED) SEV-ES Guest Support commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Add emulation/spoofing of SLDT and STR for both 32- and 64-bit processes, needed for wine users commit
Initial support for sharing virtual addresses between the CPU and devices which doesn't need pinning of pages for DMA anymore. Add support for the command submission to devices using new x86 instructions like ENQCMD{,S} and MOVDIR64B. In addition, add support for process address space identifiers (PASIDs) which are referenced by those command submission instructions along with the handling of the PASID state on context switch as another extended state commit, commit, commit, commit, commit, commit, commit, commit, commit
Add support for Centaur Family >= 7 of CPUs commit
Add 'nohmat' option for debug, to workaround broken platform instances, or cases where it is otherwise not wanted commit
Allow multiple bits in clearcpuid= parameter commit
Add support for hardware-enforced cache coherency on AMD which obviates the need to flush cachelines before changing the PTE encryption bit commit, commit, commit
Use SERIALIZE in sync_core() when available commit
- platforms
chrome: cros_ec_typec: USB4 support commit
acer-wmi: add automatic keyboard background light toggle key as KEY_LIGHTS_TOGGLE commit
hp-wmi: add support for thermal policy commit
intel-vbtn: Support for tablet mode on HP Pavilion 13 x360 PC commit
intel_pmc_core: Add Intel RocketLake (RKL) support commit
thinkpad_acpi: add P1 gen3 second fan support commit
touchscreen_dmi: Add info for the Irbis TW118 tablet commit
touchscreen_dmi: Add info for the Predia Basic tablet commit
thinkpad: Add 4 new keycodes and use them for 4 new hotkeys on new Lenovo Thinkpads commit, commit, commit, commit
Add changes needed for new UV5 UV architecture commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
- perf
vendor events amd: Add recommended events commit
TopDown metrics support for Icelake commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
rapl: Add AMD Fam19h RAPL support commit
amd/uncore: Support user core/thread and slice specification commit, commit, commit, commit
Support PCIe3 uncore PMU on Snow Ridge commit, commit, commit, commit, commit, commit
msr: Add Jasper Lake support commit
intel: Add Jasper Lake support commit
events amd: Add ITLB Instruction Fetch Hits event for zen1 commit
events amd: Add L2 Prefetch events for zen1 commit
- intel_th
resctl: enumerate Memory Bandwidth Allocation (MBA) per-thread feature and introduces a new resctrl file "thread_throttle_mode". The file shows either "per-thread" on newer systems that implement the MBA per-thread feature or "max" on other systems that allocate maximum throttling per-core commit, commit
- KVM
Introduce a new implementation of much of the KVM MMU, optimized for running guests with Two Dimensional Paging commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Allow user space to restrict and augment MSR emulation commit, commit, commit, commit, commit, commit, commit, commit
Restrict PV features to only enabled guests commit, commit, commit, commit
Introduce TSX suspend load tracking feature and expose it to KVM CPUID for processors which support it. KVM reports this information and guests can make use of it commit, commit
Add the support for PCID/INVPCID on AMD guests commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
11.3. S390
Introduce Failure Injection feature commit
ap: Add support for SCLP AP adapter config/deconfig commit, commit, commit
zcrypt: Support for CCA APKA master keys commit
pkey: Support CCA and EP11 secure ECC private keys commit
Add sysfs file to show scheduled leap seconds commit
Allow configuration of TX queues for OSA devices commit
Implement ndo_bridge_getlink commit and ndo_bridge_setlink for learning_sync commit
Make ip_fast_csum() faster commit
Add NVMe firmware-assisted kernel dump support commit, commit, commit
Remove cad commandline option commit
Convert architecture code to GENERIC_VDSO commit
Add ARCH_HAS_DEBUG_WX support commit
Add HAVE_GET_KERNEL_NOFAULT support commit
11.4. POWERPC
Add coregroup support on Powerpc. Coregroup is a group of (subset of) cores of a DIE that share a resource commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
CVE-2020-4788: Speculation on incompletely validated data on IBM Power9 commit, commit, commit, commit, commit
powernv/idle: add a basic stop 0-3 driver for POWER10 commit
ptrace: new flag for detecting ISA v3.1 (Power10) watchpoint features commit
hv-gpci: Add sysfs files inside hv-gpci device to show cpumask commit
Add PAPR command family to pass-through command-set commit
Remove support for PowerPC 601 commit, commit, commit, commit, commit, commit, commit, commit
11.5. RISCV
11.6. MIPS
Add support for ZSTD-compressed kernels commit
Ingenic: Add system type for new Ingenic SoCs commit
Convert Ingenic to a generic board commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Loongson-3: Enable COP2 usage in kernel commit
octeon: Add Ubiquiti E200 and E220 boards commit
ralink: enable zboot support commit
Remove PNX833x alias NXP_STB22x commit
11.7. PARISC
Add qemu fw_cfg interface commit
11.8. IA64
Remove perfmon commit
11.9. ARC
11.10. UM
vector: Add dynamic tap interfaces and scripting (functionality roughly compatible with the existing qemu ifup scripting) commit
12. Drivers
12.1. Graphics
- amdgpu
Remove experimental flag from navi12 commit
Add device ID for sienna_cichlid commit
New ids flag for tmz commit
Add SI support to AMD DC commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
powerplay: Support for gpu metrics export commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
powerplay: add one sysfs file to support the feature to modify gfx clock on Raven/Raven2/Picasso APU commit
powerplay: fan boost enablement commit, commit, commit, commit
Implement power metrics commit and voltage metrics for RENOIR commit
Enable P2P dmabuf over XGMI commit
Implement PCI Error Recovery on Navi12 commit, commit, commit, commit, commit, commit, commit
Add DID for navi10 blockchain SKU commit
Add Green Sardine support commit, commit, commit, commit, commit, commit, commit
Add an auto setting to the noretry parameter commit
Add bad page count threshold in module parameter commit
Add debugfs interface for RAP test commit
Add debugfs node to toggle ras error cnt harvest commit
Add DSC force disable to dsc_clock_en debugfs entry commit
Add connector HPD trigger debugfs entry commit
Add debug param to force dio disable commit
Add debugfs for connector's FEC & DSC capabilities commit
Add debugfs for forcing stream timing sync commit
Enable DP YCbCr420 mode support for DCN10 commit
amdkfd: Show number of compute units that are in use in sysfs commit
Introduce a new parameter to configure how many KCQ we want commit
amdkfd: Add GPU reset SMI event commit
amdkfd: Add process eviction counters to sysfs commit
amdkfd: Add thermal throttling SMI event commit
amdkfd: SMI interface events ioctl update commit
- bridge:
Add Cadence MHDP8546 DisplayPort bridge driver commit, commit
dw-mipi-dsi.c: Add VPG runtime config through debugfs commit
lvds-codec: Add support for regulator commit
tc358762: Add basic driver for Toshiba TC358762 DSI-to-DPI bridge commit
TC358775 DSI/LVDS driver commit
cdns-mhdp8546: Add TI J721E wrapper commit
- i915
GEN 12 HOBL display powersaving commit
Introduce a mechanism to extend execbuf2 commit
syncobj timeline support commit
Rocket Lake display additions commit, commit, commit, commit, commit
Add support for HDCP 1.4 over MST commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
radeon: expose sclk via sysfscommit
- msm
imx: Add initial support for DCSS on iMX8MQ commit
mgag200: Add support for G200 desktop cards commit
mst: Add support for QUERY_STREAM_ENCRYPTION_STATUS MST sideband message commit
- panel
Add panel driver for the Mantix MLAF057WE51-X DSI panel commit
ilitek-ili9881c: add support for Feixin K101-IM2BYL02 panel commit
s6e63m0: Add DSI transport commit
simple: Add AM-1280800N3TZQW-T00H commit
simple: Add Chefree CH101OLHLWH-002 panel commit
simple: Add KD116N21-30NV-A010 commit
simple: Add Powertip PH800480T013 panel commit
sticon: Add user font support commit
- rcar-du
mxsfb: i.MX7 support commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
mxsfb: Support the alpha plane commit
- panfrost:
vc4: Support BCM2711 (and thus the RaspberryPi 4) Display Pipeline merge
virtio: report uuid in debugfs commit
backlight: Add Kinetic KTD253 backlight driver commit
fbdev: remove mbx framebuffer driver commit
Report dp downstream port type as a subconnector property commit
12.2. Storage
- ahci
- SCSI
arcmsr: Add support for ARC-1886 series RAID controllers commit
fc: Add 256GBit speed setting to SCSI FC transport commit
hisi_sas: Add BIST support for fixed code pattern commit and for phy FFE commit
hisi_sas: Add runtime PM support for v3 hw commit, commit, commit, commit, commit, commit, commit
qedi: Add support for handling PCIe errors commit
qla2xxx: Add SLER and PI control support commit
qla2xxx: Add rport fields in debugfs commit
scsi_debug: Implement lun_format commit
smartpqi: Add id support for SmartRAID 3152-8i commit
smartpqi: Support device deletion via sysfs commit
ufs-mediatek: Support performance mode for inline encryption engine commit
ufs-pci: Add LTR support for Intel controllers commit
nvmet: add passthru ZNS support commit
12.3. Drivers in the Staging area
hikey9xx: add build for the Kirin 970 PHY driver commit
mfd: add a PMIC driver for HiSilicon 6421 SPMI version commit
most: add character device interface driver commit
phy: Move phy-rockchip-dphy-rx0 out of staging commit
rtl8723bs: Add 024c:0627 to the list of SDIO device-ids commit
SPMI patches needed by Hikey 970 commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
media: Support for Tegra video capture from external sensor commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
media: staging: rkisp1: add support to V4L2_CAP_IO_MC commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
media: zoran: restore deprecated driver commit
media: usbvision: remove deprecated driver commit
12.4. Networking
- Bluetooth
- IB
- RDMA
- ag71xx
- ath10k
- ath11k
Add support spectral scan for IPQ6018 commit
Firmware and board file support for PCI devices commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Add ipq6018 support commit
qca6390: packet log support commit, commit, commit, commit, commit
Add raw mode and software crypto support commit
Initial PCI support commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
CE and HAL support for QCA6390 commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Support loading ELF board files commit
ath9k: add NL80211_EXT_FEATURE_CAN_REPLACE_PTK0 support commit
atlantic: phy tunables from mac driver commit, commit, commit
- bnxt_en
Add a software counter for RX ring reset commit
Implement ethtool set_fec_param() method commit
Report Active FEC encoding during link up commit
Report FEC settings to ethtool commit
Update firmware interface spec to 1.10.1.65 commit
Add basic infrastructure to support PAM4 link speeds commit, commit
brcmfmac: support SAE authentication offload in AP mode commit
caif: Remove unused caif SPI driver commit
- can
flexcan FD support commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
flexcan: add flexcan driver for i.MX8MP commit
mcp251x: add GPIO support commit
mcp251x: add support for half duplex controllers commit
mcp25xxfd: add driver for Microchip MCP25xxFD SPI CAN commit
pcan_usb: add support of rxerr/txerr counters commit
dp83869: Add ability to advertise Fiber connection commit
- dpaa2
- DSA
dsa: b53: Report VLAN table occupancy via devlink commit
dsa: mt7530: Add the support of MT7531 switch commit
mv88e6xxx: Add devlink regions commit, commit, commit, commit, commit, commit, commit, commit, commit
mv88e6xxx: Add per port devlink regions commit, commit, commit, commit, commit, commit, commit
rtl8366rb: Support setting MTU commit
sja1105: Devlink regions for SJA1105 DSA driver commit, commit, commit
e1000e: Add support for Meteor Lake commit
ena: ethtool: Add new device statistics commit
ena: ethtool: add stats printing to XDP queues commit
ena: xdp: add queue counters for xdp actions commit
ti: ale: add static configuration commit, commit, commit, commit, commit, commit, commit, commit, commit
gve: Add GVE Features commit, commit, commit, commit, commit, commit, commit, commit
- hinic
- hns3
Add support for querying device capabilities and specifications commit, commit, commit, commit, commit, commit, commit
Add UDP segmentation offload support commit
Add RoCE VF reset support commit
Add a hardware error detect type commit
Add debugfs of dumping pf interrupt resources commit
Add support for 200G device commit
debugfs add new command to query device specifications commit
dump tqp enable status in debugfs commit
ibmvnic: set up 200GBPS speed commit
- igc
- ionic
- iwlwifi
Support new ppag table command v2 commit
Add new card for MA family commit
Add new cards for AX201 family commit
Add new cards for MA family commit
Add dumping special device memory commit
Enable twt by default commit
Add support for new WOWLAN_TSC_RSC_PARAM version commit
Add support for new version of WOWLAN_TKIP_SETTING_API_S commit
Add support for range request command ver 11 commit
Add support for responder dynamic config command version 3 commit
Support GCMP ciphers commit
Support ADD_STA_CMD_API_S ver 12 commit
Support more GTK rekeying algorithms commit
Support new KEK KCK api commit
Support an additional Qu subsystem id commit
Updates in the ACPI code to support new tables and FW versions commit, commit, commit, commit, commit
Support new temperature measurement API commit
mac80211_hwsim: indicate support for S1G commit
macb: support the two tx descriptors on at91rm9200 commit
marvell: prestera: Add Switchdev driver for Prestera family ASIC device 98DX3255 (AC3x) commit, commit, commit, commit, commit, commit
mdio-ipq4019: add Clause 45 support commit
- mlxsw
Expose critical and emergency module alarms commit, commit, commit
Expose transceiver overheat counter commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Add support for Multi packet tx descriptors for SKBs commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Connection Tracking in NIC mode commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Add xfrm IPSec TX offload support commit, commit, commit, commit
Add support for tc trap commit
Add IPv6 traffic class (DSCP) header rewrite support commit
Add CQE compression support for multi-strides packets commit
Support for Flow source hint in software steering and E-Switch commit, commit
Enable use of vport meta data by default commit, commit, commit, commit
- mscc
mscc_ocelot: HW support for VCAP IS1 and ES0 commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Offload tc-flower to mscc_ocelot switch using VCAP chains commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
- mt76: mt7915
- mvpp2
nfp: flower: add support to offload QinQ match commit
- octeontx2-af
netdevsim: Add debugfs toggle to reject BPF programs in verifier commit
pcs-lynx: add support for 10GBASER commit
- phy
qed: introduce devlink health support commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
qmi_wwan: add Telit LE910Cx 0x1230 composition commit
- rtw88
- sfc
smc: introduce System Enterprise ID (SEID) commit
smsc95xx: add phylib support commit
- stmmac
systemport: Manage Wake-on-LAN clock commit
wcn36xx: Add basic support for wcn3680 up to MCS7/40MHz commit, commit, commit, commit, commit, commit, commit, commit, commit
12.5. Audio
- soundwire
intel: add multi-link support commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
intel: add power management support commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
qcom: add support for mmio soundwire master commit, commit, commit, commit
sysfs: add slave status and device number before probe commit
- hda
Add Alderlake-S PCI ID and HDMI codec vid commit
realtek: Add supported mute Led for HP commit
realtek: Add supported for Lenovo ThinkPad Headset Button commit
realtek: Enable headphone for ASUS TM420 commit
realtek: Add mute Led support for HP Elitebook 845 G7 commit
ca0132: Add full-range speaker selection controls commit
ca0132: Add output selection for SoundBlaster AE-7 commit
realtek: Add new codec supported for ALC897 commit
Add Intel DG1 PCI and HDMI ids commit
ca0132: Add AE-7 support commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
- ASoC
Intel: Catpt - Lynx and Wildcat point commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Intel: KMB: Enable TDM audio capture commit
Intel: Remove obsolete solutions and components commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Intel: add support for new SoundWire hardware layout on TGL commit
Intel: soc-acpi: add support for SDCA boards commit
Intel: soc-acpi: cnl: add support for rt5682 on SoundWire link2 commit
Intel: sof-soundwire: add support for rt5682 on link2 commit
Intel: Soundwire integration commit
SOF: Intel: Add support for tgl-h commit
SOF: imx: Add debug support for imx platforms commit
SOF: support topology components on secondary cores commit
ak4458: Add DSD support for ak4458 and ak4497 commit
ak4458: Add regulator support commit
ak5558: Add regulator support commit
codec: tlv3204: Enable 24 bit audio support commit
codec: tlv3204: Increased maximum supported channels commit
cs4234: Add support for Cirrus Logic CS4234 codec commit
fsl-asoc-card: add support for TLV320AIC32x4 codec commit
hdac_hdmi: support 'ELD' mixer commit
intel: sof_sdw: add rt711 rt1316 rt714 SDCA codec support commit
mchp-spdifrx: Add driver for Microchip S/PDIF RX commit
mchp-spdiftx: add driver for S/PDIF TX Controller commit
mediatek: mt6359: add codec driver commit
mediatek: mt8183-da7219: support machine driver with rt1015p commit
q6afe-clocks: add q6afe clock controller commit
qdsp6: add gapless compressed audio support commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
q6dsp: q6afe: add support to Codec DMA ports commit
q6dsp: q6routing: add support to Codec DMA ports commit
qcom: Add support for lpass hdmi driver commit
qcom: lpass-sc7180: Add platform driver for lpass audio commit
qcom: sc7180: Add support for audio over DP commit
rt1015: add delay to fix pop noise from speaker commit
rt1015p: add codec driver commit
sun50i-codec-analog: Cleanup and power management commit, commit, commit, commit, commit, commit, commit, commit
tas2562: Add the TAS2110 class-D amplifier commit
tas2562: Add the TAS2564 compatible commit
tas2764: Add the driver for the TAS2764 commit
ti: j721e-evm: Add support for j7200-cpb audio commit
tlv320adcx140: Add digital mic channel enable routing commit
tlv320adcx140: Add support for configuring GPIO pin commit
wm8962: Export DAC/ADC monomix switches commit
usb-audio: Add mixer support for Pioneer DJ DJM-250MK2 commit
SoC: Intel: sof_sdw: Add support for product Ripto commit
12.6. Tablets, touch screens, keyboards, mouses
Add zinitix touchscreen driver commit
joystick: add ADC attached joystick driver commit
logitech-hidpp: Add PID for MX Anywhere 2 commit
soc_button_array - add support for INT33D3 tablet-mode switch devices commit
synaptics: enable InterTouch for ThinkPad P1/X1E gen 2 commit
synaptics: enable InterTouch for ThinkPad T14 Gen 1 commit
synaptics-rmi4: add support for F3A commit
synaptics-rmi4: support bootloader v8 in f34v7 commit
xpad: support Ardwiino Controllers commit
soc_button_array: add Lenovo Yoga Tablet2 1051L to the dmi_use_low_level_irq list commit
- HID
uclogic: Add ID for Trust Flex Design Tablet commit
Add support for Sega Saturn commit
cypress: Support Varmilo Keyboards' media hotkeys commit
apple: Add support for Matias wireless keyboard commit
ite: Add USB id match for Acer One S1003 keyboard dock commit
multitouch: Lenovo X1 Tablet Gen2 trackpoint and buttons commit
multitouch: Lenovo X1 Tablet Gen3 trackpoint and buttons commit
Add vivaldi HID driver commit
12.7. TV tuners, webcams, video capturers
v4l2-ctrl: Add VP9 codec levels commit
Add new controls for CQ and Frame-skip commit, commit, commit, commit, commit, commit
Add support for colorspace conversion API (CSC) for video capture and subdevices commit, commit, commit, commit, commit, commit
Implements support for the MyGica iGrabber commit
camss: extend VIDIOC_ENUM_* ioctls support commit, commit, commit
exynos4-is: Add support for multiple sensors on one port commit
i2c: ov5640: Add support for BT656 mode commit
ice: add the DDP Track ID to devlink info commit
mtk-vcodec: venc: support for MT8183 commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
ov8856: Add support for 1632x1224 mode commit and 3264x2448 mode commit
Add support for mt2701 JPEG ENC support commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
rc: gpio-ir-recv: add QoS support for cpuidle system commit
rcar-{csi2,vin}: Extend RAW8 support to all RGB layouts commit, commit
rcar-csi2: Enable support for R8A774E1 commit
rcar-vin: Enable support for R8A774E1 commit
- venus
- vidtv
12.8. Universal Serial Bus (USB) and Thunderbolt
- Thunderbolt
dwc-meson-g12a: Add support for USB on AXG SoCs commit
dwc2: add support for APM82181 USB OTG commit
dwc3: pci: add support for the Intel Alder Lake-S commit
dwc3: qcom: Add interconnect support in dwc3 driver commit
dwc3: simple: add support for Hikey 970 commit
- serial
ftdi_sio: add support for FreeCalypso JTAG+UART adapters commit
option: Add Telit FT980-KS composition commit
option: add Cellient MPL200 card commit
option: add LE910Cx compositions 0x1203, 0x1230, 0x1231 commit
option: add Quectel EC200T module support commit
option: add Telit FN980 composition 0x1055 commit
pl2303: add device-id for HP GC device commit
option: add Fibocom NL668 variants commit
option: add support for Thales Cinterion EXS82 commit
serial: ch341: add new Product ID for CH341A commit
Introduce PMIC based USB type C detection commit
TCPM support for FRS and AutoDischarge Disconnect commit, commit, commit, commit, commit, commit, commit
typec: add support for STUSB160x Type-C controller family commit
typec: intel_pmc_mux: Support for device role (UFP) commit
typec: mt6360: Add support for mt6360 Type-C driver commit
Raspberry Pi 4 USB firmware initialization rework commit, commit, commit, commit, commit, commit, commit, commit, commit
xhci: add debugfs support for ep with stream commit
12.9. Serial Peripheral Interface (SPI)
dw: Add full Baikal-T1 SPI Controllers support commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
dw: Add KeemBay Master capability commit
dw: Add Microchip Sparx5 support commit
spi-mtk-nor: Add power management support commit
12.10. Watchdog
Add Toshiba Visconti watchdog driver commit
Add support for sl28cpld watchdog commit
it87_wdt: add IT8772 ID commit
it87_wdt: add IT8784 ID commit
renesas_wdt: support handover from bootloader commit
12.11. Serial
12.12. CPU Frequency scaling
Prevent "ondemand" and "conservative" from being configured as the default cpufreq governor in the case when schedutil is the default choice for the default governor setting. commit
sti-cpufreq: add stih418 support commit
qcom-hw: Add cpufreq support for SM8250 SoC commit
12.13. Voltage, current regulators, power capping, power supply
power: supply: Add support for RN5T618/RC5T619 charger and fuel gauge commit
power: supply: gpio-charger: add charge-current-limit feature commit
power: supply: bq27xxx: add support for TI bq34z100 commit
power: supply: smb347-charger: Support SMB345 and SMB358 commit
power: supply: max17040: Support compatible devices commit
power: supply: max17040: Support soc alert commit
power: supply: max17040: Support setting rcomp commit
power: supply: bq25980: Add support for the BQ259xx family commit
power: reset: ocelot: Add support for Sparx5 commit
regulator: mt6360: Add support for MT6360 regulator commit
regulator: qcom_spmi: Add PM660/PM660L regulators commit
regulator: qcom_smd: Add PM660/PM660L regulator support commit
regulator: Support ROHM BD9576MUF and BD9573MUF commit
regulator: qcom_smd: add pm8953 regulators commit
regulator: rt4801: Add support for RT4801 Display Bias regulator driver commit
regulator: rpi-panel: Add regulator/backlight driver for RPi panel commit
regulator: rtmv20: Adds support for Richtek RTMV20 load switch regulator commit
12.14. Real Time Clock (RTC)
ds1307: enable rx8130's backup battery, make it chargeable optionally commit
rv3032: Add a driver for Microcrystal RV-3032 commit
12.15. Pin Controllers (pinctrl)
Ingenic: Add support for SSI and I2S pins commit, commit, commit
actions: Add Actions S500 pinctrl driver commit
mediatek: Add MT8167 Pinctrl driver commit
mediatek: Add pinctrl driver for mt8192 commit
qcom: Add msm8226 pinctrl driver commit
sunxi: add support for the Allwinner A100 pin controller commit
visconti: Add Toshiba Visconti SoCs pinctrl support commit
12.16. Multi Media Card (MMC)
sdhci-iproc: Enable eMMC DDR 3.3V support for bcm2711 commit
sdhci-of-sparx5: Add Sparx5 SoC eMMC driver commit
sdhci-pci-gli: Add CQHCI Support for GL9763E commit
sdhci: Add LTR support for some Intel BYT based controllers commit
sdhci_am654: Add support for input tap delay commit
sdhci_am654: Add support for software tuning commit
12.17. Memory Technology Devices (MTD)
nand: Introduce the ECC engine framework commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
hyperbus: add Renesas RPC-IF driver commit
physmap: Add Baikal-T1 physically mapped ROM support commit
spi-nor: intel-spi: Add support for Intel Alder Lake-S SPI serial flash commit
spi-nor: macronix: Add SECT_4K to mx25l12805d commit
spi-nor: winbond: Add support for w25q64jwm commit
spinand: gigadevice: Add support for GD5F4GQ4xC commit
spinand: macronix: Add support for MX31LF1GE4BC commit and for MX31UF1GE4BC commit
12.18. Industrial I/O (iio)
accel: adxl372: Add support for FIFO peak mode commit
accel: kxcjk1013: Add support for KIOX010A ACPI DSM for setting tablet-mode commit
adc: ad9467: add support for AD9265 high-speed ADC commit and AD9434 high-speed ADC commit
chemical: atlas-ezo-sensor: add humidity sensor support commit and for O2 sensor commit
gyro: Add driver support for ADXRS290 commit
gyro: adxrs290: Add triggered buffer support commit and debugfs register access support commit
humidity: Add TI HDC20x0 support commit
light: as73211: New driver commit
mlx90632: Adding extended calibration option commit
12.19. Multi Function Devices (MFD)
Add simple regmap based I2C driver commit
Add ACPI support to Kontron PLD driver commit
ene-kb3930: Add driver for ENE KB3930 Embedded Controller commit
intel-lpss: Add device IDs for UART ports for Lakefield commit
intel-m10-bmc: Add Intel MAX 10 BMC chip support for Intel FPGA PAC commit
lp87565: Add LP87524-Q1 variant commit
simple-mfd-i2c: Add sl28cpld support commit
12.20. Pulse-Width Modulation (PWM)
Add support for sl28cpld PWM controller commit
12.21. Inter-Integrated Circuit (I2C + I3C)
Add slave testunit driver commit
i801: Add support for Intel Alder Lake PCH-S commit
ismt: Add support for Intel Emmitsburg PCH commit
mlxbf: I2C SMBus driver for Mellanox BlueField SoC commit
rcar: add HostNotify support commit
stm32f7: Add SMBus Host-Notify protocol support commit
12.22. Hardware monitoring (hwmon)
Extending hwmon ABI with attributes for rated values commit, commit
Expose PEC debugfs attribute commit
- pmbus
Add support for the sl28cpld hardware monitoring controller commit
k10temp: Add support for Zen3 CPUs commit
lm75: Add regulator support commit
Add hwmon driver for Intel MAX 10 BMC commit
Add hardware monitoring driver for Moortec MR75203 PVT controller commit
gsc-hwmon: add fan sensor commit
12.23. General Purpose I/O (gpio)
Implement a new version of the GPIO CDEV uAPI to address existing 32/64-bit alignment issues, add support for debounce, event sequence numbers, and allow for requested lines with different configurations commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Add support for the sl28cpld GPIO controller commit
pca953x: Add support for the NXP PCAL9554B/C commit
12.24. Leds
Add driver for Acer Iconia Tab A500 commit
lp50xx: Add the LP50XX family of the RGB LED driver commit
pca955x: Add an IBM software implementation of the PCA9552 chip commit
12.25. DMA engines
xilinx: dpdma: Add debugfs support commit
idxd: add support for configurable max wq batch size commit and max wq xfer size commit
idxd: add command status to idxd sysfs attribute commit
12.26. Hardware Random Number Generator (hwrng)
ingenic: Add hardware TRNG for Ingenic X1830 commit
xiphera-trng: add support for XIP8001B hwrng commit
12.27. Cryptography hardware acceleration
caam: xts(aes): Add ability to process XTS with 16B IV in HW commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
inside-secure: Add support for EIP197 with output classifier commit
allwinner: add xRNG and hashes commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
n2: remove ecb(arc4) support commit
bcm-iproc: remove ecb(arc4) support commit
12.28. PCI
Add Kconfig options for MPS/MRRS strategy commit
brcmstb: Add bcm7278 PERST# support commit
hip: Add handling of HiSilicon HIP PCIe controller errors commit
layerscape: Add EP mode support for ls1088a and ls2088a commit
12.29. FRU Support Interface (FSI)
aspeed: Support cabled FSI commit
aspeed: Support CFAM reset GPIO commit
aspeed: Add module param for bus divisor commit
12.30. Clock
axi-clkgen: Add support for fractional dividers commit
imx: imx21: Remove clock driver commit
mediatek: Add MT8167 clock support commit
meson: add sclk-ws driver commit
qcom: Add SM8150 and SM8250 videocc drivers commit, commit, commit, commit, commit
qcom: Add display clock controller driver for SM8150 and SM8250 commit
renesas: cpg-mssr: Add support for R-Car V3U commit
sp804: Add support for Hisilicon sp804 timer commit
sunxi-ng: add support for the Allwinner A100 CCU commit
12.31. PHY ("physical layer" framework)
Add USB3 PHY support for Intel LGM SoC commit
Add support for multilink configurations in Cadence Torrent PHY driver commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
freescale: imx8mq-usb: add support for imx8mp usb phy commit
intel: Add Keem Bay eMMC PHY support commit
Support qcom USB3+DP combo phy (or type-c phy) commit, commit, commit, commit, commit, commit, commit, commit
socionext: Add UniPhier AHCI PHY driver support commit
12.32. EDAC (Error Detection And Correction)
al-mc-edac: Add Amazon's Annapurna Labs Memory Controller driver commit
12.33. Various
bus/fsl-mc: Extend mc-bus driver functionalities in preparation for mc-bus VFIO support commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
mhi: core: Introduce counters to track MHI device state transitions commit
mhi: core: Introduce debugfs entries for MHI commit
dt-bindings: reset: Updated binding for Versal reset driver commit
eeprom: at24: Add support for the Sony VAIO EEPROMs commit
- habanalabs
interconnect: Add interconnect sync state support commit, commit, commit
Add SM8150 and SM8250 interconnect drivers commit, commit, commit, commit, commit
interconnect: Add L3 provider support for SM8150/SM8250 commit, commit, commit, commit, commit, commit, commit
irq: dw-apb-ictl: Add primary interrupt controller support commit
irq: irq-mst: Add MStar interrupt controller support commit
irq: Add TI PRUSS Local Interrupt Controller IRQChip driver commit, commit, commit, commit, commit
irq: Add Actions Semi Owl family sirq support commit
mailbox: arm_mhu: Add ARM MHU doorbell driver commit
misc: fastrpc: add ioctl for attaching to sensors pd commit
misc: hisi_hikey_usb: add support for Hikey 970 commit, commit, commit
misc: mic: remove the MIC drivers commit
Add support for PCIe EP nodes to Renesas r8a774a1, r8a774b1 and r8a774c0 SoC's commit
Add PCIe EP to RZ/G2H commit
dwc: Add the multiple PF support for DWC and Layerscape commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
ptp_qoriq: support FIPER3 commit
regmap: add Intel SPI Slave to AVMM Bus Bridge support commit
- remoteproc
reset: reset-zynqmp: Added support for Versal platform commit
rpmsg: glink: Add support for rpmsg glink chrdev commit
w1_therm: Add sysfs entries to control conversion time and driver features commit
w1_therm: Add support for GXCAS GX20MH01 device commit
13. List of Pull Requests
14. Other news sites
Phoronix 5.10 feature overview