11134
Comment:
|
← Revision 27 as of 2017-12-30 01:30:14 ⇥
47464
converted to 1.6 markup
|
Deletions are marked like this. | Additions are marked like this. |
Line 5: | Line 5: |
/!\ /!\ /!\ WARNING /!\ /!\ /!\ this document is not complete. While it is completed, you can read about the Linux 3.19 features in: * LWN merge window, [http://lwn.net/Articles/625146/ part 1], [http://lwn.net/Articles/626150/ part 2], [http://lwn.net/Articles/627202/ part 3]. Summary: (not completed) |
Linux 3.19 [[https://lkml.org/lkml/2015/2/8/199|has been released]] on Sun, 8 Feb 2015 Summary: This release adds support for Btrfs scrubbing and fast device replacement with RAID 5 and 6, support for the Intel Memory Protection Extensions that help to stop buffer overflows, support for the AMD HSA architecture, support for the debugging ARM Coresight subsystem, support for the Altera Nios II CPU architecture, networking infrastructure for routing and switching offloading, Device Tree Overlays that help to support expansion busses found on consumer development boards like the Beaglebone or Raspberry Pi, support for hole punching and preallocation in NFSv4.2, and the Android binder has been moved from the staging area to stable. There are also new drivers and many other small improvements. <<TableOfContents>> |
Line 13: | Line 12: |
== Btrfs: support scrubbing and fast device replacement in RAID 5&6 == Btrfs added support for [http://kernelnewbies.org/Linux_3.8#head-1fd494f6aeba0abd271e483ff9732afeb3544368 fast&live device replacement] (see [https://btrfs.wiki.kernel.org/index.php/Manpage/btrfs-replace btrfs-replace(8)]), much faster and efficient than adding the new device and removing the old one in separated commands (see [https://btrfs.wiki.kernel.org/index.php/Manpage/btrfs-device btrfs-device(8)]). This feature could not fast-replace devices from filesystems using RAID 5 & 6, this release has removed that limitation. The process of scrubbing a btrfs filesystem (see [https://btrfs.wiki.kernel.org/index.php/Manpage/btrfs-scrub btrfs-scrub(8)]) was also not available in RAID 5&6 filesystems, this limitation has also been removed in this release Code: [http://git.kernel.org/linus/5a6ac9eacb49143cbad3bbfda72263101cb1f3df commit], [http://git.kernel.org/linus/5d3edd8f44aac94de7b16f4c54290e24f5e8c532 commit], [http://git.kernel.org/linus/2c8cdd6ee4e7f637b0486c6798117e7859dee586 commit], [http://git.kernel.org/linus/7603597690147a16b5cc77047d7570fa22a22673 commit], [http://git.kernel.org/linus/af8e2d1df9848b39dd86b1e696bf8781d2020a88 commit] |
== Btrfs: support scrubbing and fast device replacement in RAID 5 and 6 == Btrfs added support for fast & live device replacement [[http://kernelnewbies.org/Linux_3.8#head-1fd494f6aeba0abd271e483ff9732afeb3544368|in Linux 3.8]] (see [[https://btrfs.wiki.kernel.org/index.php/Manpage/btrfs-replace|btrfs-replace(8)]]), much faster and more efficient than adding the new device and removing the old one in separated commands (see [[https://btrfs.wiki.kernel.org/index.php/Manpage/btrfs-device|btrfs-device(8)]]). This feature could not fast-replace devices from filesystems using RAID 5 & 6, this release has removed that limitation. The process of scrubbing a Btrfs filesystem (see [[https://btrfs.wiki.kernel.org/index.php/Manpage/btrfs-scrub|btrfs-scrub(8)]]) was also not available in RAID 5 and 6 filesystems, this limitation has also been removed in this release Code: [[https://git.kernel.org/linus/5a6ac9eacb49143cbad3bbfda72263101cb1f3df|commit]], [[https://git.kernel.org/linus/5d3edd8f44aac94de7b16f4c54290e24f5e8c532|commit]], [[https://git.kernel.org/linus/2c8cdd6ee4e7f637b0486c6798117e7859dee586|commit]], [[https://git.kernel.org/linus/7603597690147a16b5cc77047d7570fa22a22673|commit]], [[https://git.kernel.org/linus/af8e2d1df9848b39dd86b1e696bf8781d2020a88|commit]] |
Line 23: | Line 22: |
Intel's [http://en.wikipedia.org/wiki/Intel_MPX Memory Protection Extension] (MPX) is a set of CPU instructions which brings increased robustness to software by checking pointer references usurped maliciously at runtime by buffer overflows. Intel MPX introduces new registers and new CPU instructions that operate on these registers. Modified compiler, runtime libraries and kernels can make use of these instructions to allow MPX hardware to prevent buffer overflow exploitation. This Linux release adds support in the Linux kernel. Note: CPUs with MPX support are not in the market and will be introduced with the Intel Skylake and Goldmont microarchitectures. Recommended LWN article: [http://lwn.net/Articles/582712/ Supporting Intel MPX in Linux] Recommended Intel article: [https://software.intel.com/en-us/articles/introduction-to-intel-memory-protection-extensions Introduction to Intel Memory Protection Extensions] Code: [http://git.kernel.org/linus/95290cf13e561b52dceadb9a8b8ee8ff2464b142 commit], [http://git.kernel.org/linus/4aae7e436fa51faf4bf5d11b175aea82cfe8224a commit], [http://git.kernel.org/linus/57319d80e1d328e34cb24868a4f4405661485e30 commit], [http://git.kernel.org/linus/fcc7ffd67991b63029ca54925644753d534ddc5f commit], [http://git.kernel.org/linus/fe3d197f84319d3bce379a9c0dc17b1f48ad358c commit], [http://git.kernel.org/linus/1de4fa14ee25a8edf287855513b61c3945c8878a commit], [http://git.kernel.org/linus/5776563648f6437ede91c91cbad85862ca682b0b commit] |
Intel's [[http://en.wikipedia.org/wiki/Intel_MPX|Memory Protection Extension]] (MPX) is a set of CPU instructions which brings increased robustness to software by checking pointer references usurped maliciously at runtime by buffer overflows. Intel MPX introduces new registers and new CPU instructions that operate on these registers. Modified compiler, runtime libraries and kernels can make use of these instructions to allow MPX hardware to prevent buffer overflow exploitation. This Linux release adds support in the Linux kernel. Note: CPUs with MPX support are not in the market and will be introduced with the Intel Skylake and Goldmont microarchitectures. Recommended LWN article: [[http://lwn.net/Articles/582712/|Supporting Intel MPX in Linux]] Recommended Intel article: [[https://software.intel.com/en-us/articles/introduction-to-intel-memory-protection-extensions|Introduction to Intel Memory Protection Extensions]] Code: [[https://git.kernel.org/linus/95290cf13e561b52dceadb9a8b8ee8ff2464b142|commit]], [[https://git.kernel.org/linus/4aae7e436fa51faf4bf5d11b175aea82cfe8224a|commit]], [[https://git.kernel.org/linus/57319d80e1d328e34cb24868a4f4405661485e30|commit]], [[https://git.kernel.org/linus/fcc7ffd67991b63029ca54925644753d534ddc5f|commit]], [[https://git.kernel.org/linus/fe3d197f84319d3bce379a9c0dc17b1f48ad358c|commit]], [[https://git.kernel.org/linus/1de4fa14ee25a8edf287855513b61c3945c8878a|commit]], [[https://git.kernel.org/linus/5776563648f6437ede91c91cbad85862ca682b0b|commit]] == HSA driver for AMD GPU devices == HSA, or Heterogeneous System Architecture, is a type of computer processor architecture that integrates central processing units and graphics processors on the same bus, with shared memory and tasks. HSA allows different processor types (CPUs, DSPs, GPUs, etc..) to share system resources more effectively via HW features including shared pageable memory, userspace-accessible work queues, and platform-level atomics. This release includes HSA support for radeon-family processors, and offers an API that is used by a [[https://github.com/HSAFoundation/HSA-Runtime-Reference-Source|HSA open-source library]] developed by AMD. For more details about the HSA library and possibilities that HSA offers to userspace apps, see the previous link. Code: [[https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/drivers/gpu/drm/amd/amdkfd|drivers/gpu/drm/amd/amdkfd]] == Android binder moved to stable == The Android binder code has been placed in the "staging" are of the kernel for a long time. The code, however, has been stable for many years now and it has been shipped in millions of phones. There has been reticences over binder, but no matter what comes in the future, Linux is going to have to support this API anyway, so might as well move it to the "real" part of the kernel. Code: [[https://git.kernel.org/linus/777783e0abae3cab7555bb182776f9ffaa35631a|commit]] == ARM Coresight support == Coresight is an umbrella of technologies allowing for the debugging of ARM-based SoC. ARM has developed a HW assisted tracing solution by means of different components, each being added to a design at synthesis time to cater to specific tracing needs. Components are generally categorised as source, link and sinks and are (usually) discovered using the AMBA bus. "Sources" generate a compressed stream representing the processor instruction path based on tracing scenarios as configured by users. From there the stream flows through the Coresight system (via ATB bus) using links that are connecting the emanating source to a sink(s). Sinks serve as endpoints to the Coresight implementation, either storing the compressed stream in a memory buffer or creating an interface to the outside world where data can be transferred to a host The Linux Coresight framework provides a kernel interface for the Coresight debug and trace drivers to register themselves with. It's intended to build a topological view of the Coresight components based on a DT specification and configure the right series of components when a trace source gets enabled. For more details about the Linux Coresight framework: see [[https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/Documentation/trace/coresight.txt|Documentation/trace/coresight.txt]] For details about ARM Coresight: http://www.arm.com/products/system-ip/debug-trace/ Code: [[https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/drivers/coresight|drivers/coresight/]] == New architecture: Altera Nios II processors == This release adds support for Altera Nios II processors. Nios II is a 32-bit embedded-processor architecture designed specifically for the Altera family of FPGAs. Nios II incorporates many enhancements over the original Nios architecture, making it more suitable for a wider range of embedded computing applications, from DSP to system-control. For more information about the Nios II processors see http://www.altera.com/literature/lit-nio2.jsp For more information on how compiling and booting software for the Nios II platform: http://www.rocketboards.org/foswiki/Documentation/NiosIILinuxUserManual Code: [[https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/arch/nios2|arch/nios2]] == Device Tree overlays == The Device Tree is a data structure for describing hardware that is passed to the operating system at boot time, rather than hard coding every detail of a device into an operating system. It is used most often in architectures like powerpc and ARM. The Device Tree is designed with static systems in mind, and has troubles adapting to custom expansion busses commonly found on consumer development boards like the BeagleBone or Raspberry Pi. This release introduces Device Tree overlay support. Overlays are a method to dynamically modify part of the kernel's device tree and make changes to properties in a existing tree. This makes easier to support devices such as the BeagleBone or Raspberry Pi. Recommended LWN article: [[http://lwn.net/Articles/616859/|Device tree overlays]] Code: [[https://git.kernel.org/linus/7518b5890d8ac366faa2326ce2356ef6392ce63d|commit]] |
Line 35: | Line 84: |
Also included is the first driver to benefit from this new switchdev infrastructure, it is a "rocker" driver for [https://github.com/sfeldma/qemu-rocker/ emulated switch chip implemented in qemu]. Code: [http://git.kernel.org/linus/020ec6ba2a0c4c1e147c506a0970b58a90d1146b commit], [http://git.kernel.org/linus/b7485f6b035a87685ce35e0e52deee6467811eb0 commit], [http://git.kernel.org/linus/93859b13fa7ecef9d4d8bab4a7acc9f212c8fce2 commit], [http://git.kernel.org/linus/f6f6424ba773da6221ecaaa70973eb4dacfa03b2 commit], [http://git.kernel.org/linus/02637fce3e0103ba086b9c33b6d529e69460e4b6 commit], [http://git.kernel.org/linus/007f790c8276271de26416f90d55561bcc96588a commit], [http://git.kernel.org/linus/82f2841291cfaf4d225aa1766424280254d3e3b2 commit], [http://git.kernel.org/linus/aecbe01e7410ad2de022796472f531ae6941f15e commit], [http://git.kernel.org/linus/38dcf357aed299186ecb090cc2f5290cc17d637d commit], [http://git.kernel.org/linus/cf6b8e1eedffd9ef9a22c0c9453d752b07daf89a commit], [http://git.kernel.org/linus/065c212a9e25172069f368b36228379521dadb65 commit], [http://git.kernel.org/linus/efacacdaf7cb5a0592ed772e3731636b2742e34a commit], [http://git.kernel.org/linus/345cd494a324c149ef7293f4bedf2d7131a6de7c commit], [http://git.kernel.org/linus/2c3c031c8f8930861815fa1685d7c5e8ccec047c commit], [http://git.kernel.org/linus/4b8ac9660af07be6f6602b523929793eed314997 commit], [http://git.kernel.org/linus/9f6bbf7cfcb4dd734ce6c3fe7e512274311de380 commit], [http://git.kernel.org/linus/6c7079450071f889b4c2b55f8d030b1a5e859401 commit], [http://git.kernel.org/linus/ce76ca689dfe0bafba21b0dc002c7f92eb629fd8 commit], [http://git.kernel.org/linus/5111f80cbc759bed12941678bd029fca76512815 commit], [http://git.kernel.org/linus/e75605822e3190a1bd7935599e93f13ab1ba7c9d commit], [http://git.kernel.org/linus/51ace887a0c08cc431f99d46ab63c6b316052640 commit] |
Also included is the first driver to benefit from this new switchdev infrastructure, it is a "rocker" driver for [[https://github.com/sfeldma/qemu-rocker/|emulated switch chip implemented in qemu]]. Code: [[https://git.kernel.org/linus/020ec6ba2a0c4c1e147c506a0970b58a90d1146b|commit]], [[https://git.kernel.org/linus/b7485f6b035a87685ce35e0e52deee6467811eb0|commit]], [[https://git.kernel.org/linus/93859b13fa7ecef9d4d8bab4a7acc9f212c8fce2|commit]], [[https://git.kernel.org/linus/f6f6424ba773da6221ecaaa70973eb4dacfa03b2|commit]], [[https://git.kernel.org/linus/02637fce3e0103ba086b9c33b6d529e69460e4b6|commit]], [[https://git.kernel.org/linus/007f790c8276271de26416f90d55561bcc96588a|commit]], [[https://git.kernel.org/linus/82f2841291cfaf4d225aa1766424280254d3e3b2|commit]], [[https://git.kernel.org/linus/aecbe01e7410ad2de022796472f531ae6941f15e|commit]], [[https://git.kernel.org/linus/38dcf357aed299186ecb090cc2f5290cc17d637d|commit]], [[https://git.kernel.org/linus/cf6b8e1eedffd9ef9a22c0c9453d752b07daf89a|commit]], [[https://git.kernel.org/linus/065c212a9e25172069f368b36228379521dadb65|commit]], [[https://git.kernel.org/linus/efacacdaf7cb5a0592ed772e3731636b2742e34a|commit]], [[https://git.kernel.org/linus/345cd494a324c149ef7293f4bedf2d7131a6de7c|commit]], [[https://git.kernel.org/linus/2c3c031c8f8930861815fa1685d7c5e8ccec047c|commit]], [[https://git.kernel.org/linus/4b8ac9660af07be6f6602b523929793eed314997|commit]], [[https://git.kernel.org/linus/9f6bbf7cfcb4dd734ce6c3fe7e512274311de380|commit]], [[https://git.kernel.org/linus/6c7079450071f889b4c2b55f8d030b1a5e859401|commit]], [[https://git.kernel.org/linus/ce76ca689dfe0bafba21b0dc002c7f92eb629fd8|commit]], [[https://git.kernel.org/linus/5111f80cbc759bed12941678bd029fca76512815|commit]], [[https://git.kernel.org/linus/e75605822e3190a1bd7935599e93f13ab1ba7c9d|commit]], [[https://git.kernel.org/linus/51ace887a0c08cc431f99d46ab63c6b316052640|commit]] == NFSv4.2 support for hole punching and preallocation == This release adds support for hole punching and preallocation in NFSv4.2 setups Code: [[https://git.kernel.org/linus/f4ac1674f5da420ef17896f0f222c5215ebcde80|commit]], [[https://git.kernel.org/linus/624bd5b7b683c978c6d5f4e9f6142cfb3470983d|commit]], [[https://git.kernel.org/linus/95d871f03cae6b49de040265cf88cbe2a16b9f05|commit]], [[https://git.kernel.org/linus/b0cb9085239a20b7482ddd4839dd1d5476801dfa|commit]] |
Line 40: | Line 96: |
All the driver and architecture-specific changes can be found in the [http://kernelnewbies.org/Linux_3.19-DriversArch Linux_3.19-DriversArch page] | All the driver and architecture-specific changes can be found in the [[http://kernelnewbies.org/Linux_3.19-DriversArch|Linux_3.19-DriversArch page]] |
Line 43: | Line 99: |
* ext4 * Create nojournal_checksum mount option to disable journal checksumming (because the metadata_csum feature turns it on by default now) [[https://git.kernel.org/linus/c6d3d56dd0ef6c15fc007413c9d024021c178cf9|commit]] * Prevent online resize while using backup superblock [[https://git.kernel.org/linus/011fa99404bea3f5d897c4983f6bd51170e3b18f|commit]] * F2FS * Introduce "fastboot" mount option for reducing mount time as much as possible, even though normal performance can be sacrificed [[https://git.kernel.org/linus/d5053a34a9cc797b9d5d77574354b5555848c43c|commit]] * Support storing directory entries inside inode page, can be enabled with "inline_dentry" mount option [[https://git.kernel.org/linus/34d67debe02b3b2b035b5bdce0fab75800f9a344|commit]], [[https://git.kernel.org/linus/201a05be9628ae58efe7638e0c7ae3937ec85273|commit]], [[https://git.kernel.org/linus/622f28ae9ba4fa89b4ff0f4a6cf75d153ea838ce|commit]], [[https://git.kernel.org/linus/5efd3c6f1be9cfbc621c9445cedd159998ed3ea6|commit]] * Add "dirsync" to allow sync operation on directory operations [[https://git.kernel.org/linus/b7e1d800031c827a80c9a9d03cf15e4dd5405a44|commit]] * AFFS * Add support to O_DIRECT [[https://git.kernel.org/linus/9abb408307008a19be5719bbf1d069bb3ed7aa60|commit]] * SquashFS * Add LZ4 compression support [[https://git.kernel.org/linus/9c06a46f1524a05b2dccf5c74d7555b2cfcbe5db|commit]] * Ceph * Support inline data feature [[https://git.kernel.org/linus/65a22662bfe1a84d72b9bbd9146b6782b9e53478|commit]] * Add CREATE osd operation support [[https://git.kernel.org/linus/864e9197f10c77053bbaf12932f5b200bb4ed3c5|commit]] * Add SETXATTR/CMPXATTR osd operations support [[https://git.kernel.org/linus/d74b50bed037794135cb5a4e7418ad71d9848ce1|commit]] * Message signature support [[https://git.kernel.org/linus/33d07337962c7bbd2fd5cf7f1106735c9507fbe2|commit]] |
|
Line 44: | Line 122: |
* Make debug-pagealloc boottime configurable with kernel parameter debug_pagealloc [[https://git.kernel.org/linus/031bc5743f158b2d5498294f489e534a31251626|commit]] * Resurrect struct page extending code for debugging [[https://git.kernel.org/linus/eefa864b701d78dc9753c70a3540a2e9ae192595|commit]] * memcontrol: lockless page counters [[https://git.kernel.org/linus/3e32cb2e0a12b6915056ff04601cf1bb9b44f967|commit]] |
|
Line 45: | Line 127: |
* Remove artificial max_hw_sectors cap [http://git.kernel.org/linus/34b48db66e08ca1c1bc07cf305d672ac940268dc commit] | * dm cache: improve discard performance and memory usage [[https://git.kernel.org/linus/7ae34e7778966d39f66397491eb114b613202c20|commit]] * dm thin: performance improvement to discard processing. Discarding a fully provisioned 100G thin volume with 64k block size goes from 860s to 95s with this change [[https://git.kernel.org/linus/7a7e97ca580b944d2c89b59bc74a7b9ddd044705|commit]] * dm thin: throttle incoming IO, which helps dm-thinp perform better under heavy IO load [[https://git.kernel.org/linus/7d327fe051edcccf54da7b6733c58992473f228b|commit]] * Remove artificial max_hw_sectors cap [[https://git.kernel.org/linus/34b48db66e08ca1c1bc07cf305d672ac940268dc|commit]] |
Line 48: | Line 133: |
* RCU locking: Remove CONFIG_RCU_CPU_STALL_VERBOSE, future kernel builds will always act as if CONFIG_RCU_CPU_STALL_VERBOSE=y [http://git.kernel.org/linus/0eafa46823971b4c368f4cdf19f1d081c4ee52b7 commit] * RCU locking: PREEMPT_RCU and TREE_PREEMPT_RCU serve the same function after TINY_PREEMPT_RCU has been removed, this release removes redundant TREE_PREEMPT_RCU config option [http://git.kernel.org/linus/28f6569ab7d036cd4ee94c26bb76dc1b3f3fc056 commit] * RCU: Rename CONFIG_RCU_BOOST_PRIO to CONFIG_RCU_KTHREAD_PRIO and use this value for both the per-CPU kthreads (rcuc/N) and the rcu boosting threads (rcub/n). Also add rcutree.kthread_prio boot option that sets the SCHED_FIFO priority of the RCU per-CPU and rcu boosting kthreads [http://git.kernel.org/linus/21871d7eff2c96ae67e18e00adf59d56940e2fcc commit] |
* Conversion of i_mmap_mutex to a rwsem The i_mmap_mutex is an important lock that is used to protect file backed pages. In this release it has been turned from a mutex to a read-write semaphore, improving performance in many cases. For benchmarks, see the first commit [[https://git.kernel.org/linus/8b28f621bea6f84d44adf7e804b73aff1e09105b|commit]], [[https://git.kernel.org/linus/83cde9e8ba95d180eaefefe834958fbf7008cf39|commit]], [[https://git.kernel.org/linus/c8c06efa8b552608493b7066c234cfa82c47fcea|commit]], [[https://git.kernel.org/linus/3dec0ba0be6a532cac949e02b853021bf6d57dad|commit]], [[https://git.kernel.org/linus/d28eb9c861f41aa2af4cfcc5eeeddff42b13d31e|commit]], [[https://git.kernel.org/linus/1acf2e040721564d579297646862b8ea3dd4511b|commit]], [[https://git.kernel.org/linus/874bfcaf79e39135cd31e1cfc9265cf5222d1ec3|commit]], [[https://git.kernel.org/linus/4a23717a236b2ab31efb1651f586126789fc997f|commit]] * RCU locking: Remove CONFIG_RCU_CPU_STALL_VERBOSE, future kernel builds will always act as if CONFIG_RCU_CPU_STALL_VERBOSE=y [[https://git.kernel.org/linus/0eafa46823971b4c368f4cdf19f1d081c4ee52b7|commit]] * RCU locking: PREEMPT_RCU and TREE_PREEMPT_RCU serve the same function after TINY_PREEMPT_RCU has been removed, this release removes redundant TREE_PREEMPT_RCU config option [[https://git.kernel.org/linus/28f6569ab7d036cd4ee94c26bb76dc1b3f3fc056|commit]] * RCU: Rename CONFIG_RCU_BOOST_PRIO to CONFIG_RCU_KTHREAD_PRIO and use this value for both the per-CPU kthreads (rcuc/N) and the rcu boosting threads (rcub/n). Also add rcutree.kthread_prio boot option that sets the SCHED_FIFO priority of the RCU per-CPU and rcu boosting kthreads [[https://git.kernel.org/linus/21871d7eff2c96ae67e18e00adf59d56940e2fcc|commit]] * IPC: increase SEMMSL, SEMMNI, SEMOPM [[https://git.kernel.org/linus/e843e7d2c88b7db107a86bd2c7145dc715c058f4|commit]] fault-inject: add ratelimit option [[https://git.kernel.org/linus/6adc4a22f20bbf3bbc754f1ec8c82be5dfb5c71a|commit]] * Introduce new interfaces to support hierarchy irqdomains [[https://git.kernel.org/linus/f8264e34965aaf43203912ed8f7b543c00c8d70f|commit]] * PCI/MSI: Support hierarchy irqdomain [[https://git.kernel.org/linus/3878eaefb89aa841ae4c2150490cee864ac628cb|commit]] * PCI: Remove PCI ioapic driver: it is plannedto reimplement IOAPIC driver as an ACPI instead of PCI driver [[https://git.kernel.org/linus/5db66334a7e83cda70fb6193dcaa2590da3a1b7d|commit]] * Implement execveat() system call [[https://git.kernel.org/linus/51f39a1f0cea1cacf8c787f652f26dfee9611874|commit]] * Openfirmware: export Flattened Device Tree blob as /sys/firmware/fdt [[https://git.kernel.org/linus/08d53aa58cb162e65e25dbe31d28438657cb8e33|commit]] * Openfirmware: Move platform devices under /sys/devices/platform [[https://git.kernel.org/linus/43c0767e17ac70e494b6a381b3a20be6a1a75c70|commit]] |
Line 53: | Line 149: |
* Add user space interface for AEAD [http://git.kernel.org/linus/af8e80731a94ff9de9508b01d9e5d931d538dc6b commit] * crc32: Add ARM64 CRC32 hw accelerated module [http://git.kernel.org/linus/f6f203faa3ebd8fa229e34424850a0919ded6c10 commit] * sahara: add support for SHA1/256 [http://git.kernel.org/linus/5a2bb93f599247e049f5ae06a573f1152987c572 commit] * caam: add support for AES working in Galois Counter Mode [http://git.kernel.org/linus/3ef8d945d0dafd272e77c01099bc4975c5297a5a (commit)], add support for AES in Galois/Counter Mode as an IPsec Encapsulating Security Payload mechanism [http://git.kernel.org/linus/bac68f2c9a43e60a70e27c0c75aaca7128b6271d (commit)], add support for AES working in Counter mode [http://git.kernel.org/linus/2b22f6c547f90e1a41e3f39ad8d569e3efc74d42 (commit)], add support for AES Counter Mode compliant with RFC3686 to be used along with authenc algorithms (md5, sha1, sha224, sha256, sha384, sha512) as one-shot aead algorithms [http://git.kernel.org/linus/daebc465858867f48ee86a88f56020c3fe0d96f6 (commit)], add support for one-shot givencrypt algorithms [http://git.kernel.org/linus/7222d1a3410388c8e21a5028ba2beb498938b57f (commit)], add support for Advanced Encryption Standard in Counter Mode as provided in IPsec implementation standard RFC3686 [http://git.kernel.org/linus/a5f57cffce8af8d2c11204b4e289543021c73766 (commit)], add support for AES-GMAC as an IPSec ESP mechanism to provide data origin authentication, but not confidentiality [http://git.kernel.org/linus/5d0429a30f06845af78a696de59e3e8d21252846 (commit)] |
* Add user space interface for AEAD [[https://git.kernel.org/linus/af8e80731a94ff9de9508b01d9e5d931d538dc6b|commit]] * crc32: Add ARM64 CRC-32 hardware accelerated module [[https://git.kernel.org/linus/f6f203faa3ebd8fa229e34424850a0919ded6c10|commit]] * sahara: add support for SHA-1/256 [[https://git.kernel.org/linus/5a2bb93f599247e049f5ae06a573f1152987c572|commit]] * caam: add support for AES working in Galois Counter Mode [[https://git.kernel.org/linus/3ef8d945d0dafd272e77c01099bc4975c5297a5a|(commit)]], add support for AES in Galois/Counter Mode as an IPsec Encapsulating Security Payload mechanism [[https://git.kernel.org/linus/bac68f2c9a43e60a70e27c0c75aaca7128b6271d|(commit)]], add support for AES working in Counter mode [[https://git.kernel.org/linus/2b22f6c547f90e1a41e3f39ad8d569e3efc74d42|(commit)]], add support for AES Counter Mode compliant with RFC3686 to be used along with authenc algorithms (md5, sha1, sha224, sha256, sha384, sha512) as one-shot aead algorithms [[https://git.kernel.org/linus/daebc465858867f48ee86a88f56020c3fe0d96f6|(commit)]], add support for one-shot given crypt algorithms [[https://git.kernel.org/linus/7222d1a3410388c8e21a5028ba2beb498938b57f|(commit)]], add support for Advanced Encryption Standard in Counter Mode as provided in IPsec implementation standard RFC3686 [[https://git.kernel.org/linus/a5f57cffce8af8d2c11204b4e289543021c73766|(commit)]], add support for AES-GMAC as an IPSec ESP mechanism to provide data origin authentication, but not confidentiality [[https://git.kernel.org/linus/5d0429a30f06845af78a696de59e3e8d21252846|(commit)]] = Virtualization = * virtio_scsi: support multi hw queue of blk-mq [[https://git.kernel.org/linus/ccbedf117f015d4f415130069b47d63c359bc110|commit]] * tools: hv: introduce -n/--no-daemon option [[https://git.kernel.org/linus/170f4bea2008054e5098f99359e29823a7b4b1b9|commit]] * hyperv: Add support for vNIC hot removal [[https://git.kernel.org/linus/c3582a2c4d0baf1fa3955c8b3d3d61308df474c7|commit]] * KVM: remove unsupported and unused itanium support [[https://git.kernel.org/linus/003f7de6258900e17f6206e8e417d76c75ca549f|commit]] |
Line 59: | Line 161: |
= Virtualization = | * IMA * Added support for new kernel cmdline parameter ima_template_fmt, it allows users to provide a custom template format [[https://git.kernel.org/linus/c2426d2ad5027397342107b7ff094aa9b234acb8|commit]] * Load X.509 certificate from the kernel [[https://git.kernel.org/linus/fd5f4e9054acbf4f22fac81a358baf3c27aa42ac|commit]] * Require signature based appraisal [[https://git.kernel.org/linus/c57782c13ecd7e7aca66cbf0139ad2a72317dc81|commit]] |
Line 61: | Line 168: |
* tracing: Allow NOT (``!) to filter AND (&&) and OR (||) clauses [[https://git.kernel.org/linus/eabb8980a96cff42ae70cc6ab143f4003f02c874|commit]] * perf annotate: Support source line numbers in annotate [[https://git.kernel.org/linus/e592488c01d51763de847fcecb3d969231a483a9|commit]] * perf callchain: Support handling complete branch stacks as histograms [[https://git.kernel.org/linus/8b7bad58efb7e3aaff60f7c1fa4361fb8c23181d|commit]], [[https://git.kernel.org/linus/fa94c36c29ed8bb4749b5fd7ea51a593f673dcef|commit]] * perf probe: Add --quiet option to suppress output result message [[https://git.kernel.org/linus/5e17b28f1e246b98e08cb463f7d72cff6415fc53|commit]] * perf record: Add new -I option to capture machine state registers at interrupt [[https://git.kernel.org/linus/6a21c0b5c2abd2fdfa6fff79f11df3d6082c1873|commit]], [[https://git.kernel.org/linus/4b6c51773d86883a2e80cffadbe4f178ac1babd8|commit]] * perf script: Add Python script to export to postgresql [[https://git.kernel.org/linus/2987e32f75dcb40bce0f3ab1d5d48cc1c580fd8b|commit]] * perf tools: Add --buildid-dir option to set cache directory [[https://git.kernel.org/linus/99ce8e9fce99147f865cda8a8e471900518c9a49|commit]] * perf tools: Add gzip decompression support for kernel module [[https://git.kernel.org/linus/e92ce12ed6a46302f64269d2d406cf04525f0a8f|commit]] |
|
Line 62: | Line 178: |
* net: allow setting ecn via routing table [http://git.kernel.org/linus/f7b3bec6f5167efaf56b756abfafb924cb1d3050 commit] * IPv6: Add a sysctl (use_optimistic and optimistic_dad) that causes an interface's optimistic addresses to be considered equivalent to other non-deprecated addresses for source address selection purposes. Preferred addresses will still take precedence over optimistic addresses, subject to other ranking in the source address selection algorithm. This is useful where different interfaces are connected to different networks from different ISPs (e.g., a cell network and a home wifi network) [http://git.kernel.org/linus/7fd2561e4ebdd070ebba6d3326c4c5b13942323f commit] * Generic receive offload: add a per device gro flush timer. This new mechanism is off by default, and shall be enabled by setting /sys/class/net/ethX/gro_flush_timeout to a value in nanosecond [http://git.kernel.org/linus/3b47d30396bae4f0bd1ff0dbcd7c4f5077e7df4e commit] * Add SO_INCOMING_CPU socket option, which allows userspace to ask for the CPU upon what a packet was received/steered [http://git.kernel.org/linus/2c8c56e15df3d4c2af3d656e44feb18789f75837 commit] * Allow eBPF programs to be attached to sockets [http://git.kernel.org/linus/89aa075832b0da4402acebd698d0411dcc82d03e commit] * Netfilter * nft_meta: add cgroup support [http://git.kernel.org/linus/ce674173e9f4ef7fd0dc04ea0773cdedfbf8e366 commit] * TIPC protocol: New netlink API, for detail see the [https://git.kernel.org/linus/49ed2617a06abacaccd46fa88ae14c333baa15f0 merge commit]. Code: [http://git.kernel.org/linus/0655f6a8635b1b66f2434d5556b1044c14b1ccaf commit], [http://git.kernel.org/linus/35b9dd7607f049466a66427e58818b29aeae9ea7 commit], [http://git.kernel.org/linus/315c00bc9f2bd17f7ad7ed8119ca49b1125af507 commit], [http://git.kernel.org/linus/7be57fc6918470ecacd16b89c0d4f73d8fc265c4 commit], [http://git.kernel.org/linus/f96ce7a20d6972a834202f3cdd6a53fd0ee26a8e commit], [http://git.kernel.org/linus/ae36342b50a91cff188e417201452dc075a8f444 commit], [http://git.kernel.org/linus/46f15c6794fb744bb7741d26143a85b9012c10d4 commit], [http://git.kernel.org/linus/1e55417d8fc6f6d93b1cc6995b911d48ded2adfb commit], [http://git.kernel.org/linus/1593123a6a4914ccac4699d7f93cdf8057a7d822 commit], [http://git.kernel.org/linus/fd3cf2ad519f73c2f7a46460ebedf32ad246520c commit], [http://git.kernel.org/linus/27c21416727af73df45051acb05331c0f10e50f6 commit], [http://git.kernel.org/linus/3e4b6ab58d614934e7ca99bdf448089695d34ffa commit], [http://git.kernel.org/linus/1a1a143daf84db95dd7212086042004a3abb7bc2 commit], [http://git.kernel.org/linus/34b78a127c4fd57cf3d5c64031693d10a8e0fae1 commit] |
* net: allow setting ECN via routing table [[https://git.kernel.org/linus/f7b3bec6f5167efaf56b756abfafb924cb1d3050|commit]] * IPv6: Add a sysctl (use_optimistic and optimistic_dad) that causes an interface's optimistic addresses to be considered equivalent to other non-deprecated addresses for source address selection purposes. Preferred addresses will still take precedence over optimistic addresses, subject to other ranking in the source address selection algorithm. This is useful where different interfaces are connected to different networks from different ISPs (e.g., a cell network and a home Wi-Fi network) [[https://git.kernel.org/linus/7fd2561e4ebdd070ebba6d3326c4c5b13942323f|commit]] * Generic receive offload: add a per device gro flush timer. This new mechanism is off by default, and shall be enabled by setting /sys/class/net/ethX/gro_flush_timeout to a value in nanosecond [[https://git.kernel.org/linus/3b47d30396bae4f0bd1ff0dbcd7c4f5077e7df4e|commit]] * Add SO_INCOMING_CPU socket option, which allows userspace to ask for the CPU upon what a packet was received/steered [[https://git.kernel.org/linus/2c8c56e15df3d4c2af3d656e44feb18789f75837|commit]] * Allow eBPF programs to be attached to sockets. See related [[http://lwn.net/Articles/625224/|LWN article]] [[https://git.kernel.org/linus/89aa075832b0da4402acebd698d0411dcc82d03e|commit]] * Add support for remote checksum offload for Generic UDP Encapsulation (GUE), which is a mechanism that provides checksum offload of encapsulated packets using rudimentary offload capabilities found in most network devices. The outer header checksum for UDP is enabled in packets and, with some additional meta information in the GUE header, a receiver is able to deduce the checksum to be set for an inner encapsulated packet. Effectively this offloads the computation of the inner checksum. Remote checksum offload is described in http://tools.ietf.org/html/draft-herbert-remotecsumoffload-00 . For more details and benchmarks, see the [[https://git.kernel.org/linus/1d76c1d028975df8488d1ae18a76f268eb5efa93|merge commit]]. Code: [[https://git.kernel.org/linus/4bcb877d257c87298aedead1ffeaba0d5df1991d|commit]], [[https://git.kernel.org/linus/5024c33ac354577635c5671498891eb197f3ec4d|commit]], [[https://git.kernel.org/linus/e585f23636370320bc2071ca5ba2744ae37c3e51|commit]], [[https://git.kernel.org/linus/c1aa8347e73e4092411fbd96cc59531fb7e76d04|commit]], [[https://git.kernel.org/linus/b17f709a24013fcbb257f6f89b4d81ac9fdf0d18|commit]], [[https://git.kernel.org/linus/a8d31c128bf574bed2fa29e0512b24d446018a50|commit]] * Netfilter nft_meta: add cgroup support [[https://git.kernel.org/linus/ce674173e9f4ef7fd0dc04ea0773cdedfbf8e366|commit]] * ipvlan: New IPVLAN driver. It is conceptually very similar to the macvlan driver with one major exception of using L3 for mux-ing /demux-ing among slaves. This property makes the master device share the L2 with it's slave devices. It allows to create virtual devices off of a main interface and packets will be delivered based on the dest L3 (IPv6/IPv4 address) on packets. All interfaces (including the main interface) share L2 making it transparent to the connected L2 switch. For more details see the [[https://github.com/torvalds/linux/blob/master/Documentation/networking/ipvlan.txt|Documentation]] [[https://git.kernel.org/linus/2ad7bf3638411cb547f2823df08166c13ab04269|commit]] * ip6_tunnel: Add support for tunnels with local or remote wildcard endpoints. With this we get a NBMA tunnel mode like we have it for IPv4 and sit tunnels [[https://git.kernel.org/linus/ea3dc9601bda69d8d695b57c4f7a997cd7039781|commit]] * ip6_tunnel: allow to change mode for the fallback tunnel device, ip6tnl0 [[https://git.kernel.org/linus/acf722f73499d85e959ce99cf22d1b827d0b273a|commit]] * ipv6: Allow sending packets through tunnels with wildcard endpoints [[https://git.kernel.org/linus/d50051407f136028108cfda068d55ef053a54fe1|commit]] * bpf: reduce verifier memory consumption [[https://git.kernel.org/linus/9c3997601d51069ec08d7d06cf31a17884056cc2|commit]] * bridge: Add support for IEEE 802.11 Proxy ARP. This feature is defined in IEEE Std 802.11-2012, 10.23.13. It allows the AP devices to keep track of the hardware-address-to-IP-address mapping of the mobile devices within the WLAN network [[https://git.kernel.org/linus/958501163ddd6ea22a98f94fa0e7ce6d4734e5c4|commit]] * tcp_cubic: add SNMP counters to track how effective is Hystart [[https://git.kernel.org/linus/6e3a8a937c2f86ee0b2d354808fc026a143b4518|commit]] * sunrpc: add a debugfs rpc_xprt directory with an info file in it [[https://git.kernel.org/linus/388f0c776781fe64ce951701bfe712b2182a31f2|commit]], add debugfs file for displaying client rpc_task queue [[https://git.kernel.org/linus/b4b9d2ccf0be61c69213f6ae4e33377c05194ef4|commit]] * TIPC protocol: New netlink API, for detail see the [[https://git.kernel.org/linus/49ed2617a06abacaccd46fa88ae14c333baa15f0|merge commit]]. Code: [[https://git.kernel.org/linus/0655f6a8635b1b66f2434d5556b1044c14b1ccaf|commit]], [[https://git.kernel.org/linus/35b9dd7607f049466a66427e58818b29aeae9ea7|commit]], [[https://git.kernel.org/linus/315c00bc9f2bd17f7ad7ed8119ca49b1125af507|commit]], [[https://git.kernel.org/linus/7be57fc6918470ecacd16b89c0d4f73d8fc265c4|commit]], [[https://git.kernel.org/linus/f96ce7a20d6972a834202f3cdd6a53fd0ee26a8e|commit]], [[https://git.kernel.org/linus/ae36342b50a91cff188e417201452dc075a8f444|commit]], [[https://git.kernel.org/linus/46f15c6794fb744bb7741d26143a85b9012c10d4|commit]], [[https://git.kernel.org/linus/1e55417d8fc6f6d93b1cc6995b911d48ded2adfb|commit]], [[https://git.kernel.org/linus/1593123a6a4914ccac4699d7f93cdf8057a7d822|commit]], [[https://git.kernel.org/linus/fd3cf2ad519f73c2f7a46460ebedf32ad246520c|commit]], [[https://git.kernel.org/linus/27c21416727af73df45051acb05331c0f10e50f6|commit]], [[https://git.kernel.org/linus/3e4b6ab58d614934e7ca99bdf448089695d34ffa|commit]], [[https://git.kernel.org/linus/1a1a143daf84db95dd7212086042004a3abb7bc2|commit]], [[https://git.kernel.org/linus/34b78a127c4fd57cf3d5c64031693d10a8e0fae1|commit]] * ethtool: Support for configurable RSS hash function [[https://git.kernel.org/linus/892311f66f2411b813ca631009356891a0c2b0a1|commit]] * Infiniband: On-demand paging support for Infiniband. This lets userspace create non-pinned memory regions and have the adapter HW trigger page faults [[https://git.kernel.org/linus/8ada2c1c0c1d75a60723cd2ca7d49c594a146af6|commit]] * NFC digital improvements for DEP support: Chaining, NACK and ATN support added [[https://git.kernel.org/linus/384ab1d174a11292af63674a26eaa99864db9b48|commit]], [[https://git.kernel.org/linus/a80509c76bf2b10dae76f3caea343ac4b85c72b4|commit]], [[https://git.kernel.org/linus/c12715ab3f0122971f75731b9c2f5b35836165cb|commit]], [[https://git.kernel.org/linus/3bd2a5bcc6cd7b8d588aa9ffa947177721eba18e|commit]], [[https://git.kernel.org/linus/9b5ec0fd584df424c0541f631b7c1154697bf227|commit]], [[https://git.kernel.org/linus/49dbb14e30c3249f98fe243c3e21b91d10c5c59b|commit]] * Wireless * Add a new WoWLAN API to enable net-detect as a wake up trigger. Net-detect allows the device to scan in the background while the host is asleep to wake up the host system when a matching network is found [[https://git.kernel.org/linus/8cd4d4563ef0a518002c4a8f47dd950afe386ea8|commit]] * Allow scanning with random MAC addresses [[https://git.kernel.org/linus/ad2b26abc157460ca6fac1a53a2bfeade283adfa|commit]] * Support creating wiphy devices with an optional name. This will be used by hwsim to have better automated control over virtual radio creation/deletion [[https://git.kernel.org/linus/ad28757eef268e609677d0e3d8c0bdadde52a711|commit]], [[https://git.kernel.org/linus/1998d90ad424c1ff12ea24816ce158d5262e06a5|commit]] * Allow channel switch with multiple channel contexts [[https://git.kernel.org/linus/0f791eb47f8222fd594e6f8a090632344ef23924|commit]] * Support creating vifs with specified mac address [[https://git.kernel.org/linus/b5dfae020b3539feaa014d3b6152f48660c2d75b|commit]] * Support creating wiphy w/out creating wlanX [[https://git.kernel.org/linus/e27513fbd030d8558cfa9250bd62b2baf19dc114|commit]] * Add support for driver tx power reporting [[https://git.kernel.org/linus/5b3dc42b1b0db0264bbbe4ae44c15ab97bfd1e93|commit]] * Add support for 802.11p OCB (Outside the Context of a BSS) mode [[https://git.kernel.org/linus/239281f803e2efdb77d906ef296086b6917e5d71|commit]] * Allow to query mesh proxy path table [[https://git.kernel.org/linus/66be7d2bcd826344894be09dc385f9f805136b84|commit]], [[https://git.kernel.org/linus/a2db2ed3fb7d35ff2405d08fc012a5db8ddb36e0|commit]] * Add WMM admission control support [[https://git.kernel.org/linus/02219b3abca59fca81711bfe7ee78df7abad97ce|commit]] * minstrel rate control algorithm: add basic support for VHT rates <= 3SS@80MHz [[https://git.kernel.org/linus/9208247d74bc52dcaf370ba3cee29b5e8775464b|commit]] * Add extended channel switching capability if the driver supports CSA [[https://git.kernel.org/linus/e9a21949b79414dda42a017855b288901c07e613|commit]] * Add TDLS channel switch [[https://git.kernel.org/linus/a7a6bdd0670feb8bfc26d41cda32b6064dbca50e|commit]], [[https://git.kernel.org/linus/1057d35ede5dbf7ed7842357564fb42c9b54ba50|commit]], [[https://git.kernel.org/linus/c2733905692589cc73928ffd65d26107536e80fe|commit]] * Allow any interface to send NL80211_CMD_CH_SWITCH_NOTIFY channel switch notifications to the userspace to let it decide whether other interfaces need to be moved as well. This is needed when we want a P2P GO interface to follow the channel of a station, for example [[https://git.kernel.org/linus/d04b5ac9e70b2056a8a12f768f4b46773576025e|commit]] * Send channel switch started notifications [[https://git.kernel.org/linus/2f4572930dbd79216294a94e331478513c65df78|commit]] * mac80211-hwsim: Add HWSIM_CMD_GET_RADIO command [[https://git.kernel.org/linus/93d638d49cac96a93abf09bb3526f2112d9f8387|commit]], add ethtool stats support [[https://git.kernel.org/linus/2155c3f82327bddd092bd704ebaff79c0a2dfb9c|commit]], support SGI-20 [[https://git.kernel.org/linus/e49786dbebc91658c86fb2be746968221147ffc4|commit]], support creating radios with specific name [[https://git.kernel.org/linus/5cd8926bbf47ee0eb51a266bd9614dd3f93c004f|commit]], support creating wiphy w/out creating wlanX [[https://git.kernel.org/linus/9a0cb89a8aad7c04505abf88202b1dd376fc50bc|commit]], support destroying radio by name [[https://git.kernel.org/linus/8cdd9e1c37dd888894922b8209d5fc8055cfde52|commit]], support scanning with random MAC address [[https://git.kernel.org/linus/339467b906f599b6f3a479dffe7f5bb0241b78ac|commit]] * openvswitch * Add basic MPLS support to kernel: Allow datapath to recognize and extract MPLS labels into flow keys and execute actions which push, pop, and set labels on packets [[https://git.kernel.org/linus/25cd9ba0abc0749e5cb78e6493c6f6b3311ec6c5|commit]] * Add support for OVS_FLOW_ATTR_PROBE. This new flag is useful for suppressing error logging while probing for datapath features using flow commands [[https://git.kernel.org/linus/05da5898a96c05e32aa9850c9cd89eef29471b13|commit]] * Extend packet attribute for exporting egress tunnel info to userspace [[https://git.kernel.org/linus/8f0aad6f35f7e8b3118b7b8a65e8e76b135cc4cb|commit]] * IEEE 802.15.4 * Add nl802154 framework [[https://git.kernel.org/linus/79fe1a2aa7b504c68642e510154f17e2de60da60|commit]], [[https://git.kernel.org/linus/b821ecd4c8a0b3b1fc1bdd191bb7d555d818cafe|commit]], [[https://git.kernel.org/linus/f3ea5e44231a88eaea69a13410d1b80c19cfa1df|commit]], [[https://git.kernel.org/linus/656a999e8701c1e3d17040f051d3a080ec6c710c|commit]], [[https://git.kernel.org/linus/ab0bd561724bf3c09aa80e76ca0a187c6880bc5c|commit]], [[https://git.kernel.org/linus/c8937a1d112b1a948454f4fa2f9b747fee2a3f66|commit]], [[https://git.kernel.org/linus/a01ba7652cda5602b248efff168450ec658640b8|commit]], [[https://git.kernel.org/linus/17a3a46bfbf1c2b944812a81b11ffe255a55e9ca|commit]], [[https://git.kernel.org/linus/702bf371282f5912fe53f0b247fa2d7df9d7951f|commit]], [[https://git.kernel.org/linus/9830c62a0b3d57d9d00880989cfe987f581bc03f|commit]] * Remove fakehard driver [[https://git.kernel.org/linus/36426484fcaca2153616d6f3496b389a5b11bd9f|commit]] * Add sysfs entries for wpan_phy index and name, needed for the new 802.15.4 userspace tool [[https://git.kernel.org/linus/a6fd693f6b862cd73fc90849353492406cfba5f6|commit]] * Bluetooth * Support for the Low Energy Secure Connections feature that's part of the Bluetooth 4.2 specification [[https://git.kernel.org/linus/b5f185f33d0432cef6ff78765e033dfa8f4de068|commit]] * Add logic for UUID filter handling [[https://git.kernel.org/linus/799ce93df07bfc85296fc8357fd3a12fdfd4f175|commit]] * Add support for enabling Extended Scanner Filter Policies [[https://git.kernel.org/linus/4efbb2ce8b6f693ce9607c28082f542a70eb5934|commit]] * Add support for Start Service Discovery command [[https://git.kernel.org/linus/66ea9427e08cb0a856006012b15e6b93ce379115|commit]] * mac802154 * Add basic support for monitor mode [[https://git.kernel.org/linus/38130c31ef50de1999983601e448db2b1bc1057c|commit]] * Add support for promiscuous mode [[https://git.kernel.org/linus/94b792220ca9c080f4d1da8060f4c892c1b3b025|commit]] = List of merges = * [[https://git.kernel.org/linus/3a7dbed7f23cdde8394e9adf92cc222856e0fc1e|MFD updates]] * [[https://git.kernel.org/linus/0160928e792eff243c84b39a46cddb2fb89da0cb|EDAC updates]] * [[https://git.kernel.org/linus/177808cd28ac793d654bb1ae5ae1f778e7b3864f|hwmon updates]] * [[https://git.kernel.org/linus/de740386447f768d3ea03137761364dd13f499b3|regmap updates]] * [[https://git.kernel.org/linus/f94784bdb114439eb3a5e62343826887bbf3f37c|regulator updates]] * [[https://git.kernel.org/linus/140dfc9299c33bbfc9350fa061f5ab65cb83df13|device mapper updates]] * [[https://git.kernel.org/linus/f3f62a38ceda4e4d34a1dc3ebbc0f8d426c9e8d9|SCSI updates]] * [[https://git.kernel.org/linus/a4a26e8e924a8e2412b63276c1a23cc127997a73|Altera Nios II processor support]] * [[https://git.kernel.org/linus/50569687e9c688a8688982805be6d8e3c8879042|m68k updates]] * [[https://git.kernel.org/linus/b64bb1d758163814687eb3b84d74e56f04d0c9d1|arm64 updates]] * [[https://git.kernel.org/linus/0563fdc0d9fbd4d8896956d4aeb01fad09146acc|ARM SoC cleanup on mach-at91]] * [[https://git.kernel.org/linus/6c9e92476bc924ede6d6d2f0bfed2c06ae148d29|ARM SoC cleanups]] * [[https://git.kernel.org/linus/6cd94d5e57ab97ddd672b707ab4bb639672c1727|ARM SoC platform changes]] * [[https://git.kernel.org/linus/3a647c1d7ab08145cee4b650f5e797d168846c51|ARM SoC driver updates]] * [[https://git.kernel.org/linus/6da314122ddc11936c6f054753bbb956a499d020|ARM SoC DT updates]], [[https://git.kernel.org/linus/205dc205ed3ba748bab9770016bbbffb68558146|part 2]] * [[https://git.kernel.org/linus/fe78c54b4788b69bb2a8f157b524c933ea0c66d5|ARM SoC/OMAP GPMC driver cleanup]] * [[https://git.kernel.org/linus/151cd97630f87451cab412e40750d0e5f7581c98|ARM SoC defconfig changes]] * [[https://git.kernel.org/linus/ed8efd2de75479a175bd21df073d9e97df65a820|ARM64 SoC changes]] * [[https://git.kernel.org/linus/a0e4467726cd26bacb16f13d207ffcfa82ffc07d|asm-generic asm/io.h rewrite]] * [[https://git.kernel.org/linus/9c37f95936b6c169e89733747504879b06e77c24|locking tree changes]] * [[https://git.kernel.org/linus/c30110608cfba7efff3a5e71914aee7c816115c5|RCU updates]] * [[https://git.kernel.org/linus/5706ffd045c3810912c4982357d7daa721af3464|perf events update]] * [[https://git.kernel.org/linus/86c6a2fddf0b89b494c7616f2c06cf915c4bff01|scheduler updates]] * [[https://git.kernel.org/linus/a157508c9790ccd1c8b5c6a828d6ba85bbe95aaa|timer core updates]] * [[https://git.kernel.org/linus/ecb50f0afd35a51ef487e8a54b976052eb03d729|irq core updates]] * [[https://git.kernel.org/linus/9e66645d72d3c395da92b0f8855c787f4b5f0e89|irq domain updates]] * [[https://git.kernel.org/linus/3eb5b893ebec7325ac9e6b8e4864af89a9ca1ed1|x86 MPX support]] * [[https://git.kernel.org/linus/d82012695ef29e4e1c8153ccf43098ec8e50369e|2038 timer work]] * [[https://git.kernel.org/linus/9d0cf6f56454c8a71e0aa2c3b9c6cbe470eb2788|x86 asm updates]] * [[https://git.kernel.org/linus/b6444bd0a18eb47343e16749ce80a6ebd521f124|x86 boot and percpu updates]] * [[https://git.kernel.org/linus/206f18f2caaf965870ff558e237e9c23164a66f0|x86 build, cleanup and defconfig updates]] * [[https://git.kernel.org/linus/8139548136d966863751a6e5ce8a19d08c4f374a|EFI updates]] * [[https://git.kernel.org/linus/773fed910d41e443e495a6bfa9ab1c2b7b13e012|x86 platform changes]] * [[https://git.kernel.org/linus/a023748d53c10850650fe86b1c4a7d421d576451|x86 mm tree changes]] * [[https://git.kernel.org/linus/c9f861c77269bc9950c16c6404a9476062241671|x86 RAS update]] * [[https://git.kernel.org/linus/3100e448e7d74489a96cb7b45d88fe6962774eaa|x86 vdso updates]] * [[https://git.kernel.org/linus/3a5dc1fafb016560315fe45bb4ef8bde259dd1bc|x86 microcode loading updates]] * [[https://git.kernel.org/linus/e20db597b6264de55ea6636fc79b1e4aaa89d129|NFS client updates]] * [[https://git.kernel.org/linus/08e2fb6ce69857f71ef846ba69af025ca4ad09c4|pstore fixes]] * [[https://git.kernel.org/linus/1715ac63d36b52b2932c17bf8ceccf058f02e57b|GFS2 update]] * [[https://git.kernel.org/linus/a6b849578ef3e0b131b1ea4063473a4f935a65e9|cifs update]] * [[https://git.kernel.org/linus/4b0a268eeccae14d42ff5fb9f19b612913c0007c|f2fs updates]] * [[https://git.kernel.org/linus/1366f5d3129f2abde606214de7afc3dd61781fa3|quota updates]] * [[https://git.kernel.org/linus/8322b6fddfd2cee41a7732284e5f04750511f4b2|dlm update]] * [[https://git.kernel.org/linus/cbfe0de303a55ed96d8831c2d5f56f8131cd6612|VFS changes]], [[https://git.kernel.org/linus/603ba7e41bf5d405aba22294af5d075d8898176d|part 2]] * [[https://git.kernel.org/linus/b6da0076bab5a12afb19312ffee41c95490af2a0|patchbomb from Andrew Morton]], [[https://git.kernel.org/linus/78a45c6f067824cf5d0a9fedea7339ac2e28603c|second patchbomb]] * [[https://git.kernel.org/linus/1dd7dcb6eaa677b034e7ef63df8320277507ae70|tracing updates]] * [[https://git.kernel.org/linus/c32809521de5b31699a33379183848b0c7628f28|ftrace self-test updates]] * [[https://git.kernel.org/linus/350e4f4985472e29091b899bc227d75d2a66fb4c|nmi-safe seq_buf printk update]] * [[https://git.kernel.org/linus/f74ea36848ad49cb011aae55f56b0475702ffb79|ktest changes]] * [[https://git.kernel.org/linus/c75059c46293adf1560162c17148ab94624f5ed2|PCI changes]] * [[https://git.kernel.org/linus/92a578b064d0227a3a7fbbdb9e29dbab7f8d400e|ACPI and power management updates]], * [[https://git.kernel.org/linus/c0f486fde3f353232c1cc2fd4d62783ac782a467|part 2]] * [[https://git.kernel.org/linus/c1b30e4d9466000c0e287e9245d4397da4d7d2f9|pin control changes]] * [[https://git.kernel.org/linus/e28870f9b3e92cd3570925089c6bb789c2603bc4|backlight update]] * [[https://git.kernel.org/linus/2183a58803c2bbd87c2d0057eed6779ec4718d4d|media updates]], [[https://git.kernel.org/linus/0ec28c37c21a2b4393692e832e11a7573ac545e2|part 2]] * [[https://git.kernel.org/linus/709d9f09b6aee5828cb8f168f63030608176cd0e|edac updates]] * [[https://git.kernel.org/linus/b859e7d13bcc18b56faa7e2f78db5ba8ab874a15|spi updates]] * [[https://git.kernel.org/linus/14ba9a2e4bacc6f5a0dbe0de5390daedd544508f|mailbox framework updates]] * [[https://git.kernel.org/linus/6b9e2cea428cf7af93a84bcb865e478d8bf1c165|virtio updates]] * [[https://git.kernel.org/linus/413fd0e3fbf52873f2310eb75bfa6c7b72847277|fbdev updates]] * [[https://git.kernel.org/linus/7ef58b32f571bffb7763c6252ad7527562081f34|devicetree changes]] * [[https://git.kernel.org/linus/bae41e45b7400496b9bf0c70c6004419d9987819|sound updates]] * [[https://git.kernel.org/linus/70e71ca0af244f48a5dcf56dc435243792e3a495|networking updates]] * [[https://git.kernel.org/linus/27afc5dbda52ee3dbcd0bda7375c917c6936b470|s390 updates]] * [[https://git.kernel.org/linus/140cd7fb04a4a2bc09a30980bc8104cc89e09330|powerpc updates]], [[https://git.kernel.org/linus/34b85e3574424beb30e4cd163e6da2e2282d2683|part 2]] * [[https://git.kernel.org/linus/c0222ac086669a631814bbf857f8c8023452a4d7|MIPS updates]] * [[https://git.kernel.org/linus/9d050966e2eb37a643ac15904b6a8fda7fcfabe9|xen features and fixes]], [[https://git.kernel.org/linus/eb64c3c6cdb8fa8a4d324eb71a9033b62e150918|additional update]] * [[https://git.kernel.org/linus/eedb3d3304b59c64c811522f4ebaaf83124deeac|percpu updates]] * [[https://git.kernel.org/linus/0a27044c83fe8f52fd8fd1964d17fa7538ea0771|workqueue update]] * [[https://git.kernel.org/linus/4e8790f77f051d4cc745a57b48a73052521e8dfc|libata changes]] * [[https://git.kernel.org/linus/2756d373a3f45a3a9ebf4ac389f9e0e02bd35a93|cgroup update]] * [[https://git.kernel.org/linus/9bfccec24e31f4f83445cfe0c1b0a5ef97900628|ext4 updates]] * [[https://git.kernel.org/linus/c05e14f7b3145ac89635fa398934438240dace40|xfs update]] * [[https://git.kernel.org/linus/ccb5a4910d0ca7b1742b9217db2e1b95817e25ac|UBI/UBIFS updates]] * [[https://git.kernel.org/linus/0349678ccd74d16c1f2bb58ecafec13ef7110e36|HID updates]] * [[https://git.kernel.org/linus/bdeb03cada1c305346505c48e5b1dab37e9acc4e|btrfs update]] * [[https://git.kernel.org/linus/6ce4436c9cbe903af935291aa219fd6f4c85722d|pstore update]] * [[https://git.kernel.org/linus/eea0cf3fcd3243666e0bb792c560ec128b1f06a1|IPMI driver updates]] * [[https://git.kernel.org/linus/87c779baabff157f09db6fce417a7544220f9f00|dmaengine updates]] * [[https://git.kernel.org/linus/8d14066755592a2906b4f2378aeb5471b602d3cb|IOMMU updates]] * [[https://git.kernel.org/linus/26ceb127f7bcf473db926c6a026b18ddd6f274e8|ARM updates]] * [[https://git.kernel.org/linus/a7e8ddd813c20e3e10c9012f1625a5a02f870b15|sparc update]] * [[https://git.kernel.org/linus/e3aa91a7cb21a595169b20c64f63ca39a91a0c43|crypto update]] * [[https://git.kernel.org/linus/a99abce2d92dd21faffc9439fa35d1519627872b|audit updates]] * [[https://git.kernel.org/linus/caf292ae5bb9d57198ce001d8b762f7abae3a94d|block driver core update]] * [[https://git.kernel.org/linus/9ea18f8cab5f1c36cdd0f09717e35ceb48c36a87|block layer driver updates]] * [[https://git.kernel.org/linus/96895199c8648db475b38aac5fe6a04ec14a49c4|i2c updates]] * [[https://git.kernel.org/linus/7d22286ff757586f3cdbd70ded88b98250285ec5|aio updates]] * [[https://git.kernel.org/linus/980f3c344ff1cb4a8be9a169c6bde2dc74ca6288|GPIO updates]] * [[https://git.kernel.org/linus/7a02d089695a1217992434f03a78aa32bad85b5c|squashfs update]] * [[https://git.kernel.org/linus/e7cf773d431a63a2417902696fcc9e0ebdc83bbe|USB updates]] * [[https://git.kernel.org/linus/37da7bbbe84fe9e8862940d3f9194fd27dce59bb|tty/serial driver updates]] * [[https://git.kernel.org/linus/e6b5be2be4e30037eb551e0ed09dd97bd00d85d3|driver core update]] * [[https://git.kernel.org/linus/6ae840e7cc4be0be3aa40d9f67c35c75cfc67d83|char/misc driver updates]] * [[https://git.kernel.org/linus/67e2c3883828b39548cee2091b36656787775d95|security layer updates]] * [[https://git.kernel.org/linus/988adfdffdd43cfd841df734664727993076d7cb|drm updates]] * [[https://git.kernel.org/linus/27cb8823e26cecd03c00d82dfb501f6c144b3445|rpmsg update]] * [[https://git.kernel.org/linus/60d7ef3fd34dca2eb7ef4c997ccf1ef76a9ba148|irq domain ARM updates]] * [[https://git.kernel.org/linus/7051d8e6308640aaee2f9d45d0ceaad3a4ee8a78|power supply updates]] * [[https://git.kernel.org/linus/a68db9cb858d10820add66682ad4d412f9914288|firewire updates]] * [[https://git.kernel.org/linus/dab363f938a53ddaee60bfecc1aebdbb3d3af5f0|staging driver updates]] * [[https://git.kernel.org/linus/2dbfca5a181973558277b28b1f4c36362291f5e0|LED subsystem update]] * [[https://git.kernel.org/linus/a7c180aa7e76a55642e8492f28353303a50292c2|tracing updates]] * [[https://git.kernel.org/linus/61de8e53640ceeda564a65170a46c1edc2b37e11|kselftest update]] * [[https://git.kernel.org/linus/0db2812a5240f2663b92d8d4b761122dd2e0c6c3|arch/tile updates]] * [[https://git.kernel.org/linus/a643fc7253261be2275c02cb33fa7bf4bfc8cdc4|Xtensa fixes]] * [[https://git.kernel.org/linus/6f51ee709e4c6b56f2c2a071da2d056a109b9d26|ARM SoC/iommu configuration update]] * [[https://git.kernel.org/linus/0b233b7c79d2ba92c7fb5d60d4116693f1b3b0fe|nfsd updates]] * [[https://git.kernel.org/linus/c103b21c20ee3d173ccccb7d5ca8f5b8bc02cac3|fuse update]] * [[https://git.kernel.org/linus/d6666be6f0c43efb9475d1d35fbef9f8be61b7b1|MTD updates]] * [[https://git.kernel.org/linus/d797da41b2aceed5daa8cd2eee92cd74b2a0c652|input subsystem updates]] * [[https://git.kernel.org/linus/0b4954c46943e8f15b9379eed4f133c874a0bc66|pwm updates]] * [[https://git.kernel.org/linus/2efda9042d76fcab0fb87b7ee8d84da52bf122b0|thermal management]] * [[https://git.kernel.org/linus/9f3e15129902bca9d8e296c165345f158bac94eb|virtio updates]] * [[https://git.kernel.org/linus/cc669743a39e3f61c9ca5e786e959bf478ccd197|VFIO updates]] * [[https://git.kernel.org/linus/57666509b70030a9483d13222bfec8eec5db07df|ceph updates]] * [[https://git.kernel.org/linus/66dcff86ba40eebb5133cccf450878f2bba102ef|KVM updates]] * [[https://git.kernel.org/linus/4c929feed7e9ce69efbe85e3932393db67fbce76|infiniband updates]] * [[https://git.kernel.org/linus/385336e321c41b5174055c0194b60c19a27cc5c5|x86 platform driver]] * [[https://git.kernel.org/linus/d790be3863b28fd22e0781c1a3ddefcbfd5f7086|module updates]] * [[https://git.kernel.org/linus/d08372ca2800e23c51e76dea5fc516781e82722e|kconfig changes]] = Other news sites = * LWN merge window, [[http://lwn.net/Articles/625146/|part 1]], [[http://lwn.net/Articles/626150/|part 2]], [[http://lwn.net/Articles/627202/|part 3]]. |
Linux 3.19 has been released on Sun, 8 Feb 2015
Summary: This release adds support for Btrfs scrubbing and fast device replacement with RAID 5 and 6, support for the Intel Memory Protection Extensions that help to stop buffer overflows, support for the AMD HSA architecture, support for the debugging ARM Coresight subsystem, support for the Altera Nios II CPU architecture, networking infrastructure for routing and switching offloading, Device Tree Overlays that help to support expansion busses found on consumer development boards like the Beaglebone or Raspberry Pi, support for hole punching and preallocation in NFSv4.2, and the Android binder has been moved from the staging area to stable. There are also new drivers and many other small improvements.
Contents
-
Prominent features
- Btrfs: support scrubbing and fast device replacement in RAID 5 and 6
- Support for the Intel Memory Protection Extensions
- HSA driver for AMD GPU devices
- Android binder moved to stable
- ARM Coresight support
- New architecture: Altera Nios II processors
- Device Tree overlays
- Networking: support for routing and switching offloading
- NFSv4.2 support for hole punching and preallocation
- Drivers and architectures
- File systems
- Memory management
- Block
- Core (various)
- Cryptography
- Virtualization
- Security
- Tracing & perf
- Networking
- List of merges
- Other news sites
1. Prominent features
1.1. Btrfs: support scrubbing and fast device replacement in RAID 5 and 6
Btrfs added support for fast & live device replacement in Linux 3.8 (see btrfs-replace(8)), much faster and more efficient than adding the new device and removing the old one in separated commands (see btrfs-device(8)). This feature could not fast-replace devices from filesystems using RAID 5 & 6, this release has removed that limitation.
The process of scrubbing a Btrfs filesystem (see btrfs-scrub(8)) was also not available in RAID 5 and 6 filesystems, this limitation has also been removed in this release
Code: commit, commit, commit, commit, commit
1.2. Support for the Intel Memory Protection Extensions
Intel's Memory Protection Extension (MPX) is a set of CPU instructions which brings increased robustness to software by checking pointer references usurped maliciously at runtime by buffer overflows. Intel MPX introduces new registers and new CPU instructions that operate on these registers. Modified compiler, runtime libraries and kernels can make use of these instructions to allow MPX hardware to prevent buffer overflow exploitation. This Linux release adds support in the Linux kernel. Note: CPUs with MPX support are not in the market and will be introduced with the Intel Skylake and Goldmont microarchitectures.
Recommended LWN article: Supporting Intel MPX in Linux
Recommended Intel article: Introduction to Intel Memory Protection Extensions
Code: commit, commit, commit, commit, commit, commit, commit
1.3. HSA driver for AMD GPU devices
HSA, or Heterogeneous System Architecture, is a type of computer processor architecture that integrates central processing units and graphics processors on the same bus, with shared memory and tasks. HSA allows different processor types (CPUs, DSPs, GPUs, etc..) to share system resources more effectively via HW features including shared pageable memory, userspace-accessible work queues, and platform-level atomics.
This release includes HSA support for radeon-family processors, and offers an API that is used by a HSA open-source library developed by AMD. For more details about the HSA library and possibilities that HSA offers to userspace apps, see the previous link.
Code: drivers/gpu/drm/amd/amdkfd
1.4. Android binder moved to stable
The Android binder code has been placed in the "staging" are of the kernel for a long time. The code, however, has been stable for many years now and it has been shipped in millions of phones. There has been reticences over binder, but no matter what comes in the future, Linux is going to have to support this API anyway, so might as well move it to the "real" part of the kernel.
Code: commit
1.5. ARM Coresight support
Coresight is an umbrella of technologies allowing for the debugging of ARM-based SoC. ARM has developed a HW assisted tracing solution by means of different components, each being added to a design at synthesis time to cater to specific tracing needs. Components are generally categorised as source, link and sinks and are (usually) discovered using the AMBA bus. "Sources" generate a compressed stream representing the processor instruction path based on tracing scenarios as configured by users. From there the stream flows through the Coresight system (via ATB bus) using links that are connecting the emanating source to a sink(s). Sinks serve as endpoints to the Coresight implementation, either storing the compressed stream in a memory buffer or creating an interface to the outside world where data can be transferred to a host
The Linux Coresight framework provides a kernel interface for the Coresight debug and trace drivers to register themselves with. It's intended to build a topological view of the Coresight components based on a DT specification and configure the right series of components when a trace source gets enabled.
For more details about the Linux Coresight framework: see Documentation/trace/coresight.txt
For details about ARM Coresight: http://www.arm.com/products/system-ip/debug-trace/
Code: drivers/coresight/
1.6. New architecture: Altera Nios II processors
This release adds support for Altera Nios II processors. Nios II is a 32-bit embedded-processor architecture designed specifically for the Altera family of FPGAs. Nios II incorporates many enhancements over the original Nios architecture, making it more suitable for a wider range of embedded computing applications, from DSP to system-control.
For more information about the Nios II processors see http://www.altera.com/literature/lit-nio2.jsp
For more information on how compiling and booting software for the Nios II platform: http://www.rocketboards.org/foswiki/Documentation/NiosIILinuxUserManual
Code: arch/nios2
1.7. Device Tree overlays
The Device Tree is a data structure for describing hardware that is passed to the operating system at boot time, rather than hard coding every detail of a device into an operating system. It is used most often in architectures like powerpc and ARM. The Device Tree is designed with static systems in mind, and has troubles adapting to custom expansion busses commonly found on consumer development boards like the BeagleBone or Raspberry Pi.
This release introduces Device Tree overlay support. Overlays are a method to dynamically modify part of the kernel's device tree and make changes to properties in a existing tree. This makes easier to support devices such as the BeagleBone or Raspberry Pi.
Recommended LWN article: Device tree overlays
Code: commit
1.8. Networking: support for routing and switching offloading
This release includes infrastructure to support hardware switch chips (in very generic meaning of the word "switch"). This include devices supporting L2/L3 but also various flow offloading chips, including switches embedded into SR-IOV NICs.
Also included is the first driver to benefit from this new switchdev infrastructure, it is a "rocker" driver for emulated switch chip implemented in qemu.
Code: commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
1.9. NFSv4.2 support for hole punching and preallocation
This release adds support for hole punching and preallocation in NFSv4.2 setups
Code: commit, commit, commit, commit
2. Drivers and architectures
All the driver and architecture-specific changes can be found in the Linux_3.19-DriversArch page
3. File systems
- ext4
- F2FS
Introduce "fastboot" mount option for reducing mount time as much as possible, even though normal performance can be sacrificed commit
Support storing directory entries inside inode page, can be enabled with "inline_dentry" mount option commit, commit, commit, commit
Add "dirsync" to allow sync operation on directory operations commit
- AFFS
Add support to O_DIRECT commit
- SquashFS
Add LZ4 compression support commit
- Ceph
4. Memory management
Make debug-pagealloc boottime configurable with kernel parameter debug_pagealloc commit
Resurrect struct page extending code for debugging commit
memcontrol: lockless page counters commit
5. Block
dm cache: improve discard performance and memory usage commit
dm thin: performance improvement to discard processing. Discarding a fully provisioned 100G thin volume with 64k block size goes from 860s to 95s with this change commit
dm thin: throttle incoming IO, which helps dm-thinp perform better under heavy IO load commit
Remove artificial max_hw_sectors cap commit
6. Core (various)
Conversion of i_mmap_mutex to a rwsem The i_mmap_mutex is an important lock that is used to protect file backed pages. In this release it has been turned from a mutex to a read-write semaphore, improving performance in many cases. For benchmarks, see the first commit commit, commit, commit, commit, commit, commit, commit, commit
RCU locking: Remove CONFIG_RCU_CPU_STALL_VERBOSE, future kernel builds will always act as if CONFIG_RCU_CPU_STALL_VERBOSE=y commit
RCU locking: PREEMPT_RCU and TREE_PREEMPT_RCU serve the same function after TINY_PREEMPT_RCU has been removed, this release removes redundant TREE_PREEMPT_RCU config option commit
RCU: Rename CONFIG_RCU_BOOST_PRIO to CONFIG_RCU_KTHREAD_PRIO and use this value for both the per-CPU kthreads (rcuc/N) and the rcu boosting threads (rcub/n). Also add rcutree.kthread_prio boot option that sets the SCHED_FIFO priority of the RCU per-CPU and rcu boosting kthreads commit
IPC: increase SEMMSL, SEMMNI, SEMOPM commit
fault-inject: add ratelimit option commit
Introduce new interfaces to support hierarchy irqdomains commit
PCI/MSI: Support hierarchy irqdomain commit
PCI: Remove PCI ioapic driver: it is plannedto reimplement IOAPIC driver as an ACPI instead of PCI driver commit
Implement execveat() system call commit
Openfirmware: export Flattened Device Tree blob as /sys/firmware/fdt commit
Openfirmware: Move platform devices under /sys/devices/platform commit
7. Cryptography
Add user space interface for AEAD commit
crc32: Add ARM64 CRC-32 hardware accelerated module commit
sahara: add support for SHA-1/256 commit
caam: add support for AES working in Galois Counter Mode (commit), add support for AES in Galois/Counter Mode as an IPsec Encapsulating Security Payload mechanism (commit), add support for AES working in Counter mode (commit), add support for AES Counter Mode compliant with RFC3686 to be used along with authenc algorithms (md5, sha1, sha224, sha256, sha384, sha512) as one-shot aead algorithms (commit), add support for one-shot given crypt algorithms (commit), add support for Advanced Encryption Standard in Counter Mode as provided in IPsec implementation standard RFC3686 (commit), add support for AES-GMAC as an IPSec ESP mechanism to provide data origin authentication, but not confidentiality (commit)
8. Virtualization
virtio_scsi: support multi hw queue of blk-mq commit
tools: hv: introduce -n/--no-daemon option commit
hyperv: Add support for vNIC hot removal commit
KVM: remove unsupported and unused itanium support commit
9. Security
- IMA
10. Tracing & perf
tracing: Allow NOT (!) to filter AND (&&) and OR (||) clauses commit
perf annotate: Support source line numbers in annotate commit
perf callchain: Support handling complete branch stacks as histograms commit, commit
perf probe: Add --quiet option to suppress output result message commit
perf record: Add new -I option to capture machine state registers at interrupt commit, commit
perf script: Add Python script to export to postgresql commit
perf tools: Add --buildid-dir option to set cache directory commit
perf tools: Add gzip decompression support for kernel module commit
11. Networking
net: allow setting ECN via routing table commit
IPv6: Add a sysctl (use_optimistic and optimistic_dad) that causes an interface's optimistic addresses to be considered equivalent to other non-deprecated addresses for source address selection purposes. Preferred addresses will still take precedence over optimistic addresses, subject to other ranking in the source address selection algorithm. This is useful where different interfaces are connected to different networks from different ISPs (e.g., a cell network and a home Wi-Fi network) commit
Generic receive offload: add a per device gro flush timer. This new mechanism is off by default, and shall be enabled by setting /sys/class/net/ethX/gro_flush_timeout to a value in nanosecond commit
Add SO_INCOMING_CPU socket option, which allows userspace to ask for the CPU upon what a packet was received/steered commit
Allow eBPF programs to be attached to sockets. See related LWN article commit
Add support for remote checksum offload for Generic UDP Encapsulation (GUE), which is a mechanism that provides checksum offload of encapsulated packets using rudimentary offload capabilities found in most network devices. The outer header checksum for UDP is enabled in packets and, with some additional meta information in the GUE header, a receiver is able to deduce the checksum to be set for an inner encapsulated packet. Effectively this offloads the computation of the inner checksum. Remote checksum offload is described in http://tools.ietf.org/html/draft-herbert-remotecsumoffload-00 . For more details and benchmarks, see the merge commit. Code: commit, commit, commit, commit, commit, commit
Netfilter nft_meta: add cgroup support commit
ipvlan: New IPVLAN driver. It is conceptually very similar to the macvlan driver with one major exception of using L3 for mux-ing /demux-ing among slaves. This property makes the master device share the L2 with it's slave devices. It allows to create virtual devices off of a main interface and packets will be delivered based on the dest L3 (IPv6/IPv4 address) on packets. All interfaces (including the main interface) share L2 making it transparent to the connected L2 switch. For more details see the Documentation commit
ip6_tunnel: Add support for tunnels with local or remote wildcard endpoints. With this we get a NBMA tunnel mode like we have it for IPv4 and sit tunnels commit
ip6_tunnel: allow to change mode for the fallback tunnel device, ip6tnl0 commit
ipv6: Allow sending packets through tunnels with wildcard endpoints commit
bpf: reduce verifier memory consumption commit
bridge: Add support for IEEE 802.11 Proxy ARP. This feature is defined in IEEE Std 802.11-2012, 10.23.13. It allows the AP devices to keep track of the hardware-address-to-IP-address mapping of the mobile devices within the WLAN network commit
tcp_cubic: add SNMP counters to track how effective is Hystart commit
sunrpc: add a debugfs rpc_xprt directory with an info file in it commit, add debugfs file for displaying client rpc_task queue commit
TIPC protocol: New netlink API, for detail see the merge commit. Code: commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
ethtool: Support for configurable RSS hash function commit
Infiniband: On-demand paging support for Infiniband. This lets userspace create non-pinned memory regions and have the adapter HW trigger page faults commit
NFC digital improvements for DEP support: Chaining, NACK and ATN support added commit, commit, commit, commit, commit, commit
- Wireless
Add a new WoWLAN API to enable net-detect as a wake up trigger. Net-detect allows the device to scan in the background while the host is asleep to wake up the host system when a matching network is found commit
Allow scanning with random MAC addresses commit
Support creating wiphy devices with an optional name. This will be used by hwsim to have better automated control over virtual radio creation/deletion commit, commit
Allow channel switch with multiple channel contexts commit
Support creating vifs with specified mac address commit
Support creating wiphy w/out creating wlanX commit
Add support for driver tx power reporting commit
Add support for 802.11p OCB (Outside the Context of a BSS) mode commit
Add WMM admission control support commit
minstrel rate control algorithm: add basic support for VHT rates <= 3SS@80MHz commit
Add extended channel switching capability if the driver supports CSA commit
Allow any interface to send NL80211_CMD_CH_SWITCH_NOTIFY channel switch notifications to the userspace to let it decide whether other interfaces need to be moved as well. This is needed when we want a P2P GO interface to follow the channel of a station, for example commit
Send channel switch started notifications commit
mac80211-hwsim: Add HWSIM_CMD_GET_RADIO command commit, add ethtool stats support commit, support SGI-20 commit, support creating radios with specific name commit, support creating wiphy w/out creating wlanX commit, support destroying radio by name commit, support scanning with random MAC address commit
- openvswitch
Add basic MPLS support to kernel: Allow datapath to recognize and extract MPLS labels into flow keys and execute actions which push, pop, and set labels on packets commit
Add support for OVS_FLOW_ATTR_PROBE. This new flag is useful for suppressing error logging while probing for datapath features using flow commands commit
Extend packet attribute for exporting egress tunnel info to userspace commit
- IEEE 802.15.4
- Bluetooth
- mac802154
12. List of merges