Size: 72721
Comment: generic dispatch queue & mutex api article for 2.6.16
|
Size: 881
Comment:
|
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.15 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.17 ==== * Still not released, see [#development below] ==== Latest stable release: 2.6.16 ==== * Released 20 March, 2006 [http://www.kernel.org/pub/linux/kernel/v2.6/ChangeLog-2.6.16 (full changelog)] * [http://72.14.207.104/search?q=cache:IT1X2f-H0yUJ:wiki.kernelnewbies.org/LinuxChanges+&hl=en&ct=clnk&cd=1 Google cache of this page] * Overview (useful for headlines): * OCFS2 (http://lwn.net/Articles/137278/, http://oss.oracle.com/projects/ocfs2/), a clustering filesystem contributed by Oracle (there's [http://sources.redhat.com/cluster/gfs/ GFS] from Red Hat who bought it from Sistina Software, shipped out-of-the-tree for now) * new unshare() ( http://lwn.net/Articles/135321/), pselect()/ppoll() and *at() system calls (http://lwn.net/Articles/164887/) * support the moving of the physical location of pages between nodes in NUMA systems * support for the Cell processor * cpufreq support for G5s plus thermal control for dualcore G5s * improved power management support for many devices and subsystems (libata, alsa...) * mutex locking primitive * high-resolution timers (http://lwn.net/Articles/167897) * per-mountpoint noatime/nodiratime * 64-to-32-bit ioctl compatibilty for the v4l2 subsystem * IPv6 support for DCCP * New TIPC protocol (Transparent Inter Process Communication, http://tipc.sourceforge.net/) used for intra-clustering communication * ACL support for CIFS filesystem * HFSX filesystem support * new configfs filesystem (which complements sysfs, not replaces it) * support for running executables from v9fs (plan9 9P distributed filesystem) * support for many new devices, improved support and features for others and lots of other changes. * '''Kernel Core changes''' * New features/frameworks * *at syscalls: 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 hack is rather expensive, and other operative systems like OpenSolaris [http://docs.sun.com/app/docs/doc/816-0212/6m6nd4nc7?a=view already have some of them]. In the GNU world, 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 pselect/ppoll system call implementation [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=9f72949f679df06021c9e43886c9191494fdb007 (commit)]. * Add unshare() system call. The linux kernel implements threads in a very simple and lightweight, handling them just as normal processes which happen to share resource with other threads (just like Windows and Solaris in recent Solaris versions). The clone() system call already allows to create new processes which can share different attributes (file descriptors, filesystem information, filesystem namespace, signal handlers, address space...). The unshare() system call adds a primitive to the Linux thread model that allows threads to selectively 'unshare' any resources that were being shared at the time of their creation. unshare() was [http://marc.theaimsgroup.com/?l=linux-kernel&m=96753366711611&w=2 conceptualized by Alexander Viro] in August of 2000. unshare() augments the usefulness of Linux threads for applications that would like to control shared resources without creating a new process. unshare() is a natural addition to the set of available primitives on Linux that implement the concept of process/thread as a virtual machine. For more info check the [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=blob;f=Documentation/unshare.txt Documentation]. [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=cf2e340f4249b781b3d2beb41e891d08581f0e10 (commit)], implementation for unsharing file descriptors [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a016f3389c06606dd80e687942ff3c71d41823c4 (commit)], vm structure (disabled in this release by default) [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a0a7ec308f1be5957b20a1a535d21f683dfd83f0 (commit)], filesystem namespace [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=741a295130606143edbf9fc740f633dbc1e6225f (commit)], filesystem info [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=99d1419d96d7df9cfa56bc977810be831bd5ef64 (commit)]. [http://lwn.net/Articles/135321/ (LWN article)] * 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://lwn.net/Articles/167034/ (LWN article explaining the API)] [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=6053ee3b32e3437e8c1e72687850f436e779bd49 (commit)] * High resolution timers ([http://lwn.net/Articles/167897 LWN article explaining the API)]. 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, through swap. 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. Swap migration works by simply evicting the page, the pages must be faulted back in. The pages are then typically reallocated by the system near the node where the process is executing. 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)]. Also, add "direct migration" support on top of the swap based page migration facility: This allows the direct migration of anonymous pages and the migration of file backed pages by dropping the associated buffers (requires writeout) and fall back to swap if necessary [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a48d07afdf18212de22b959715b16793c5a6e57a (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)] * 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)] * Tweaks 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)] * Implement a generic dispatch queue for all the I/O schedulers [http://lwn.net/Articles/157208/ (LWN article)] [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=8922e16cf6269e668123acb1ae1fdc62b7a3a4fc (commit)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b4878f245ec8e168cdd1f170f823a750b7dd4af5 (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 changes 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)] * Export cpu topology in sysfs, /sys/devices/system/cpu/cpuX/topology/*, for more details see the commit [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=69dcc99199fe29b0a29471a3488d39d9d33b25fc (commit)] * Suspend/Resume support for AMD64 GART [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=90be4b49b8b54505772a6a766ac0891ec92b4c2d (commit)], ATI [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=5dda4986752b531d89d49c218682e42c63ef1d61 (commit)] and Intel 945GM [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=3b0e8eadc511eaceba6d6b8d0743359a34ee23c6 (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)] * Adds the Intel ICH8 IDs [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b6ebb2659065b6e03605e7f0c69449bda382261a (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)] * Thermal control for dual core G5s ([http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=ac171c46667c1cb2ee9e22312291df6ed78e1b6e (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)] * 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)] * SB1: Oprofile support [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=c03bc121212ecb36120b118a94c1b91a2e07b7b2 (commit)] * Add support for the built-in parallel port on SGI O2 (aka IP32) [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=8e75f744289f0a1c38b669e39a489af460640881 (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)] * SH: * kexec() support [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=9d44190eae97ad4c9ce30f1084e1b0dabd646df5 (commit)] * Add support for the hp680 backlight, as found in the hp6xx series of sh devices [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=06c6f90032e39d33d02ab20f32e3f3cd87f58d28 (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)] * 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)] * '''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)] * NTFS: Implement support for sector sizes above 512 bytes (up to the maximum supported by NTFS which is 4096 bytes) [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=78af34f03d33d2ba179c9d35685860170b94a285 (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://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''' * DRM: * Add i945GM PCI ID [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=5457f38e01ae2d296ff49db42254679018f13fa9 (commit)] * Add X600 PCI ID [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=2fed3bd7436e8988980989493c16b4983be1a800 (commit)] * 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)] * Add JMicron JMB360 support [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=bd12097c7415c13aff53aed473eec92acd15712a (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)] * piix: add Intel ICH8M device IDs [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b7bed9ec44cb282425f56033e5fb5448086cd758 (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)] * Driver for beeper found in Linksys NSLU2 boxes. It should work on any ixp4xx based platforms [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=01387959022def72f95f4bc1341aa69e32a06b30 (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)] * Add support for CA-42 clone cable (www.ca-42.com) [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=838b42814c640ddcc378ba29cd31ffd64fb36bc5 (commit)] * usb-storage support for SONY DSC-T5 still camera [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=ec7dc8d254985dc4a31858c2c7c7029290e223dd (commit)] and Rio Karma [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=abb02fdf83f981f2511b3772db6e106845c70ad9 (commit)] * ftdi: Two new ATIK based USB astronomical CCD cameras, ATIK-ATK16C and ATIK-ATK16HRC. These devices are also USB Astronomical CCD cameras that work through an FTDI 245BM chip, share the same base hardware but, it has a colour CCD chip instead of a grayscale one [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=09c280a24650ff74e713742e94120fdf7765cda8 (commit)] * ftdi_sio: Support two POS printers made by Westrex International (Model 777 and Model 8900F) [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a94b52ac84828e193d18c96c1334c9997b524a35 (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 Network Manager 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)] * via82xx: add dxs entry for P4m800/VIA8237R [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=802c00f2f3700423df06a1149c23cd60dd59159c (commit)] * hda-codec: Add support for the Sigmatel STAC927x HDA codec family [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=3cc08dc6ea677ed4e843120aa070e145b6781a4b (commit)] * hda-codec: Add Sigmatel HDA support for the Intel D975XBK motherboard [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=d62c40e04cfcec3cef8093bd79d72fe86c8f2195 (commit)] * hda-codec: Add support for Agere's variant of Si3054/5 based HDA modem [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e061bf1aa3af8a3f2ae7e1b5f8a110eae7936615 (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)] * Add support for Galaxis DVB-S rev1.3 [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=9ead9bd1079b4b7ba45589f6495e79ec50237aed (commit)] * Add standard for South Korean NTSC-M using A2 audio, South Korea uses NTSC-M but with A2 audio instead of BTSC [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=0dfd812d4b2afc797310943b451608d347854e76 (commit)] * Add IR support to KWorld DVB-T (cx22702-based) [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a77a922fcc56fe44fd8f65c041a52ff48474fafe (commit)] * Add support to ET61X151 and ET61X251 PC Camera Controllers made by Etoms Electronics [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=7ce08c93e388922e25a96a7d9895784182e4c72c (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)] * Add f71805f hwmon driver [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e53004e20a58e9d28347e02adccb37a33e0d771a (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] [[Anchor(development)]] ==== 2.6.17 ==== * /!\ '''STILL NOT RELEASED!''' /!\ * Architectures * Sparc: Niagara support [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=c4a1745aa09fc110afdefea0e5d025043e348bae (commit)] 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_4.15)>> |
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 4.15 has been released on 28 Jan 2018.
Summary: Besides the latest code to deal with Meltdown/Spectre, this release includes modesetting and advanced display features for the amdgpu driver; improved power management support of systems with SATA Aggressive Link Power Management; a port for the open RISC-V CPUs; initial support for virtualized memory encryption in AMD CPUs; support for the Intel User Mode Instruction Prevention feature; support of the CPU controller in cgroups v2; a new mmap(2) flag to allow direct writes to persistent memory managed by filesystems; and many new drivers and other improvements.
Contents
-
Coolest features
- Meltdown/Spectre
- Modesetting and much better display support in the AMD amdgpu driver
- Improved power management in systems with SATA Link Power Management
- New architecture: RISC-V
- Support for AMD Secure Encrypted Virtualization
- Support the User-Mode Instruction Prevention Intel Security feature
- Better CPU usage restrictions with the CPU resource controller for cgroupv2
- New MAP_SYNC mmap(2) flag to allow direct writes to persistent memory managed by filesystems
- Core
- File systems
- Memory management
- Block layer
- Tracing and perf
- 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)
- Serial Peripheral Interface (SPI)
- Serial
- ACPI, EFI, cpufreq, thermal, Power Management
- Real Time Clock (RTC)
- Voltage, current regulators, power capping, power supply
- 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)
- Hardware monitoring (hwmon)
- General Purpose I/O (gpio)
- Leds
- DMA engines
- Hardware Random Number Generator (hwrng)
- Cryptography hardware acceleration
- PCI
- Non-Transparent Bridge (NTB)
- Clock
- Various
- List of merges
- Other news sites
1. Coolest features
1.1. Meltdown/Spectre
This release contains the latest code to deal with Meltdown/Spectre, a security problem you probably have never heard of. Page Table Isolation to address Meltdown is supported for x86/Intel CPUs (it can be disabled with the pti=off kernel boot option); there is also the retpoline mechanism to mitigate spectre v2 (which affects both Intel and AMD), it requires a GCC version supporting the -mindirect-branch=thunk-extern functionality and it can be turned off with boot option spectre_v2=off (if you don't have such compiler, there will be a minimal retpoline mitigation that only exists in the kernel code written in assembly) The PowerPC architecture is also affected by Meltdown on many CPU models, and can prevent those attacks with a "RFI flush of L1-D cache" feature included in this release. ARM is also affected by meltdown, but patches for it are not included in this release. Spectre v1 is not addressed in this version.
A /sys/devices/system/cpu/vulnerabilities/ directory has been added that will show the vulnerabilities affecting your CPU and the mitigations being currently applied.
Code: PTI merge, commit, commit, commit, merge; retpoline commit, commit; powerpc RFI flush commit, commit, commit, commit
1.2. Modesetting and much better display support in the AMD amdgpu driver
This release finally includes the "display code" (132k LoC) that has been missing for a long time from the amdgpu driver - a new driver that AMD made for modern graphics hardware. It provides atomic modesetting support for DCE8 (CIK), DCE10 (Tonga, Fiji), DCE11 (CZ, ST, Polaris), DCE12 (vega10), and DCN1 (RV) including HDMI and DP audio, DP MST, and many other advanced display features. This display code has been enabled by default for Vega10 and Raven; pre-vega10 parts can be enabled via module parameter (amdgpu.dc=1), but are not enabled by default in this release because of stability concerns.
Code: merge
1.3. Improved power management in systems with SATA Link Power Management
For many, many years, there has been a problem with Linux and modern systems that have ALPM (Aggressive Link Power Management) in their SATA AHCI controllers (eg. Haswell, Broadwell, Skylake). Because of the obscurity and lack of documentation of the feature (and because playing with this feature was scary, because it easily caused data corruption), Linux has been unable to properly implement ALPM support for years. Lack of ALPM support prevents the system from entering in deep power saving states, which means a much worse battery life for Linux users on systems with ALPM.
In this release, a patch has been merged that implements a better default behaviour for ALPM without corrupting your data, and this means that Linux users with ALPM will see an improved battery life: a T440s test laptop saves 0.9-1.2W when idle with this patch.
Related link: Hans de Goede post
Related link: Matthew Garret post
Code: commit
1.4. New architecture: RISC-V
This release includes the main parts of the port to RISC-V CPUs. RISC-V is an open instruction set architecture that, unlike proprietary CPUs, can be freely used for any purpose, permitting anyone to design, manufacture and sell RISC-V chips and software.
The port is definitely a work in progress. While builds and boots, it's a bit hard to actually see anything happen because there are no device drivers yet.
Code: merge
1.5. Support for AMD Secure Encrypted Virtualization
Linux 4.14 already added support for AMD Secure Memory Encryption, a feature that allows encrypts memory when written to RAM, and automatically decrypts it when read, thus protecting the contents of DRAM from physical attacks on the system.
This release adds initial support for Secure Encrypted Virtualization, which integrates the memory encryption support in the AMD-V virtualization architecture to support encrypted virtual machines - virtual machines that have their memory secured such that only the guest itself has access to unencrypted version, which protects them from other virtual machines and even the hypervisor itself. Secure Encrypted Virtualization is particularly applicable to cloud computing where virtual machines need not fully trust the hypervisor and administrator of their host system. This release adds the changes necessary in a guest OS for Secure Encrypted Memory; changes required to create and manage SEV guests by a host will be merged in next releases.
See: From KVM forum, AMD's Virtualization Memory Encryption
See: AMD memory encryption whitepaper
Code: commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
1.6. Support the User-Mode Instruction Prevention Intel Security feature
This release adds support for a Intel CPU feature called "User Mode Instruction Prevention". When enabled, this feature disables certain instructions such as SGDT, SLDT, SIDT, SMSW and STR, from being executed in user mode, which reduces the tools available to craft some type of privilege escalation attacks. Because of emulators such as WineHQ and DOSEMU2, in virtual-8086 and protected modes, sgdt, sidt and smsw are emulated; str and sldt are not emulated (no emulation is done for user-space long mode processes).
Code: commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
1.7. Better CPU usage restrictions with the CPU resource controller for cgroupv2
Control groups with "unified hierarchy", or cgroup v2, was implemented in 2.6.24 and declared stable in 4.5. The individual resource controllers had to be ported in order to work with this new approach. The biggest missing item was the CPU resource controller, which is used to control the usage of CPU by a group of tasks. The merge of the CPU controller, however, required first addressing some funcionality in the cgroupv2 design, specifically the "thread mode", merged in 4.14, which supports hierarchical resource distribution across the threads of a group. After all that work, this release finally brings a cgroupv2-ready CPU controller.
Recommended LWN article: A milestone for control groups
1.8. New MAP_SYNC mmap(2) flag to allow direct writes to persistent memory managed by filesystems
This release introduces MAP_SYNC and MAP_SHARED_VALIDATE flags to mmap(2), a mechanism that implements synchronous page faults for DAX mappings to make flushing of DAX mappings possible from userspace so that they can be flushed on finer than page granularity and also avoid the overhead of a syscall. It arranges for any filesystem metadata updates that may be required to satisfy a write fault to also be flushed ("on disk") before the kernel returns to userspace from the fault handler. Effectively every write-fault that dirties metadata completes an fsync() before returning from the fault handler. The new MAP_SHARED_VALIDATE mapping type guarantees that the MAP_SYNC flag is validated as supported by the filesystem's mmap() implementation.
Recommended LWN article: Two more approaches to persistent-memory writes
Code: commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
2. Core
PID: replace pid bitmap implementation with IDR API commit, commit
proc: Add CoreDumping flag to /proc/self/status to notify if a process is being coredumped commit
epoll: Massively increase nested epoll performance, commit, commit
- Control Groups
- livepatching
(Un)patching Callbacks, which provide a mechanism for livepatch modules to execute callback functions when a kernel object is (un)patched. They can be considered a "power feature" that extends livepatching abilities to include: Safe updates to global data, "Patches" to init and probe functions and patching otherwise unpatchable code (i.e. assembly) commit, commit, commit
Shadow variables: they allow callers to associate new shadow fields to existing data structures, in order to emulate additions to said structures commit
pvqspinlock: Implement hybrid queued/unfair lock with 2 modes to combine the best attributes of an unfair lock and a pvqspinlock. A lock waiter goes into the unfair mode when there are waiters in the wait queue but the pending bit isn't set. Otherwise, it will go into the queued mode waiting in the queue for its turn commit
sysvipc: make get_maxid O(1) once again commit
user namespaces: increase the number of uid and gid mappings a user namespace can support from 5 to 340 commit
lockdep: Add a boot parameter allowing unwind in "cross-release" lockdep feature commit, commit
Support resetting WARN_ONCE/WARN_ON_ONCE (in order to check if they are triggered again) by writting 1 to /sys/kernel/debug/clear_warn_once commit, commit
kbuild: Speed incremental builds of the kernel up by a bit by caching generated variables commit, commit
kcov: support comparison operands collection commit
Remove /proc/sys/vm/nr_pdflush_threads (has been obsolete since 2.6.32) commit
Add /sys/devices/system/cpu/vulnerabilities directory to show the status of meltdown/spectre handling commit
3. File systems
- XFS
Initial parts of online fsck support, complete support will be merged in future releases commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Switch to use a b+tree to implement the in-core extent list. This reduces the need for a large contiguous allocation that the current indirection array requires, and thus avoids stalls during workloads using giant extent lists (ie. workloads that work with heavily fragmented files), especially on systems that are long running commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
- Btrfs
Allow to specify zlib compression level, using the mount option -o compress=zlib:9 commit, commit
Improve btrfs send performance of large files commit
A new version of ioctl "extent to inode mapping", addressing a usecase where we want to retrieve more but inaccurate results and do the postprocessing in userspace, aiding defragmentation or deduplication tools commit, commit, commit
Enable indexing for btrfs as lower filesystem in overlayfs commit
Add heuristics for faster guess of the compressibility of data commit, commit, commit, commit, commit, commit, commit
add ref-verify, an optional debugging feature to verify extent reference accounting commit, commit
- ext4
- F2FS
Support flexible inline xattr size commit
Support issuing/waiting discard in range commit
Support error injection of bio allocation commit and get_page errors commit
Support quota sys files commit
Support soft block reservation commit
Export SSR allocation threshold in sysfs commit
Show # of dirty segments via sysfs commit
Show flush list status in sysfs commit
Expose quota information in debugfs commit
- CRAMFS
- GFS2
- AFS
4. Memory management
Speed up page cache truncation part 1 commit, commit, commit, commit, commit, commit, commit
Speed up page cache truncation part 2 commit, commit, commit, commit, commit, commit, commit, commit
(FEATURED) Implement synchronous page faults for DAX mappings to make flushing of DAX mappings possible from userspace (through a new mmap(2) flag, MAP_SYNC), so that they can be flushed on finer than page granularity and also avoid the overhead of a syscall commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Make able to disable NUMA stats for improved performance by writing 0 to /proc/sys/vm/numa_stat commit
Switches page table accounting to single counter from three - this removes VmPMD and VmPUD in /proc/self/status commit
Complete deferred page initialization commit, commit, commit, commit, commit, commit, commit, commit
dump_pagetables: Add two debugfs files which allow to dump the pagetable of the current task commit, commit, commit
Add infrastructure for get_user_pages_fast() benchmarking commit
slabinfo: add "-U" option to show unreclaimable slabs only commit
android/ion: userspace test utility for ion buffer sharing commit
kmemcheck: rip it out, it has been obsoleted by other facilities commit
Account filp cache to kmemcg commit
Account epoll's epitem and eppoll_entry to kmemcg commit
5. Block layer
loop: make loop cgroup aware commit
device mapper: add DAX support to the DM log-writes target commit, commit
null_blk: add no_sched module parameter commit
zram: add zstd to the supported algorithms list and remove zlib from the recommended list commit, commit
zram: skip swapcache for fast devices to reduce swap-in latency commit, commit, commit, commit
bcache: implement PI controller for writeback rate commit
brd: remove dax support commit
6. Tracing and perf
ftrace: Allow module init functions to be traced commit, commit, commit, commit, commit
tracing: add support for preempt and interrupt enabled/disable events commit, commit
perf stat: Add generic support for standalone metrics specified in JSON files. A metric is a formula that uses multiple events to compute a higher level result (e.g. IPC) commit
perf stat: Setting up groups can be complicated due to the complicated scheduling restrictions of different PMUs. Add a concept of a 'weak group': try to set up a group, but if it's not schedulable fallback to not using a group commit
perf list: Print metric groups with perf list metricgroups. A metric is a formula that uses multiple events to compute a higher level result (e.g. IPC) commit
perf record: user registers can currently only collected implicitely with call graph recording. To allow to see them separately, and filter them, add a new --user-regs option to record that is similar to --intr-regs, but acts on user regs. Also teach perf script to print user regs commit, commit
perf sched timehist: Add --pid and --tid options to show only events for specific pid/tids commit
perf script: Allow creating per-event dump files commit
perf top: multithread the synthetizing of events, which greatly improves user experience in systems such as Intel's Knights Mill commit, commit
Update vendor events JSON metrics for Broadwell DE commit, Broadwell Server commit, Broadwell commit, Haswell EP commit, Haswell commit, Ivy Bridge commit, Ivy Town commit, Sandy Bridge EP commit, Sandy Bridge commit, Skylake commit, Skylake server commit, add Goldmont Plus V1 event file commit
kprobes: Disable the jprobes APIs in preparation for removal. Nowadays ftrace and other tracing features are mature enough to replace jprobes use-cases commit, commit, commit, commit, commit
7. Virtualization
Hyper-V: vmbus: Expose per-channel info in sysfs commit, commit
tools/kvm_stat: Add Python 3 support to kvm_stat commit
vfio/pci: Virtualize Maximum Payload Size commit and Maximum Read Request Size commit
XEN: introduces the frontend for the newly introduced PV Calls procotol, which allows the implementation of a set of POSIX functions in a different domain commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
XEN: grant table interface v2 support commit, commit, commit, commit, commit
8. Cryptography
sm3: add OSCCA SM3 secure hash commit
9. Security
- Add eBPF LSM hooks (see bpf section in networking)
- EVM
Extend the /sys/kernel/security/evm interface to allow userspace to signal an RSA key has been loaded. Also allow userspace to block loading of a symmetric key in order to avoid a compromised system from being able to load an additional key type later commit
Include security.apparmor in EVM measurements commit
- audit
Smack: Base support for overlayfs commit
10. Networking
Note: If you are interested in Linux networking, it is recommended to take a look at LWN's reports on Netconf 2017 and Netdev 2.2
- TCP
Maintain the TCP retransmit queue using an rbtree, with 1GB windows at 100Gb this really has become necessary commit
Improve the CPU consumption of the RACK TCP loss recovery algorithm, in particular for high-speed networks commit, commit, commit
Remove the forward-acknowledgment (FACK) packet-based loss and reordering detection. FACK has been disabled by default and the successor RACK subsumed FACK and can handle reordering better commit, commit
Higher throughput under reordering with adaptive RACK reordering wnd commit
New socket option TCP_FASTOPEN_KEY to allow different keys per listener commit
Configure TFO without cookie per socket and/or per route. Linux already allows to enable TFO without a cookie by using the fastopen-sysctl and setting it to TFO_SERVER_COOKIE_NOT_REQD (or TFO_CLIENT_NO_COOKIE). This release exposes a socket-option and a per-route attribute to enable such fine-grained configurations commit
Add namespace support for the sysctls tcp_abort_on_overflow commit, tcp_adv_win_scale commit, tcp_app_win commit, tcp_autocorking commit, tcp_challenge_ack_limit commit, tcp_default_congestion_control commit, tcp_dsack commit, tcp_early_retrans commit, tcp_fack commit, tcp_frto commit, tcp_invalid_ratelimit commit, tcp_limit_output_bytes commit, tcp_max_reordering commit, tcp_min_rtt_wlen commit, tcp_min_tso_segs commit, tcp_moderate_rcvbuf commit, tcp_nometrics_save commit, tcp_pacing_ca_ratio commit, tcp_pacing_ss_ratio commit, tcp_recovery commit, tcp_retrans_collapse commit, tcp_rfc1337 commit, tcp_rmem and tcp_wmem commit, tcp_slow_start_after_idle commit, tcp_stdurg commit, tcp_thin_linear_timeouts commit, tcp_tso_win_divisor commit, tcp_workaround_signed_windows commit
Add support for the new of a new TCP experimental option that is needed by the SMC protocol. With this option, SMC capabilities are exchanged between peers during the TCP three way handshake commit
- IPv4
- IPv6
During route lookup, reader lock is taken and during route insertion, deletion or modification, writer lock is taken. This is a very inefficient implementation because the fastpath always has to do the operation to grab the reader lock. This release tries to get rid of the usage of the rwlock and replace it with rcu and spinlock protection. This greatly speeds up the fastpath performance as it only needs to hold rcu which is much less expensive than grabbing the reader lock commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Implement limits on RFC 8200 Hop-by-Hop and Destination options commit
Set all.accept_dad to 0 by default commit
Add support for sockopt(SOL_IPV6, IPV6_FREEBIND) commit
ila: make identifier format optional commit, commit, commit, commit, commit
Add a per-device sysctl (ndisc_tclass) to specify IPv6 Neighbour Discovery traffic class commit
VSOCK: add the netlink sock_diag interface for AF_VSOCK. Userspace can send a DUMP request to filter sockets based on their state (connected, listening, etc) commit, commit, commit, commit, commit
- BPF
spectre v2 prevention: prevent out-of-bounds speculation commit, introduce BPF_JIT_ALWAYS_ON config commit
Add 'bpftool' utility, to help with the inspection and simple manipulation of eBPF maps (documentation tools/bpf/bpftool
Allow BPF programs to get the base RTT of the connection commit, commit, commit, commit, commit
New bpf cpumap type for XDP_REDIRECT commit commit, commit, commit, commit
eBPF-based device cgroup controller: cgroup v2 lacks the device controller, provided by cgroup v1; this release adds a new eBPF program type, which in combination of previously added ability to attach multiple eBPF programs to a cgroup, will provide a similar functionality, but with some additional flexibility commit, commit, commit, commit, commit
New file mode and LSM hooks for eBPF object permission control: eBPF objects are accessed, controlled, and shared via a file descriptor, but unlike file descriptors for files and sockets, the existing mechanisms for eBPF object access control are very limited: grant access to all processes, or only CAP_SYS_ADMIN processes. This release adds LSM hooks to eBPF so that security systems such as selinux can do a more fine grained control commit, commit, commit, commit, commit
Extend bpf_{prog,map}_info commit, commit, commit, commit, commit
Permit multiple bpf attachments for a single perf tracepoint event commit, commit, commit
Enable generic transfer of metadata from XDP into skb, meaning the packet has a flexible and programmable room for meta data, which can later be used by BPF to set various skb members when passing up the stack commit, commit, commit, commit, commit, commit
Add support for attaching multiple programs per cgroup commit, commit, commit, commit, commit, commit, commit, commit
Add offload as a first class citizen commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
- bridge
IGMP snooping for local traffic commit, commit, commit, commit, commit, commit
Add notifications for the bridge dev on vlan change commit
Implement arp and nd suppression in the bridge driver for ethernet vpns. It implements rfc7432, section 10 for ethernet VPN deployments commit, commit, commit
Trigger RTM_NEWLINK when interface is modified by bridge ioctl commit
- 802.11 (wireless)
ppp: allow usage in namespaces commit
ip_tunnel: add mpls over gre support commit
Trigger netlink notification on ifalias change via sysfs commit
Time-sensitive Networking (TSN): Add qdisc based config interface for Credit-Based Shaper (CBS). The CBS queueing discipline implements the shaper algorithm defined by the 802.1Q-2014 Section 8.6.8.2 and detailed in Annex L commit, commit, commit, commit, commit, commit
Distributed switch architecture: add port fdb dump commit
qrtr: Support decoding incoming v2 packets commit
- packet scheduler
netfilter: nf_tables: adds a new get operation to look up for specific elements in a set via netlink interface commit
- openvswitch
smc: add SMC rendezvous protocol commit
SCTP: Introduce SCTP Stream Schedulers. It provides 3 schedulers at the moment: FCFS, Priority and Round Robin. The other 3, Round Robin per packet, Fair Capacity and Weighted Fair Capacity will be added later commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
TIPC: Add a 'Group Communication' feature in order to resolve the datagram and multicast flow control problem. This new feature makes it possible for a user to instantiate multiple private virtual brokerless message buses by just creating and joining member sockets commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
ipvlan: add 'private' and 'vepa' attributes to ipvlan modes commit, commit
- Infiniband
Expose CQ moderation to user space commit, commit, commit, commit, commit, commit, commit
Receive stateless offloading support for incoming tunneling traffic for raw ethernet QP commit, commit, commit
Introduce Multi-Packet receive work queue to improve performance and memory footprint commit, commit
NFC: Add NFC_CMD_DEACTIVATE_TARGET support commit
11. Architectures
- RISC-V
Add new RISC-V architecture (FEATURED) merge
- ARM 32/64 bit Device-Tree Sources
New SoC: Add support for Broadcom Hurricane 2 SoC used in switching products commit, commit
Hurricane 2 based support for Ubiquiti UniFi Switch 8 commit
Hurricane 2 based support for Broadcom BCM5301X based wireless access points and routers: Luxul ABR-4500 commit, Luxul XBR-4500 commit, Luxul XAP-1440 commit, Luxul XAP-810 commit
New SoC: Allwinner R40 is a new SoC, with Quad Core Cortex-A7 and peripherals like A20 commit, commit
Allwinner R40 based Banana Pi M2 Ultra and Berry single-board computers commit, commit
New SoC: Amlogic Meson-AXG A113D based SoC for audio commit
Allwinner A83T based TBS A711 Tablet commit
Allwinner H5 based NanoPi NEO Plus2 single-board computer commit
Actions S500 based CubieBoard6 single-board computer commit
Amlogic S912 based Khadas VIM2 single-board computer commit
Amlogic S912 based Tronsmart Vega S96 set-top-box commit
NXP i.MX51 based Zodiac Inflight Innovations RDU1 board commit
NXP i.MX53 based GE Healthcare PPD biometric monitor commit
NXP i.MX6 based Pistachio single-board computer commit
NXP i.MX6 based Vining-2000 automotive diagnostic interface commit
NXP i.MX6 based Ka-Ro TX6 Computer-on-Module in additional variants commit
Qualcomm MSM8974 (Snapdragon 800) based Fairphone 2 phone commit
Qualcomm MSM8974pro (Snapdragon 801) based Sony Xperia Z2 Tablet commit
Realtek RTD1295 based set-top-boxes MeLE V9 and PROBOX2 AVA commit, commit
New SoC: Renesas R-Car V3M (R8A77970) SoC for automotive commit, commit
R-Car V3M "Eagle" reference board commit
Renesas H3ULCB and M3ULCB "Kingfisher" extension infotainment boards commit, commit, commit
Renasas r8a7745 based iWave G22D-SODIMM SoM commit
Rockchip rk3288 based Amarula Vyasa single-board computer commit
Samsung Exynos5800 based Odroid HC1 single-board computer commit
display5: Device tree description of LWN's DISPLAY5 board commit
imx6qdl-wandboard: Add support for the revd1 variants commit
iwg22m: Add iWave RZG1E SODIMM board based on RZ/G1E commit, commit
sun7i: Add dts file for A20-OLinuXino-MICRO-eMMC commit
DRA722: Add support for DRA71x Silicon Rev 2.1 commit
ulcb-kf: initial device tree commit
- ARM
Make XIP kernel .data compressed in ROM commit, commit, commit, commit, commit
Add support for ELF fdpic binaries on both MMU and noMMU platforms commit, commit, commit, commit, commit, commit, commit, commit
Delete the V3 PCI driver commit
NOMMU: Support MPU in XIP configuration commit
KVM: Add full support for GICv4, bringing direct injection of MSIs to arm and arm64 commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
KVM: vgic-its: Implement KVM_DEV_ARM_ITS_CTRL_RESET commit
- ARM64
Initial support for the Scalable Vector Extension (SVE), an extension to the AArch64 execution state which complements and extends the SIMD functionality of the base architecture to support much larger vectors commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Always use REFCOUNT_FULL commit
Expose support for optional ARMv8-A features commit
perf: Add PMU driver for ARMv8.2 Statistical Profiling Extension commit
perf: Add PMU driver for Hisilicon's system PMUs commit, commit, commit,commit
- X86
(FEATURED) Add page table isolation to fix Meltdown merge, commit, commit, commit
Implement CPU vulnerabilites sysfs functions commit
(FEATURED) Add User-Mode Instruction Prevention commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Enable new SSE/AVX/AVX512 CPU features commit
PCI: Enable a 64bit BAR on AMD Family 15h (Models 00-1f, 30-3f, 60-7f) commit
intel_rdt: Add framework for better RDT UI diagnostics commit
(FEATURED) Add AMD Secure Encrypted Virtualization (SEV) support part 1 (changes required in a guest OS for SEV support) commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Make CONFIG_UNWINDER_ORC=y the default in kconfig for 64-bit commit
Add vector domain debugfs support commit
- platforms
wmi: create userspace interface for drivers commit
Add driver to force WMI Thunderbolt controller power status commit
asus-wmi: Add lightbar led support commit
thinkpad_acpi: Implement tablet mode using GMMS method commit
intel_turbo_max_3: Add Skylake platform commit
silead_dmi: Add entry for the Chuwi Hi8 Pro tablet commit, add entry for the Digma e200 tablet commit
dell-smbios-wmi: Add new WMI dispatcher driver commit, commit, commit, commit, commit
Remove unused HyperTransport interrupt support commit
xen: support 52 bit physical addresses in pv guests commit
kvm: vmx: Allow disabling virtual NMI support commit
- OPENRISC
- POWERPC
(FEATURED) Add support for RFI flush of L1-D cache to address meltdown issue commit, commit, commit, commit
Add commandline option to disable hardware transactional memory commit
Implement PMEM API commit
Implement UACCESS_FLUSHCACHE API commit
Allow to configure if radix is used by default commit
VAS: Add support for user receive window commit, export HVWC to debugfs commit
xmon: Add option to show uptime information commit, support dumping software pagetables commit
Add support for setting SPRN_TIDR commit
Add POWER9_DD20 feature commit
KVM: PPC: Book3S HV: Add infrastructure for running HPT guests on radix host commit, allow for running POWER9 host in single-threaded mode commit
- S390
Add support for FORTIFY_SOURCE commit
Queued spinlocks and queued rwlocks implementations commit, commit, commit, commit
Add hardware counter support for IBM z14 commit
crypto: add s390 platform specific aes gcm support commit
disassembler: add new z14 instructions commit, add sthyi instruction commit
ptrace: add runtime instrumention register get/set which allows to read and modify the runtime instrumention control block commit
Add s390_sthyi system call which emulates the sthyi (store hypervisor information) instruction commit
topology: add detection of dedicated vs shared CPUs commit
Optimized implementations of memset16, memset32 & memset64 commit and memset commit
virtio: remove the old KVM virtio transport commit
zcrypt: add the full CEX6S card support to the zcrypt device driver commit
zcrypt: Introduce QACT support for AP bus devices commit
- perf
- SPARC
vDSO for sparc commit
- MIPS
- M68K
Add Sysam stmark2 open board support commit
- PARISC
parisc: Add CPU topology support commit
12. Drivers
12.1. Graphics
Add DRM mode object leasing for improving VR use cases. It provides new data structures to hold "lease" information about drm mode setting objects, and provides for creating new drm_masters which have access to a subset of the available drm resources commit, commit, commit, commit
Add CRTC_GET_SEQUENCE and CRTC_QUEUE_SEQUENCE ioctls. They provide crtc-id based functions instead of pipe-number, while also offering higher resolution time and wider frame count as required by the Vulkan API commit
- intel
Add Display IPC support. IPC (Isochronous Priority Control) is the hardware feature, which dynamically controls the memory read priority of Display commit, commit, commit
Transparent Huge Page support commit, commit, commit, commit, commit, commit
User defined priorities support. It allows to change the default priority on a per-context basis, allowing different contexts to be favoured with GPU time at the expense of lower importance work. The user can adjust the context's priority via I915_CONTEXT_PARAM_PRIORITY, with more positive values being higher priority (they will be serviced earlier, after their dependencies have been resolved) commit, commit, commit
gvt: Add emulation for BAR2 (aperture) with normal file RW approach commit
gvt: Add support for PCIe extended configuration space commit
perf: add support for Coffeelake GT2 commit
Drop debugfs/i915_gem_pin_display commit
- amdgpu
(FEATURED) Merge the AMD DC (display code) layer which is requirement to program the display engines on the new Vega and Raven based GPUs. It also contains support for all amdgpu supported GPUs (CIK, VI, Polaris), which has to be enabled. It is also a kms atomic modesetting compatible driver (unlike the previous display code) and it includes HDMI and DP audio, DP MST, and many other advanced display features merge
BO flag to allow buffers to opt out of implicit sync commit
Add GPU reset functionality for Vega10 commit
Prime mmap support commit
Add FENCE_TO_HANDLE ioctl that returns syncobj or sync_file or being able to convert an amdgpu fence into one of the handles commit
UVD video encode ring support on Polaris commit, commit, commit, commit, commit, commit, commit, commit, commit
Transparent huge page DMA support commit, commit, commit, commit
CTX priority setting API commit, commit, commit, commit, commit
Add query to allow userspace to figure out if VRAM was lost commit
Powerplay: get the temperature on CZ commit
Add option for force enable multipipe policy for compute commit
amdkfd: Drop radeon support commit
- nouveau
Pascal temperature sensor support commit
- exynos
- tegra
Prep work for tegra186 commit
- msm
- vc4
New madvise ioctl commit
- Rockchip
LVDS support commit
- omapdrm
- etnaviv
- sun4i
- pl111
- adv7511
Add HDMI CEC support commit
- sii8620
Add remote control support commit
- host1x
- panel
tve200: Add new driver for TVE200 commit
fbdev: remove dead igafb driver commit
12.2. Storage
(FEATURED) libata: Add new med_power_with_dipm link_power_management_policy setting commit
ahci: Add support for Cavium's fifth generation SATA controller commit
ceva: Add gen 3 mode support in driver commit
ceva: Make RxWaterMark value as module parameter commit
- nvme
- SCSI
scsi: Export blacklist flags to sysfs commit
sd: change allow_restart to bool in sysfs interface commit
hisi_sas: add v3 hw DFX feature commit
hisi_sas: add support for servicing AXI error handling commit, commit
megaraid_sas: Add support for Crusader controllers commit
mpt3sas: NVMe support commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
mpt3sas: Adding support for SAS3616 HBA device commit
qla2xxx: Changes to support N2N logins commit
qla2xxx: Reinstate module parameter ql2xenablemsix commit
smartpqi: update controller ids commit
target: Add netlink command reply supported option for each device commit
12.3. Drivers in the Staging area
typec: fusb302: Move out of staging commit
typec: tcpm: Move out of staging commit
comedi: adv_pci_dio: update for PCI-1761 commit
atomisp: Remove AP1302 sensor support commit
atomisp: Remove IMX sensor support commit
VME: Remove PIO2 driver commit
12.4. Networking
- Bluetooth
Add support for the HiSilicon RoCE engine in the hip08 SoC commit, commit, commit, commit, commit, commit, commit, commit ,commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
vmw_pvrdma: Add shared receive queue support commit
ath10k: add new cipher suite support commit
- bnxt_en
brcmfmac: add CLM download support commit
- cxgb4
Add support for new flash parts commit
Add support to offload tc flower commit, commit, commit, commit
Add new pci device id's for T5 commit, commit and T6 commit, commit
Add hash-filter support to tc-flower offload commit, commit, commit, commit, commit, commit, commit
Enable more tc flower offload matches and actions commit, commit, commit, commit, commit, commit, commit, commit
Collect more hardware dumps via ethtool commit, commit, commit, commit, commit, commit, commit, commit
Add support to get hardware debug logs via ethtool commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Remove the obsolete kernel module option 'c4iw_debug' commit
cxgb4vf: define get_fecparam ethtool callback commit
enic: Add support for 'ethtool -g/-G' commit
hv_netvsc: Add ethtool handler to set and get TCP hash levels commit
- i40e
Configuring traffic classes via new hardware offload mechanism in tc/mqprio commit, commit, commit, commit, commit, commit
tc-flower based cloud filters commit, commit, commit, commit, commit, commit
Add new PHY types for 25G AOC and ACC support commit
Add support for 'ethtool -m' commit
allow XPS with QoS enabled commit
i40evf: enable support for VF VLAN tag stripping control commit
- ibmvnic
atusb: Driver for Busware HUL dongle commit
- iwlwifi
ixgbe: add counter for times Rx pages gets allocated, not recycled commit
liquidio: xmit_more support commit, switchdev support for LiquidIO NIC commit
- mlxsw
Preparation for multicast router offload commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Add support for partial multicast route offload commit, commit, commit, commit, commit, commit, commit
Add router adjacency dpipe table commit, commit, commit, commit, commit, commit, commit, commit, commit
Add support for non-equal-cost multi-path commit, commit, commit, commit, commit, commit, commit, commit
Add support for offloading IPv4 multicast routes commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Handle changes in GRE configuration commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Offload decap without encap commit, commit, commit, commit, commit
qdisc RED offload commit, commit, commit ,commit, commit, commit, commit, commit, commit
Offload bridge device mrouter commit, commit, commit, commit, commit
- mlx5/mlx5e
Enable differentiated services code point (dscp) to priority mapping for Ethernet packet. Once this feature is enabled, the packet is routed to the corresponding priority based on its dscp. User can combine this feature with priority flow control (pfc) feature to have priority flow control based on the dscp commit, commit, commit, commit, commit, commit
IPoIB Muli Pkey support commit, commit, commit, commit, commit, commit, commit, commit, commit ,commit, commit, commit
Support multiple updates of steering rules in parallel commit
Add support for 802.1ad vlan filter commit and insertion support commit
Add VLAN offloads statistics commit
Add support for ethtool msglvl support commit
CHECKSUM_COMPLETE offload for VLAN/QinQ packets commit
Enable CQE based moderation on TX CQ commit
Add support for networking over Thunderbolt cable commit, commit and properties commit, commit
- dsa
ena: add power management ops to the ENA driver commit, add statistics for missed tx packets commit
- hns3
Add support for DCB feature commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Add mqprio hardware offload support in hns3 driver commit
Add support set_link_ksettings and for nway_reset ethtool command commit, commit
Support set_ringparam and {set|get}_rxnfc ethtool commands commit, commit, commit
Add mac loopback selftest support in hns3 driver commit
korina: use GRO commit
mvpp2: add ethtool GOP statistics commit
- phy
qmi_wwan: add Quectel BG96 2c7c:0296 commit, add Sierra EM7565 1199:9091 commit
qualcomm: rmnet: Add support for GRO commit, implement bridge mode commit
- netronome nfp
Extend flower offload match and action capabilities to add offload capabilities for matching on MPLS, TTL, TOS and flow label. Furthermore offload capabilities for action have been expanded to include set ethernet, ipv4, ipv6, tcp and udp headers commit, commit, commit, commit, commit, commit, commit
Add get/set link settings ndos to representors commit
bpf: stack support in offload commit, commit, commit, commit, commit, commit, commit, commit, commit
bpf: support direct packet access commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
bpf ABIv2 and multi port commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
bpf: support [BPF_ALU | BPF_ALU64] | BPF_NEG commit
flower vxlan tunnel offload commit, commit, commit, commit, commit, commit, commit
qedr: Add iWARP support for QL4xxxx commit, commit, commit, commit, commit, commit, commit
- qed
qtnfmac: make "Channel change" event report full channel info commit
r8169: Add support for interrupt coalesce tuning (ethtool -C) commit
ravb: RX checksum offload commit
- rsi
- rtlwifi
sfc: support rx-fcs and rx-all commit
wil6210: remove SSID debugfs commit
Add a driver for Renesas uPD60620 and uPD60620A PHYs commit
12.5. Audio
ac97: add an ac97 bus. The goal of this new implementation is to implement a device/driver model for AC97, with an automatic scan of the bus and automatic discovery of AC97 codec devices commit
hda/realtek: Add support for ALC1220 commit, add headset mic support for Intel NUC Skull Canyon commit, new codec support for ALC257 commit
hda: Add Raven PCI ID commit
line6: add support for POD HD DESKTOP commit
- ASoC
AMD: Add machine driver for cz rt5650 commit
Intel: Headset button support in kabylake machine driver commit
Intel: cht_bsw_max98090: add support for Baytrail commit
add mclk-fs support to audio graph card commit
arizona: Add support for setting the output volume limits commit
bcm2835: Add support for TDM modes commit, support additional samplerates up to 384kHz commit, support left/right justified and DSP modes commit
cygnus: Remove support for 8 bit audio and for mono commit
da7213: add support for DSP modes commit
intel: byt: Add headset jack commit
max98927: Added support for DSP_A and DSP_B format commit
rsnd: add MIX Volume Ramp support commit
rt5514: Voice wakeup support commit
stm32: sai: Add synchronization support commit
ts3a227e: add acpi table commit
wm9705: add ac97 new bus support commit
wm9712: add ac97 new bus support commit
wm9713: add ac97 new bus support commit
sound: Retire OSS commit
12.6. Tablets, touch screens, keyboards, mouses
- HID
Add ID 044f:b605 ThrustMaster, Inc. force feedback Racing Wheel commit
alps: add support for Alps T4 Touchpad device commit, add new U1 device ID commit,
asus: Add support for Fn keys on Asus ROG G752 commit
Add I2C attached EETI EXC3000 multi touch driver commit
Add support for the Samsung S6SY761 touchscreen commit
edt-ft5x06: implement support for the EDT-M12 series commit
goodix: support gt1151 touchpanel commit
wm97xx: add new AC97 bus support commit
xpad: add support for PDP Xbox One controllers commit
12.7. TV tuners, webcams, video capturers
rockchip/rga: v4l2 m2m support commit
v4l2-tpg: add Y10 and Y12 support commit
vivid: add support for Y10 and Y12 commit
cec-gpio: add HDMI CEC GPIO driver commit
imx274: V4l2 driver for Sony imx274 CMOS sensor commit
- remote control
tc358743: add CEC support commit
tegra-cec: add Tegra HDMI CEC driver commit
usbtv: add a new usbid commit
12.8. Universal Serial Bus (USB)
typec: driver for TI TPS6598x USB Power Delivery controllers commit
typec: wcove: start using tcpm for USB PD support commit
f81534: implement break control commit
qcserial: add pid/vid for Sierra Wireless EM7355 fw update commit, add Sierra Wireless EM7565 commit
dwc2: add support for STM32F7xx USB OTG HS commit
mtu3: support option to disable usb3 ports commit
mtu3: add support for usb3.1 IP commit
renesas_usbhs: add support for R-Car D3 commit
usb251xb: Add USB2517i specific struct and IDs commit
xhci-mtk: support option to disable usb3 ports commit
xhci: add port speed ID to portsc tracing commit
xhci: Add debugfs interface for xHCI driver commit
early: Use new USB product ID and strings for DbC device commit
option: add Quectel BG96 id commit, add support for Telit ME910 PID 0x1101 commit, adding support for YUGA CLM920-NC5 commit
usb_debug: add new USB device id commit
cp210x: add new device ID ELV ALC 8xxx commit, add IDs for LifeScan OneTouch Verio IQ commit
ftdi_sio: add id for Airbus DS P8GR commit
phy: mxs: add usb charger type detection commit
phy: remove phy-msm-usb.c commit
phy: remove phy-qcom-8x16-usb.c commit
host: remove ehci-msm.c commit
Drop unused usb-serial-core USB driver commit
12.9. Serial Peripheral Interface (SPI)
12.10. Serial
8250_fintek: UART dynamic clocksource on Fintek F81216H commit and Fintek F81866 commit
8250_mid: Enable HSU on Intel Cedar Fork PCH commit
mvebu-uart: add function to change baudrate commit, support probe of multiple ports commit, commit
8250_pci: Add Amazon PCI serial device ID commit
serdev: Add ACPI support commit
sh-sci: Support for variable HSCIF hardware RX timeout commit
tty: serial: meson: allow baud-rates lower than 9600 commit
12.11. ACPI, EFI, cpufreq, thermal, Power Management
- ACPI:
LPIT: Add Low Power Idle Table (LPIT) support commit
PMIC: Add TI PMIC TPS68470 operation region driver commit
PMIC: Add opregion driver for Intel Dollar Cove TI PMIC commit
nfit: add support for the _LSI, _LSR, and _LSW label methods commit
nfit: Enable to show what feature is supported for nfit_test commit
nfit: add 'Enable Latch System Shutdown Status' command support commit
nfit: add support for NVDIMM_FAMILY_INTEL v1.6 DSMs commit
APD: Add clock frequency for ThunderX2 I2C controller commit
- thermal
hisi: Add support for hi3660 SoC commit
Add Tegra BPMP thermal sensor driver commit
Add brcmstb AVS TMON driver commit
imx: Add support for reading OCOTP through nvmem commit
int340x: processor_thermal: Add Cannon Lake support commit and Coffee Lake support commit
pch: Add Cannon Lake support commit
rockchip: Support the RV1108 SoC in thermal driver commit
cpuidle: ladder: Add per CPU PM QoS resume latency support commit
nfit_test: add error injection DSMs commit
12.12. Real Time Clock (RTC)
mediatek: add driver for RTC on MT7622 SoC commit
Add support for NXP PCF85363 real-time clock commit
sc27xx: Add Spreadtrum SC27xx PMIC RTC driver commit
12.13. Voltage, current regulators, power capping, power supply
Add support for Smart Battery System Manager commit
axp20x: Add support for AXP813 regulators commit
da9211: update for supporting da9223/4/5 commit
qcom_spmi: Add support for pmi8994 commit
12.14. Pin Controllers (pinctrl)
intel: Add Intel Cedar Fork PCH pin controller support commit
sh-pfc: r8a7795: Add SDHI0-3 support commit, Add USB3.0 host support commit
sh-pfc: r8a77995: Add USB2.0 host support commit
sh-pfc: r8a7795-es1: Add USB3.0 host support commit
rza1: Add support for RZ/A1L commit
gpio: mcp23s08: add support for mcp23018 commit
12.15. Multi Media Card (MMC)
Preparations for enabling CQE (eMMC CMDQ) requests commit, commit, commit
Convert RPMB to a character device commit
Export emmc revision in sysfs commit
- mediatek
meson-mx-sdio: Add a driver for the Amlogic Meson8 and Meson8b SoCs commit
sdhci-omap: Add OMAP SDHCI driver commit
sdhci-pci: Add support for Intel CDF commit
12.16. Memory Technology Devices (MTD)
sharpslpart: Add sharpslpart partition parser commit
intel-spi: Add Intel Lewisburg PCH SPI super SKU PCI ID commit
- spi-nor
12.17. Industrial I/O (iio)
accel: add support to LIS2DW12 commit
accel: add support to LIS3DHH commit
accel: kxcjk1013: add support for KXTF9 commit
dac: Add Texas Instruments 8/10/12-bit 2/4-channel DAC driver commit
dac: ad5446: Add IDs of compatible Texas Instruments chips commit
dac: ds4422/ds4424 dac driver commit
adc: mcp320x: Add support for mcp3550/1/3 commit
chemical: ccs811: Add support for data ready trigger commit
gyro: st_gyro: add SPI-3wire support to st_gyro framework commit
light: tcs3472: support out-of-threshold events commit
magnetometer: st_magn: add SPI-3wire support to LIS3MDL commit
pressure: add support to LPS33HW and LPS35HW commit
pressure: st_pressure: add SPI-3wire support to st_pressure framework commit
proximity: Add rfd77402 driver commit
platform/chrome: Add cros_ec_accel_legacy driver commit
12.18. Multi Function Devices (MFD)
Add Spreadtrum SC27xx series PMICs driver commit
Add support for Cherry Trail Dollar Cove TI PMIC commit
rts5249: Add support for RTS5250S power saving commit
wm97xx-core: core support for wm97xx Codec commit
12.19. Pulse-Width Modulation (PWM)
mediatek: Add MT2712/MT7622 support commit
12.20. Inter-Integrated Circuit (I2C)
xgene-slimpro: Support v2 commit
12.21. Hardware monitoring (hwmon)
k10temp: Add support for family 17h commit, add support for temperature offsets commit
max6621: Add support for Maxim MAX6621 temperature sensor commit
xgene: Support hwmon v2 commit
pmbus: Add driver for Maxim MAX31785 Intelligent Fan Controller commit
12.22. General Purpose I/O (gpio)
Add Tegra186 support commit
Add driver for Maxim MAX3191x industrial serializer commit
dwapb: Add wakeup source support commit
12.23. Leds
ledtrig-activity: Add a system activity LED trigger commit
Add driver for PC Engines APU/APU2 LEDs commit
12.24. DMA engines
Add STM32 DMAMUX driver commit
Add STM32 MDMA driver commit
Add Spreadtrum DMA driver commit
sun6i: Add support for Allwinner A64 and compatibles commit
12.25. Hardware Random Number Generator (hwrng)
iproc-rng200 - Add support for BCM7278 commit
12.26. Cryptography hardware acceleration
12.27. PCI
Add resizable BAR infrastructure commit
Add pci=big_root_window option for AMD 64-bit windows commit
Expose SR-IOV offset, stride, and VF device ID via sysfs commit
Add support for Synopsys DesignWare RC in ECAM mode commit
layerscape: Add support for ls1012a commit
tango: Add MSI controller support commit
tegra: Add Tegra186 PCIe support commit
v3-semi: Add V3 Semiconductor PCI host driver commit
12.28. Non-Transparent Bridge (NTB)
Add MicroSemi Switchtec Non-Transparent Bridge Support commit, commit, commit, commit, commit, commit, commit, commit, commit
12.29. Clock
bcm: Add Broadcom Hurricane 2 clock support commit
samsung: Add a separate driver for Exynos4412 ISP clocks commit
qcom: Implement RPM clocks for MSM8660/APQ8060 commit
mediatek: Add MT2712 clock support commit, add clock support for MT7622 SoC commit
sh_cmt: Support separate R-Car Gen2 CMT0/1 commit
12.30. Various
bus: ti-sysc: Add minimal TI sysc interconnect target driver commit
bus: add driver for the Technologic Systems NBUS commit
extcon: max77843: Add OTG power control to the MUIC driver commit, add support for SmartDock accessory commit
firmware: qcom: scm: Expose download-mode control commit. expose secure IO service commit
firmware: tegra: Add BPMP debugfs support commit
iommu/omap: Add support to program multiple iommus commit
iommu/ipmmu-vmsa: Enable multi context support commit
- irqchip
brcmstb-l2: Add support for the BCM7271 L2 controller commit
gic-v3: Add support for Range Selector (RS) feature commit
meson: Add support for gpio interrupt controller commit
stm32: Add stm32h7 support commit, add multi-bank management commit
exiu: Add support for Socionext Synquacer EXIU controller commit
memory: brcmstb: Add driver for DPFE commit
cxl: Add support for POWER9 DD2 commit
cxl: Provide debugfs access to PSL_DEBUG/XSL_DEBUG registers commit
- drivers/nvmem
remoteproc: debug: add resource table dump feature commit
remoteproc: debug: add carveouts list dump feature commit
- drivers/reset
- drivers/soc
w1: add w1_ds28e17 driver for the DS28E17 Onewire to I2C master bridge commit
vfio: platform: reset: Add Broadcom FlexRM reset module commit
13. List of merges
14. Other news sites
LWN's merge window part 1, part 2; Statistics for the 4.15 kernel
Phoronix The New Features Of Linux 4.15
heise.de Die Neuerungen von Linux 4.15