6305
Comment:
|
24131
|
Deletions are marked like this. | Additions are marked like this. |
Line 7: | Line 7: |
/!\ /!\ /!\ List of changes will be completed soon /!\ /!\ /!\ |
Summary: This release adds support for overlayfs, which allows to combine two filesystem in one single mount point; foo-over-UDP. USB device sharing over IP, support for Xbox One controllers, support for Apple's thunderbolt, a new sealing API that restricts operations on shared memory file descriptors that allows easier shared memory programming for developers, support for page fault tracing in perf trace, support for only using signed kernels in kexec, a getrandom() syscall for more secure random number generation, and graphic "render nodes" are no longer experimental. There are also new drivers and many other small improvements. [[TableOfContents()]] = Prominent features = == Overlayfs == An overlay filesystem combines two filesystems, an 'upper' filesystem and a 'lower' filesystem, into a single file system namespace, modifications will be done to the upper filesystem. It has many uses, but it is most often used for live CDs, where a read-only OS image is used as lower filesystem and a writeable RAM-backed filesystem is used as the upper one. Any modifications will be done in the upper filesystem, thus allowing users to run the OS image provided normally. Overlayfs differs from other "union filesystem" implementations in that after a file is opened all operations go directly to the underlying, lower or upper, filesystems. This simplifies the implementation and allows native performance in these cases. It is possible for both directory trees to be in the same filesystem and there is no requirement that the root of a filesystem be given for either upper or lower. The lower filesystem can be any filesystem supported by Linux and does not need to be writable. The lower filesystem can even be another overlayfs. The upper filesystem will normally be writable and if it is it must support the creation of trusted.* extended attributes, and must provide valid d_type in readdir() responses, so NFS is not suitable. Documentation: [http://git.kernel.org/linus/7c37fbda85ceb9be7bdb9d5f53e702efc40cf783 commit] Code: [http://git.kernel.org/linus/e9be9d5e76e34872f0c37d72e25bc27fe9e2c54c commit] == Radeon: mapping of user pages into video memory == [http://kernelnewbies.org/Linux_3.16#head-822ab6b7936786bb9e91c16ecdcefe6fd20dc6bf Linux 3.16 added] the ability to map users addresses into the video memory for Intel hardware. In this release, Radeon has also gained support for this feature. Normal application data can be used as a texture source or even as a render target (depending upon the capabilities of the chipset). This has a number of uses, with zero-copy downloads to the GPU and efficient readback making the intermixed streaming of CPU and GPU operations fairly efficient. This ability has many widespread implications from faster rendering of client-side software rasterisers (chromium), mitigation of stalls due to read back (firefox) and to faster pipelining of texture data (such as pixel buffer objects in GL or data blobs in CL). Code: [http://git.kernel.org/linus/f72a113a71ab08c4df8a5f80ab2f8a140feb81f6 commit] == bfp() syscall for eBFP virtual machine programs == bpf() syscall is a multiplexor for a range of different operations on eBPF which can be characterized as "universal in-kernel virtual machine". eBPF is similar to original Berkeley Packet Filter used to filter network packets. eBPF "extends" classic BPF in multiple ways including ability to call in-kernel helper functions and access shared data structures like eBPF maps. The programs can be written in a restricted C that is compiled into eBPF bytecode and executed on the eBPF virtual machine or JITed into native instruction set. eBPF programs are similar to kernel modules. They are loaded by the user process and automatically unloaded when process exits. Each eBPF program is a safe run-to-completion set of instructions. eBPF verifier statically determines that the program terminates and is safe to execute. The programs are attached to different events. These events can be packets, tracepoint events and other types in the future. Beyond storing data the programs may call into in-kernel helper functions which may, for example, dump stack, do trace_printk or other forms of live kernel debugging. Recommended LWN article: [http://lwn.net/Articles/612878/ The BPF system call API, version 14] ebfp() man page and design documentation can be read on the merge commit: [http://git.kernel.org/linus/b4fc1a460f3017e958e6a8ea560ea0afd91bf6fe commit] Code: [http://git.kernel.org/linus/99c55f7d47c0dc6fc64729f37bf435abf43f4c60 commit 1], [http://git.kernel.org/linus/db20fd2b01087bdfbe30bce314a198eefedcc42e 2], [http://git.kernel.org/linus/09756af46893c18839062976c3252e93a1beeba7 3], [http://git.kernel.org/linus/0a542a86d73b1577e7d4f55fc95dcffd3fe62643 4], [http://git.kernel.org/linus/51580e798cb61b0fc63fa3aa6c5c975375aa0550 5], [http://git.kernel.org/linus/cbd357008604925355ae7b54a09137dabb81b580 6], [http://git.kernel.org/linus/0246e64d9a5fcd4805198de59b9b5cf1f974eb41 7], [http://git.kernel.org/linus/475fb78fbf48592ce541627c60a7b331060e31f5 8], [http://git.kernel.org/linus/17a5267067f3c372fec9ffb798d6eaba6b5e6a4c 9], [http://git.kernel.org/linus/3c731eba48e1b0650decfc91a839b80f0e05ce8f 10] == TCP: Data Center TCP congestion algorithm == This release adds the Data Center TCP (DCTCP) congestion control algorithm. DCTCP is an enhancement to the TCP congestion control algorithm for data center networks. DCTCP has been designed for workloads typical of data center environments to provide/achieve: high burst tolerance, low latency and high throughput. For more details about DCTCP, see the [http://simula.stanford.edu/~alizade/Site/DCTCP.html DCTCP web page] Code: [http://git.kernel.org/linus/e3118e8359bb7c59555aca60c725106e6d78c5ce commit] == Networking: Geneve Virtualization Encapsulation == Advent of network virtualization has caused a surge of renewed interest and a corresponding increase in the introduction of new protocols, ranging all the way from VLANs and MPLS through the more recent VXLAN, NVGRE , and STT. Existing tunnel protocols have each attempted to solve different aspects of the new requirements, only to be quickly rendered out of date. This release adds Geneve, a protocol which seeks to avoid these problems by providing a framework for tunneling that provide Layer 2 Networks over Layer 3 Networks. For more information see http://tools.ietf.org/html/draft-gross-geneve-01 Related vmware blog post: [http://blogs.vmware.com/cto/geneve-vxlan-network-virtualization-encapsulations/ Geneve, VXLAN, and Network Virtualization Encapsulations] Code: [http://git.kernel.org/linus/0b5e8b8eeae40bae6ad7c7e91c97c3c0d0e57882 commit] == Networking performance optimization: transmission queue batching == This release adds support for deferred flushing of transmission [http://vger.kernel.org/~davem/skb.html SKB]s (socket buffers) to the networking driver. Processing the transmission queue is expensive, so some batching shares that cost with other SKBs. This change allows to achieve 10Gbit/s full TX wirespeed smallest packet size on a single CPU core (14.8Mpps). Several drivers already have support for this feature: i40e, igb, ixgbe, mlx4, virtio_net, more will follow in next releases. Recommended LWN article: [http://lwn.net/Articles/615238/ Bulk network packet transmission] Recommended blog post [http://netoptimizer.blogspot.dk/2014/10/unlocked-10gbps-tx-wirespeed-smallest.html Unlocked 10Gbps TX wirespeed smallest packet single core] Code: see the blog post link == Foo-over-UDP support == This release adds the ability to encapsulate any IP protocol over UDP including tunnels (IPIP, GRE, SIT). The rationale for this funcionality is that network mechanisms, hardware and optimizations for UDP (such as ECMP and RSS) can be leveraged to provide better service. GRE, IPIP, and SIT have been modified with netlink commands to configure use of FOU on transmit. A new "ip fou" has been added in newer releases of ip to make use of this feature. Details on configuration can be found in the merge link. Recommended LWN link: [http://lwn.net/Articles/614348/ Foo over UDP] Merge link: [https://git.kernel.org/linus/fb5690d2458340b645ea3b36e8db560cb3272e65 merge] == Optional multiqueue SCSI support == Linux 3.13 [[http://kernelnewbies.org/Linux_3.13#head-3e5f0c2bcebc98efd197e3036dd814eadd62839c added] a new design for the block layer that allowed to process multiple IO queues in parallel. This feature, however, wasn't transparent, and required modifications in drivers to support it. In this release, support for the multi-queue layer has been added to the SCSI layer (used by ATA and SATA drivers) as an optional configuration option. Code: [http://git.kernel.org/linus/24c20f10583647e30afe87b6f6d5e14bc7b1cbc6 commit] |
Line 14: | Line 89: |
= File Systems = | = File systems = * F2FS * Introduce FITRIM discard support [http://git.kernel.org/linus/4b2fecc84655055a6a1fe9151786992ac04b56ce commit] * Support atomic writes [http://git.kernel.org/linus/88b88a66797159949cec32eaab12b4968f6fae2d commit] * Support large sector size [http://git.kernel.org/linus/55cf9cb63f0e5439f208d78ed944de9a8df65011 commit] * Support volatile operations for transient data [http://git.kernel.org/linus/02a1335f25a386db9afc68f8315162f862aac93f commit] * EXT4 * Support freezing ext2 (nojournal) file systems [http://git.kernel.org/linus/bb0445765866e5b1607af81e2f48ca5a8efbeed8 commit] * Add sysfs entry showing whether the fs contains errors [http://git.kernel.org/linus/52c198c6820f68b6fbe1d83f76e34a82bf736024 commit] * NFS * Implement NFS v4.2 SEEK operation, allowing to use lseek() call with either the SEEK_HOLE or SEEK_DATA flags set [http://git.kernel.org/linus/1c6dcbe5ceff81c2cf8d929646af675cd59fe7c0 commit], [http://git.kernel.org/linus/24bab491220faa446d945624086d838af41d616c commit] * Allow turning off nfsv3 readdir_plus [http://git.kernel.org/linus/18c01ab30288d9d0a7d80b08b659531f37ed379d commit] * nfsd: add a v4_end_grace file to /proc/fs/nfsd that allows a privileged userland process to end the v4 grace period early [http://git.kernel.org/linus/7f5ef2e900d9462bf9cffaf6bb246ed87a20a6d6 commit] * lockd: add a /proc/fs/lockd/nlm_end_grace file that will allow a (privileged) userland process to end the NLM grace period early [http://git.kernel.org/linus/d68e3c4aa416d592d79152a49af121e4ecb204e3 commit] * SMB * Add mfsymlinks support for SMB2.1/SMB3 [http://git.kernel.org/linus/5ab97578cbb3bf9a28dec4534cb86fbc35e600bb commit], [http://git.kernel.org/linus/c22870ea2deb2841402133909cfa707a2c0b12ed commit] * Allow mknod and mkfifo on SMB2/SMB3 mounts [http://git.kernel.org/linus/db8b631d4bc4eaa9f7e13a6b0a287306cac0cb72 commit] * Allow conversion of characters in Mac remap range [http://git.kernel.org/linus/b693855fe67314d501aae74b9adff8788eb2fd82 commit], [http://git.kernel.org/linus/a4153cb1d3cb7d7c16968b0a9cf7c8aacf31424e commit] * Remap reserved posix characters by default [http://git.kernel.org/linus/2baa2682531ff02928e2d3904800696d9e7193db commit] * BTRFS * Make defragment work with nodatacow option [http://git.kernel.org/linus/47059d930f0e002ff851beea87d738146804726d commit] * Improve free space cache management and space allocation [http://git.kernel.org/linus/200055239604cf4bfaed40d8f404228ea606b4f9 commit] * Implement repair function when direct read fails [http://git.kernel.org/linus/8b110e393c5a6e72d50fcdf9fa7ed8b647cfdfc9 commit] |
Line 16: | Line 119: |
* Add debug sysfs attribute set [http://git.kernel.org/linus/65b65735fede29b516fed1d8c2391e8bc373b805 commit], [http://git.kernel.org/linus/2e2271787419a12496bf5da5c3028a9c73c9697f commit] | * Add debug sysfs attribute set [https://git.kernel.org/linus/65b65735fede29b516fed1d8c2391e8bc373b805 commit], [https://git.kernel.org/linus/2e2271787419a12496bf5da5c3028a9c73c9697f commit] |
Line 18: | Line 121: |
* Add FIBMAP ioctl support [http://git.kernel.org/linus/3f7fc6f2a2ba0f72a09e9f9999c3812fdee8fe70 commit] | * Add FIBMAP ioctl support [https://git.kernel.org/linus/3f7fc6f2a2ba0f72a09e9f9999c3812fdee8fe70 commit] |
Line 21: | Line 124: |
* Smack: Add a new access (aka permissive) mode [http://git.kernel.org/linus/d166c8024d620d654b12834fac354fb4203c6c22 commit] * ima: provide 'ima_appraise=log' kernel option that allows logging only mode without fixing it, in order to properly analyze the system [http://git.kernel.org/linus/2faa6ef3b21152cc05b69a84113625dcee63176f commit] |
* Smack: Add a new access (aka permissive) mode [https://git.kernel.org/linus/d166c8024d620d654b12834fac354fb4203c6c22 commit] * ima: provide 'ima_appraise=log' kernel option that allows logging only mode without fixing it, in order to properly analyze the system [https://git.kernel.org/linus/2faa6ef3b21152cc05b69a84113625dcee63176f commit] = Block = * Implement readpages() to optimize sequential reads of /dev block devices [http://git.kernel.org/linus/447f05bb488bff4282088259b04f47f0f9f76760 commit] * SCSI target userspace backend that uses UIO + shared memory ring to dispatch I/O and control commands into user-space [http://git.kernel.org/linus/7c9e7a6fe11c8dc5b3b9d0e889dde73347247584 commit] * dm raid: add discard support for RAID levels 1 and 10 [http://git.kernel.org/linus/75b8e04bbf01bdd5c42a1d8ac54abf757196ce49 commit] and 4, 5 and 6 [http://git.kernel.org/linus/48cf06bc5f508d5f71bc0fd7530daebb12a48428 commit] * zram memory size limitation [http://git.kernel.org/linus/9ada9da9573f3460b156b7755c093e30b258eacb commit] * zram: report maximum used memory [http://git.kernel.org/linus/461a8eee6af3b55745be64bea403ed0b743563cf commit] = Memory management = * memory-hotplug: add /sys/devices/system/memory/memoryX/valid_zones, shows which zone this memory block can be onlined to [https://git.kernel.org/linus/ed2f240094f900833ac06f533ab8bbcf0a1e8199 commit] * balloon_compaction: adds three counters into /proc/vmstat: "balloon_inflate", "balloon_deflate" and "balloon_migrate". They accumulate balloon activity. Under option CONFIG_MEMORY_BALLOON [https://git.kernel.org/linus/09316c09dde33aae14f34489d9e3d243ec0d5938 commit] * slab merge: If new creating slab has similar size and property with exsitent slab, this feature reuse it rather than creating new one [https://git.kernel.org/linus/12220dea07f1ac6ac717707104773d771c3f3077 commit] * Support compiling out madvise() and fadvise() [https://git.kernel.org/linus/d3ac21cacc24790eb45d735769f35753f5b56ceb commit] * Support fadvise without CONFIG_MMU [https://git.kernel.org/linus/887e7019e3b8f00c7901c0bc66fb689ced69f7b4 commit] * Introduce dump_vma [https://git.kernel.org/linus/0bf55139782db1fa96af66e37cc84afde18443ef commit] * NUMA: Memory zones are allocated by the page allocator in either node or zone order. This release defaults node-ordering on 64-bit NUMA, and to zone-ordering on 32-bit [https://git.kernel.org/linus/3193913ce62c63056bc67a6ae378beaf494afa66 commit] * Stress test for memory compaction [http://git.kernel.org/linus/0085d61fe05ec5a3739afb8ffb8a88130402633e commit] |
Line 26: | Line 148: |
* Software asynchronous crypto daemon that provides the kernel thread to assist multi-buffer crypto algorithms for submitting jobs and flushing jobs in multi-buffer crypto algorithms [http://git.kernel.org/linus/116177782392739f06868cfc2e6df5267aec4639 commit], [http://git.kernel.org/linus/12d2513d5fe23aed53872f9303d9cb4b61b60d80 commit], [http://git.kernel.org/linus/ad61e042e9151b55b393d5875e467e7fe0c7470c commit], [http://git.kernel.org/linus/2249cbb53ead12539c4ab7f422400e82263d174b commit], [http://git.kernel.org/linus/1e65b81a90df50bf450193065cc9073b706b8dda commit] * KEYS: Implement binary asymmetric key ID handling [http://git.kernel.org/linus/7901c1a8effbe5f89673bfc09d6e37b8f334f1a7 commit] |
* Software asynchronous crypto daemon that provides the kernel thread to assist multi-buffer crypto algorithms for submitting jobs and flushing jobs in multi-buffer crypto algorithms [https://git.kernel.org/linus/116177782392739f06868cfc2e6df5267aec4639 commit], [https://git.kernel.org/linus/12d2513d5fe23aed53872f9303d9cb4b61b60d80 commit], [https://git.kernel.org/linus/ad61e042e9151b55b393d5875e467e7fe0c7470c commit], [https://git.kernel.org/linus/2249cbb53ead12539c4ab7f422400e82263d174b commit], [https://git.kernel.org/linus/1e65b81a90df50bf450193065cc9073b706b8dda commit] * KEYS: Implement binary asymmetric key ID handling [https://git.kernel.org/linus/7901c1a8effbe5f89673bfc09d6e37b8f334f1a7 commit] |
Line 31: | Line 153: |
* Xen PV SCSI backend driver [http://git.kernel.org/linus/d9d660f6e562a47b4065eeb7e538910b0471b988 commit] * Add Xen PV SCSI frontend driver [http://git.kernel.org/linus/8beb8d4c91d652617dc992de565ec9904361c33e commit] * Remap Xen Identity Mapped RAM [http://git.kernel.org/linus/4fbb67e3c87b806ad54445a1b4a9c6bde2359c98 commit] |
* Xen PV SCSI backend driver [https://git.kernel.org/linus/d9d660f6e562a47b4065eeb7e538910b0471b988 commit] * Add Xen PV SCSI frontend driver [https://git.kernel.org/linus/8beb8d4c91d652617dc992de565ec9904361c33e commit] * Remap Xen Identity Mapped RAM [https://git.kernel.org/linus/4fbb67e3c87b806ad54445a1b4a9c6bde2359c98 commit] = Tracing & perf = * perf tools * Add +field argument support for --field option [http://git.kernel.org/linus/2f3f9bcf000b2043a480e7cc0cae582559fb0f13 commit] * Add +field argument support for --sort option [http://git.kernel.org/linus/1a1c0ffb2adb2d2ce7bb9c4dfd2935ba345cf2c2 commit] * Add perf-with-kcore script [http://git.kernel.org/linus/c501e90b4700e4f247ccdcf5ae81f9846a2ef5f9 commit] * Add report.queue-size config file option [http://git.kernel.org/linus/94786b67b5f4577c16486e8eb10ff045e59f80ef commit] * Add support to new style format of kernel PMU event [http://git.kernel.org/linus/ba32a4511c65e41958384d2f7a046a6ec6e151e5 commit] * Let a user specify a PMU event without any config terms [http://git.kernel.org/linus/ad96227349901838e1a7f96f1dc22d96a97520c0 commit] * Let default config be defined for a PMU [http://git.kernel.org/linus/dc0a6202421170a6d8d2c6f5176575b3f60e0f85 commit] * top * Add -w option for setting column width [http://git.kernel.org/linus/cf59002fdebc9c00ee29233e65bc39dd69e0eaf6 commit] * Add a visual cue for toggle zeroing of samples [http://git.kernel.org/linus/1e378ebd117d1828b9d5dbe0538887478fcb9d84 commit] * Handle 'z' key for toggle zeroing samples in TUI [http://git.kernel.org/linus/42337a222c93cd22864f20ef9b157765ab1086a0 commit] * perf bench futex: Support operations for shared futexes [http://git.kernel.org/linus/86c87e13f8a5dffc6cc7b0f37340f815dc172945 commit] * perf kvm stat report: Enable the target.system_wide flag [http://git.kernel.org/linus/f181957c2849478fc963a8ac3c7dacf0a87c6b05 commit] |
Line 37: | Line 174: |
* ipv4: implement igmp_qrv sysctl to tune igmp robustness variable [http://git.kernel.org/linus/a9fe8e29945d56f35235a3a0fba99b4cf181d211 commit] * ipv6: add sysctl_mld_qrv to configure how many retransmit of unsolicited Multicast Listener Discovery retransmit should happen. Admins might want to tune this on lossy links [http://git.kernel.org/linus/2f711939d2ea9dfaecebecd1324d2ec7a7a21f65 commit] * ipv6: notify userspace when we added or changed an ipv6 token [http://git.kernel.org/linus/b2ed64a97430a26a63c6ea91c9b50e639a98dfbc commit] * ipvs: Allow heterogeneous pools [http://git.kernel.org/linus/6cff339bbd5f9eda7a5e8a521f91a88d046e6d0c commit], [http://git.kernel.org/linus/bc18d37f676f76edbb5e0c37def78c704b5fbed0 commit] * bfp: add "load 64-bit immediate" eBPF instruction [http://git.kernel.org/linus/02ab695bb37ee9ad515df0d0790d5977505dd04a commit] |
* ipv4: implement igmp_qrv sysctl to tune IGMP robustness variable [https://git.kernel.org/linus/a9fe8e29945d56f35235a3a0fba99b4cf181d211 commit] * ipv6: add sysctl_mld_qrv to configure how many retransmit of unsolicited Multicast Listener Discovery retransmit should happen. Admins might want to tune this on lossy links [https://git.kernel.org/linus/2f711939d2ea9dfaecebecd1324d2ec7a7a21f65 commit] * ipv6: notify userspace when we added or changed an ipv6 token [https://git.kernel.org/linus/b2ed64a97430a26a63c6ea91c9b50e639a98dfbc commit] * ipvs: Allow heterogeneous pools [https://git.kernel.org/linus/6cff339bbd5f9eda7a5e8a521f91a88d046e6d0c commit], [https://git.kernel.org/linus/bc18d37f676f76edbb5e0c37def78c704b5fbed0 commit] * TCP: Restore RFC5961-compliant behavior for SYN packets [https://git.kernel.org/linus/0c228e833c88e3aa029250f5db77d5968c5ce5b5 commit] * TCP: TCP Small Queues and strange attractors. The purpose is to try to keep number of packets in qdisc as small as possible [https://git.kernel.org/linus/9b462d02d6dd671a9ebdc45caed6fe98a53c0ebe commit] * TCP: improve undo on timeout (increases the undo events by 50% on Google servers) [https://git.kernel.org/linus/989e04c5bc3ff77d65e1f0d87bf7904dfa30d41c commit] * TIPC: add name distributor resiliency queue, helps to avoid race conditions in TIPC distributed name table updates [https://git.kernel.org/linus/a5325ae5b8bff051933a754db7727fc9823e6414 commit] * UDP: GRO for UDPv6 [https://git.kernel.org/linus/57c67ff4bd92af634f7c91c40eb02a96dd785dda commit] * ip_tunnel: Add GUE support [https://git.kernel.org/linus/bc1fc390e1728672b5b343b85185fcc1fe41043b commit] * ethtool: adds new ethtool cmd, ETHTOOL_GTUNABLE & ETHTOOL_STUNABLE for getting and setting tunable values [http://git.kernel.org/linus/f0db9b073415848709dd59a6394969882f517da9 commit] * pktgen: add flag NO_TIMESTAMP to disable timestamping [http://git.kernel.org/linus/afb84b6261841f8ab387e267e748236fa805bea0 commit] * xfrm: Enable to specify local and remote prefix length thresholds for the policy hash table via a netlink XFRM_MSG_NEWSPDINFO message [http://git.kernel.org/linus/880a6fab8f6ba5b5abe59ea68533202ddea1012c commit] * openvswitch: Add recirc and hash action. [http://git.kernel.org/linus/971427f353f3c42c8dcef62e7124440df68eb809 commit] * openvswitch: Add support for Geneve tunneling. [http://git.kernel.org/linus/f5796684069e0c71c65bce6a6d4766114aec1396 commit] * Bluetooth: 6lowpan: Enable multicast support [http://git.kernel.org/linus/156395c9989a76228e0da40e71267a3d4fb07419 commit] * bridge: Add a default_pvid sysfs attribute [http://git.kernel.org/linus/96a20d9d7fff7068a2233b00379f0778a150bf86 commit] * bridge: Add filtering support for default_pvid [http://git.kernel.org/linus/5be5a2df40f005ea7fb7e280e87bbbcfcf1c2fc0 commit] |
Line 43: | Line 194: |
* Support DTPC IE (from Cisco Client eXtensions) [http://git.kernel.org/linus/c8d6591752e96c550cb98b781326d72d8eedcc79 commit] * Add Radio Resource Management support to assoc request [http://git.kernel.org/linus/ commit] * TCP: Restore RFC5961-compliant behavior for SYN packets [http://git.kernel.org/linus/0c228e833c88e3aa029250f5db77d5968c5ce5b5 commit] * TCP: TCP Small Queues and strange attractors. The purpose is to try to keep number of packets in qdisc as small as possible [http://git.kernel.org/linus/9b462d02d6dd671a9ebdc45caed6fe98a53c0ebe commit] * TCP: improve undo on timeout (ncreases the undo events by 50% on Google servers) [http://git.kernel.org/linus/989e04c5bc3ff77d65e1f0d87bf7904dfa30d41c commit] * TIPC: add name distributor resiliency queue, helps to avoid race conditions in TIPC distributed name table updates [http://git.kernel.org/linus/a5325ae5b8bff051933a754db7727fc9823e6414 commit] * UDP: GRO for UDPv6 [http://git.kernel.org/linus/57c67ff4bd92af634f7c91c40eb02a96dd785dda commit] * gue: Receive side for Generic UDP Encapsulation [http://git.kernel.org/linus/37dd0247797b168ad1cc7f5dbec825a1ee66535b commit] * ip_tunnel: Add GUE support [http://git.kernel.org/linus/bc1fc390e1728672b5b343b85185fcc1fe41043b commit] * netfilter: * nftables: IPv4 masquerading support [http://git.kernel.org/linus/8dd33cc93ec92b8460ed2ad98c6db39276f6a72b commit] * nftables: IPv6 masquerading support [http://git.kernel.org/linus/be6b635cd674add9410efa9ac6f03e0040848b12 commit] * nftables: allow to filter from prerouting and postrouting [http://git.kernel.org/linus/36d2af5998258344993dd43729997a7a3baa9d99 commit] * nftables: extend NFT_MSG_DELTABLE to support flushing the ruleset [http://git.kernel.org/linus/b9ac12ef099707f405d7478009564302d7ed8393 commit] * nfnetlink_acct: add filter support to nfacct counter list/reset [http://git.kernel.org/linus/f111f780ae1abf4cdc464f24293be90c010a04f6 commit] * nftables: export rule-set generation ID [http://git.kernel.org/linus/84d7fce693884897c6196cc98228a2ad56ae2a9a commit] * nft_meta: Add cpu attribute support, allows to match packets with cpu number [http://git.kernel.org/linus/afc5be3079796b024823bad42dc5ebf716453575 commit] * nft_meta: add pkttype support for ip, ipv6 and inet families of tables. Allows to match packets based on the link layer information [http://git.kernel.org/linus/e2a093ff0dbfa4c5d99f25241cf33325e9691d91 commit] * nft_meta: add devgroup support in meta expresion, lets match device group of a packets incoming or outgoing interface [http://git.kernel.org/linus/3045d76070abe725dbb7fd8ff39c27b820d5a7eb commit] * ipset: hash:mac type added to ipset, by which one can store MAC (ethernet address) elements in a set. [http://git.kernel.org/linus/07034aeae152de52c29f032ca995bf9dafbe24e2 commit] * conntrack: disable generic tracking for known protocols [http://git.kernel.org/linus/db29a9508a9246e77087c5531e45b2c88ec6988b commit] |
* Support DTPC IE (from Cisco Client eXtensions) [https://git.kernel.org/linus/c8d6591752e96c550cb98b781326d72d8eedcc79 commit] * Add Radio Resource Management support to assoc request [https://git.kernel.org/linus/ commit] * Add WMM traffic stream API [http://git.kernel.org/linus/960d01acf62747d6518694f92be5b06f67473833 commit] * Re-enable CSA for drivers that support it [http://git.kernel.org/linus/f41ef64853fb1e02728e56b2d0d55aef8ed12b26 commit] * nftables * IPv4 masquerading support [https://git.kernel.org/linus/8dd33cc93ec92b8460ed2ad98c6db39276f6a72b commit] * IPv6 masquerading support [https://git.kernel.org/linus/be6b635cd674add9410efa9ac6f03e0040848b12 commit] * allow to filter from pre-routing and post-routing [https://git.kernel.org/linus/36d2af5998258344993dd43729997a7a3baa9d99 commit] * extend NFT_MSG_DELTABLE to support flushing the ruleset [https://git.kernel.org/linus/b9ac12ef099707f405d7478009564302d7ed8393 commit] * nfnetlink_acct: add filter support to nfacct counter list/reset [https://git.kernel.org/linus/f111f780ae1abf4cdc464f24293be90c010a04f6 commit] * export rule-set generation ID [https://git.kernel.org/linus/84d7fce693884897c6196cc98228a2ad56ae2a9a commit] * nft_meta: Add CPU attribute support, allows to match packets with CPU number [https://git.kernel.org/linus/afc5be3079796b024823bad42dc5ebf716453575 commit] * nft_meta: add pkttype support for ip, ipv6 and inet families of tables. Allows to match packets based on the link layer information [https://git.kernel.org/linus/e2a093ff0dbfa4c5d99f25241cf33325e9691d91 commit] * nft_meta: add devgroup support in meta expression, lets match device group of a packets incoming or outgoing interface [https://git.kernel.org/linus/3045d76070abe725dbb7fd8ff39c27b820d5a7eb commit] * netfilter * ipset: hash:mac type added to ipset, by which one can store MAC (Ethernet address) elements in a set. [https://git.kernel.org/linus/07034aeae152de52c29f032ca995bf9dafbe24e2 commit] * conntrack: disable generic tracking for known protocols [https://git.kernel.org/linus/db29a9508a9246e77087c5531e45b2c88ec6988b commit] = Core (various) = * Add support for gcc 5 [http://git.kernel.org/linus/71458cfc782eafe4b27656e078d379a34e472adf commit] * locktorture: Add infrastructure for torturing read locks [http://git.kernel.org/linus/4f6332c1dce9c64ef6bf93842067250dd850e482 commit], mutexes [http://git.kernel.org/linus/42ddc75ddd478edac6ad9dc8c63abb4441541af2 commit], rwlocks [http://git.kernel.org/linus/e34191fad8e5d9fe4e76f6d03b5e29e3eae7535a commit], rwsems [http://git.kernel.org/linus/4a3b427f0b27c7e15edfa607524ff012a155337a commit] * kbuild: handle module compression while running 'make modules_install'. [http://git.kernel.org/linus/beb50df39e91745604ce3cb9dc6a503f39f4383d commit] * Increase the buffer-head per-CPU LRU size [http://git.kernel.org/linus/86cf78d73de8c6bfa89804b91ee0ace71a459961 commit] * sched: Add default-disabled option to BUG() when stack end location is overwritten [http://git.kernel.org/linus/0d9e26329b0c9263d4d9e0422d80a0e73268c52f commit] * sched: Improve sysbench performance by fixing spurious active migration [http://git.kernel.org/linus/43f4d66637bc752e93a77ff2536474a5a3888442 commit] * prctl: introduce PR_SET_MM_MAP operation to allow checkpoint/restore utilities to restore a process memory properties [http://git.kernel.org/linus/f606b77f1a9e362451aca8f81d8f36a3a112139e commit] |
Linux 3.17 [https://lkml.org/lkml/2014/12/7/202 has been released] on Sun, 7 Dec 2014
Summary: This release adds support for overlayfs, which allows to combine two filesystem in one single mount point; foo-over-UDP.
- USB device sharing over IP, support for Xbox One controllers, support for Apple's thunderbolt, a new sealing API that restricts operations on shared memory file descriptors that allows easier shared memory programming for developers, support for page fault tracing in perf trace, support for only using signed kernels in kexec, a getrandom() syscall for more secure random number generation, and graphic "render nodes" are no longer experimental. There are also new drivers and many other small improvements.
1. Prominent features
1.1. Overlayfs
An overlay filesystem combines two filesystems, an 'upper' filesystem and a 'lower' filesystem, into a single file system namespace, modifications will be done to the upper filesystem. It has many uses, but it is most often used for live CDs, where a read-only OS image is used as lower filesystem and a writeable RAM-backed filesystem is used as the upper one. Any modifications will be done in the upper filesystem, thus allowing users to run the OS image provided normally. Overlayfs differs from other "union filesystem" implementations in that after a file is opened all operations go directly to the underlying, lower or upper, filesystems. This simplifies the implementation and allows native performance in these cases.
It is possible for both directory trees to be in the same filesystem and there is no requirement that the root of a filesystem be given for either upper or lower. The lower filesystem can be any filesystem supported by Linux and does not need to be writable. The lower filesystem can even be another overlayfs. The upper filesystem will normally be writable and if it is it must support the creation of trusted.* extended attributes, and must provide valid d_type in readdir() responses, so NFS is not suitable.
Documentation: [http://git.kernel.org/linus/7c37fbda85ceb9be7bdb9d5f53e702efc40cf783 commit] Code: [http://git.kernel.org/linus/e9be9d5e76e34872f0c37d72e25bc27fe9e2c54c commit]
1.2. Radeon: mapping of user pages into video memory
[http://kernelnewbies.org/Linux_3.16#head-822ab6b7936786bb9e91c16ecdcefe6fd20dc6bf Linux 3.16 added] the ability to map users addresses into the video memory for Intel hardware. In this release, Radeon has also gained support for this feature. Normal application data can be used as a texture source or even as a render target (depending upon the capabilities of the chipset). This has a number of uses, with zero-copy downloads to the GPU and efficient readback making the intermixed streaming of CPU and GPU operations fairly efficient. This ability has many widespread implications from faster rendering of client-side software rasterisers (chromium), mitigation of stalls due to read back (firefox) and to faster pipelining of texture data (such as pixel buffer objects in GL or data blobs in CL).
Code: [http://git.kernel.org/linus/f72a113a71ab08c4df8a5f80ab2f8a140feb81f6 commit]
1.3. bfp() syscall for eBFP virtual machine programs
bpf() syscall is a multiplexor for a range of different operations on eBPF which can be characterized as "universal in-kernel virtual machine". eBPF is similar to original Berkeley Packet Filter used to filter network packets. eBPF "extends" classic BPF in multiple ways including ability to call in-kernel helper functions and access shared data structures like eBPF maps. The programs can be written in a restricted C that is compiled into eBPF bytecode and executed on the eBPF virtual machine or JITed into native instruction set.
eBPF programs are similar to kernel modules. They are loaded by the user process and automatically unloaded when process exits. Each eBPF program is a safe run-to-completion set of instructions. eBPF verifier statically determines that the program terminates and is safe to execute. The programs are attached to different events. These events can be packets, tracepoint events and other types in the future. Beyond storing data the programs may call into in-kernel helper functions which may, for example, dump stack, do trace_printk or other forms of live kernel debugging.
Recommended LWN article: [http://lwn.net/Articles/612878/ The BPF system call API, version 14]
ebfp() man page and design documentation can be read on the merge commit: [http://git.kernel.org/linus/b4fc1a460f3017e958e6a8ea560ea0afd91bf6fe commit]
Code: [http://git.kernel.org/linus/99c55f7d47c0dc6fc64729f37bf435abf43f4c60 commit 1], [http://git.kernel.org/linus/db20fd2b01087bdfbe30bce314a198eefedcc42e 2], [http://git.kernel.org/linus/09756af46893c18839062976c3252e93a1beeba7 3], [http://git.kernel.org/linus/0a542a86d73b1577e7d4f55fc95dcffd3fe62643 4], [http://git.kernel.org/linus/51580e798cb61b0fc63fa3aa6c5c975375aa0550 5], [http://git.kernel.org/linus/cbd357008604925355ae7b54a09137dabb81b580 6], [http://git.kernel.org/linus/0246e64d9a5fcd4805198de59b9b5cf1f974eb41 7], [http://git.kernel.org/linus/475fb78fbf48592ce541627c60a7b331060e31f5 8], [http://git.kernel.org/linus/17a5267067f3c372fec9ffb798d6eaba6b5e6a4c 9], [http://git.kernel.org/linus/3c731eba48e1b0650decfc91a839b80f0e05ce8f 10]
1.4. TCP: Data Center TCP congestion algorithm
This release adds the Data Center TCP (DCTCP) congestion control algorithm. DCTCP is an enhancement to the TCP congestion control algorithm for data center networks. DCTCP has been designed for workloads typical of data center environments to provide/achieve: high burst tolerance, low latency and high throughput.
For more details about DCTCP, see the [http://simula.stanford.edu/~alizade/Site/DCTCP.html DCTCP web page]
Code: [http://git.kernel.org/linus/e3118e8359bb7c59555aca60c725106e6d78c5ce commit]
1.5. Networking: Geneve Virtualization Encapsulation
Advent of network virtualization has caused a surge of renewed interest and a corresponding increase in the introduction of new protocols, ranging all the way from VLANs and MPLS through the more recent VXLAN, NVGRE , and STT. Existing tunnel protocols have each attempted to solve different aspects of the new requirements, only to be quickly rendered out of date. This release adds Geneve, a protocol which seeks to avoid these problems by providing a framework for tunneling that provide Layer 2 Networks over Layer 3 Networks.
For more information see http://tools.ietf.org/html/draft-gross-geneve-01
Related vmware blog post: [http://blogs.vmware.com/cto/geneve-vxlan-network-virtualization-encapsulations/ Geneve, VXLAN, and Network Virtualization Encapsulations]
Code: [http://git.kernel.org/linus/0b5e8b8eeae40bae6ad7c7e91c97c3c0d0e57882 commit]
1.6. Networking performance optimization: transmission queue batching
This release adds support for deferred flushing of transmission [http://vger.kernel.org/~davem/skb.html SKB]s (socket buffers) to the networking driver. Processing the transmission queue is expensive, so some batching shares that cost with other SKBs. This change allows to achieve 10Gbit/s full TX wirespeed smallest packet size on a single CPU core (14.8Mpps). Several drivers already have support for this feature: i40e, igb, ixgbe, mlx4, virtio_net, more will follow in next releases.
Recommended LWN article: [http://lwn.net/Articles/615238/ Bulk network packet transmission]
Recommended blog post [http://netoptimizer.blogspot.dk/2014/10/unlocked-10gbps-tx-wirespeed-smallest.html Unlocked 10Gbps TX wirespeed smallest packet single core]
Code: see the blog post link
1.7. Foo-over-UDP support
This release adds the ability to encapsulate any IP protocol over UDP including tunnels (IPIP, GRE, SIT).
The rationale for this funcionality is that network mechanisms, hardware and optimizations for UDP (such as ECMP and RSS) can be leveraged to provide better service. GRE, IPIP, and SIT have been modified with netlink commands to configure use of FOU on transmit. A new "ip fou" has been added in newer releases of ip to make use of this feature. Details on configuration can be found in the merge link.
Recommended LWN link: [http://lwn.net/Articles/614348/ Foo over UDP]
Merge link: [https://git.kernel.org/linus/fb5690d2458340b645ea3b36e8db560cb3272e65 merge]
1.8. Optional multiqueue SCSI support
Linux 3.13 [[http://kernelnewbies.org/Linux_3.13#head-3e5f0c2bcebc98efd197e3036dd814eadd62839c added] a new design for the block layer that allowed to process multiple IO queues in parallel. This feature, however, wasn't transparent, and required modifications in drivers to support it. In this release, support for the multi-queue layer has been added to the SCSI layer (used by ATA and SATA drivers) as an optional configuration option.
Code: [http://git.kernel.org/linus/24c20f10583647e30afe87b6f6d5e14bc7b1cbc6 commit]
2. Drivers and architectures
All the driver and architecture-specific changes can be found in the [http://kernelnewbies.org/Linux_3.18-DriversArch Linux_3.18-DriversArch page]
3. File systems
- F2FS
Introduce FITRIM discard support [http://git.kernel.org/linus/4b2fecc84655055a6a1fe9151786992ac04b56ce commit]
Support atomic writes [http://git.kernel.org/linus/88b88a66797159949cec32eaab12b4968f6fae2d commit]
Support large sector size [http://git.kernel.org/linus/55cf9cb63f0e5439f208d78ed944de9a8df65011 commit]
Support volatile operations for transient data [http://git.kernel.org/linus/02a1335f25a386db9afc68f8315162f862aac93f commit]
- EXT4
Support freezing ext2 (nojournal) file systems [http://git.kernel.org/linus/bb0445765866e5b1607af81e2f48ca5a8efbeed8 commit]
Add sysfs entry showing whether the fs contains errors [http://git.kernel.org/linus/52c198c6820f68b6fbe1d83f76e34a82bf736024 commit]
- NFS
Implement NFS v4.2 SEEK operation, allowing to use lseek() call with either the SEEK_HOLE or SEEK_DATA flags set [http://git.kernel.org/linus/1c6dcbe5ceff81c2cf8d929646af675cd59fe7c0 commit], [http://git.kernel.org/linus/24bab491220faa446d945624086d838af41d616c commit]
Allow turning off nfsv3 readdir_plus [http://git.kernel.org/linus/18c01ab30288d9d0a7d80b08b659531f37ed379d commit]
nfsd: add a v4_end_grace file to /proc/fs/nfsd that allows a privileged userland process to end the v4 grace period early [http://git.kernel.org/linus/7f5ef2e900d9462bf9cffaf6bb246ed87a20a6d6 commit]
lockd: add a /proc/fs/lockd/nlm_end_grace file that will allow a (privileged) userland process to end the NLM grace period early [http://git.kernel.org/linus/d68e3c4aa416d592d79152a49af121e4ecb204e3 commit]
- SMB
Add mfsymlinks support for SMB2.1/SMB3 [http://git.kernel.org/linus/5ab97578cbb3bf9a28dec4534cb86fbc35e600bb commit], [http://git.kernel.org/linus/c22870ea2deb2841402133909cfa707a2c0b12ed commit]
Allow mknod and mkfifo on SMB2/SMB3 mounts [http://git.kernel.org/linus/db8b631d4bc4eaa9f7e13a6b0a287306cac0cb72 commit]
Allow conversion of characters in Mac remap range [http://git.kernel.org/linus/b693855fe67314d501aae74b9adff8788eb2fd82 commit], [http://git.kernel.org/linus/a4153cb1d3cb7d7c16968b0a9cf7c8aacf31424e commit]
Remap reserved posix characters by default [http://git.kernel.org/linus/2baa2682531ff02928e2d3904800696d9e7193db commit]
- BTRFS
Make defragment work with nodatacow option [http://git.kernel.org/linus/47059d930f0e002ff851beea87d738146804726d commit]
Improve free space cache management and space allocation [http://git.kernel.org/linus/200055239604cf4bfaed40d8f404228ea606b4f9 commit]
Implement repair function when direct read fails [http://git.kernel.org/linus/8b110e393c5a6e72d50fcdf9fa7ed8b647cfdfc9 commit]
- XFS
Add debug sysfs attribute set [https://git.kernel.org/linus/65b65735fede29b516fed1d8c2391e8bc373b805 commit], [https://git.kernel.org/linus/2e2271787419a12496bf5da5c3028a9c73c9697f commit]
- NTFS
Add FIBMAP ioctl support [https://git.kernel.org/linus/3f7fc6f2a2ba0f72a09e9f9999c3812fdee8fe70 commit]
4. Security
Smack: Add a new access (aka permissive) mode [https://git.kernel.org/linus/d166c8024d620d654b12834fac354fb4203c6c22 commit]
ima: provide 'ima_appraise=log' kernel option that allows logging only mode without fixing it, in order to properly analyze the system [https://git.kernel.org/linus/2faa6ef3b21152cc05b69a84113625dcee63176f commit]
5. Block
Implement readpages() to optimize sequential reads of /dev block devices [http://git.kernel.org/linus/447f05bb488bff4282088259b04f47f0f9f76760 commit]
SCSI target userspace backend that uses UIO + shared memory ring to dispatch I/O and control commands into user-space [http://git.kernel.org/linus/7c9e7a6fe11c8dc5b3b9d0e889dde73347247584 commit]
dm raid: add discard support for RAID levels 1 and 10 [http://git.kernel.org/linus/75b8e04bbf01bdd5c42a1d8ac54abf757196ce49 commit] and 4, 5 and 6 [http://git.kernel.org/linus/48cf06bc5f508d5f71bc0fd7530daebb12a48428 commit]
zram memory size limitation [http://git.kernel.org/linus/9ada9da9573f3460b156b7755c093e30b258eacb commit]
zram: report maximum used memory [http://git.kernel.org/linus/461a8eee6af3b55745be64bea403ed0b743563cf commit]
6. Memory management
memory-hotplug: add /sys/devices/system/memory/memoryX/valid_zones, shows which zone this memory block can be onlined to [https://git.kernel.org/linus/ed2f240094f900833ac06f533ab8bbcf0a1e8199 commit]
balloon_compaction: adds three counters into /proc/vmstat: "balloon_inflate", "balloon_deflate" and "balloon_migrate". They accumulate balloon activity. Under option CONFIG_MEMORY_BALLOON [https://git.kernel.org/linus/09316c09dde33aae14f34489d9e3d243ec0d5938 commit]
slab merge: If new creating slab has similar size and property with exsitent slab, this feature reuse it rather than creating new one [https://git.kernel.org/linus/12220dea07f1ac6ac717707104773d771c3f3077 commit]
Support compiling out madvise() and fadvise() [https://git.kernel.org/linus/d3ac21cacc24790eb45d735769f35753f5b56ceb commit]
Support fadvise without CONFIG_MMU [https://git.kernel.org/linus/887e7019e3b8f00c7901c0bc66fb689ced69f7b4 commit]
Introduce dump_vma [https://git.kernel.org/linus/0bf55139782db1fa96af66e37cc84afde18443ef commit]
NUMA: Memory zones are allocated by the page allocator in either node or zone order. This release defaults node-ordering on 64-bit NUMA, and to zone-ordering on 32-bit [https://git.kernel.org/linus/3193913ce62c63056bc67a6ae378beaf494afa66 commit]
Stress test for memory compaction [http://git.kernel.org/linus/0085d61fe05ec5a3739afb8ffb8a88130402633e commit]
7. Crypto
Software asynchronous crypto daemon that provides the kernel thread to assist multi-buffer crypto algorithms for submitting jobs and flushing jobs in multi-buffer crypto algorithms [https://git.kernel.org/linus/116177782392739f06868cfc2e6df5267aec4639 commit], [https://git.kernel.org/linus/12d2513d5fe23aed53872f9303d9cb4b61b60d80 commit], [https://git.kernel.org/linus/ad61e042e9151b55b393d5875e467e7fe0c7470c commit], [https://git.kernel.org/linus/2249cbb53ead12539c4ab7f422400e82263d174b commit], [https://git.kernel.org/linus/1e65b81a90df50bf450193065cc9073b706b8dda commit]
KEYS: Implement binary asymmetric key ID handling [https://git.kernel.org/linus/7901c1a8effbe5f89673bfc09d6e37b8f334f1a7 commit]
8. Virtualization
- Xen
Xen PV SCSI backend driver [https://git.kernel.org/linus/d9d660f6e562a47b4065eeb7e538910b0471b988 commit]
Add Xen PV SCSI frontend driver [https://git.kernel.org/linus/8beb8d4c91d652617dc992de565ec9904361c33e commit]
Remap Xen Identity Mapped RAM [https://git.kernel.org/linus/4fbb67e3c87b806ad54445a1b4a9c6bde2359c98 commit]
9. Tracing & perf
- perf tools
Add +field argument support for --field option [http://git.kernel.org/linus/2f3f9bcf000b2043a480e7cc0cae582559fb0f13 commit]
Add +field argument support for --sort option [http://git.kernel.org/linus/1a1c0ffb2adb2d2ce7bb9c4dfd2935ba345cf2c2 commit]
Add perf-with-kcore script [http://git.kernel.org/linus/c501e90b4700e4f247ccdcf5ae81f9846a2ef5f9 commit]
Add report.queue-size config file option [http://git.kernel.org/linus/94786b67b5f4577c16486e8eb10ff045e59f80ef commit]
Add support to new style format of kernel PMU event [http://git.kernel.org/linus/ba32a4511c65e41958384d2f7a046a6ec6e151e5 commit]
Let a user specify a PMU event without any config terms [http://git.kernel.org/linus/ad96227349901838e1a7f96f1dc22d96a97520c0 commit]
Let default config be defined for a PMU [http://git.kernel.org/linus/dc0a6202421170a6d8d2c6f5176575b3f60e0f85 commit]
- top
Add -w option for setting column width [http://git.kernel.org/linus/cf59002fdebc9c00ee29233e65bc39dd69e0eaf6 commit]
Add a visual cue for toggle zeroing of samples [http://git.kernel.org/linus/1e378ebd117d1828b9d5dbe0538887478fcb9d84 commit]
Handle 'z' key for toggle zeroing samples in TUI [http://git.kernel.org/linus/42337a222c93cd22864f20ef9b157765ab1086a0 commit]
perf bench futex: Support operations for shared futexes [http://git.kernel.org/linus/86c87e13f8a5dffc6cc7b0f37340f815dc172945 commit]
perf kvm stat report: Enable the target.system_wide flag [http://git.kernel.org/linus/f181957c2849478fc963a8ac3c7dacf0a87c6b05 commit]
10. Networking
ipv4: implement igmp_qrv sysctl to tune IGMP robustness variable [https://git.kernel.org/linus/a9fe8e29945d56f35235a3a0fba99b4cf181d211 commit]
ipv6: add sysctl_mld_qrv to configure how many retransmit of unsolicited Multicast Listener Discovery retransmit should happen. Admins might want to tune this on lossy links [https://git.kernel.org/linus/2f711939d2ea9dfaecebecd1324d2ec7a7a21f65 commit]
ipv6: notify userspace when we added or changed an ipv6 token [https://git.kernel.org/linus/b2ed64a97430a26a63c6ea91c9b50e639a98dfbc commit]
ipvs: Allow heterogeneous pools [https://git.kernel.org/linus/6cff339bbd5f9eda7a5e8a521f91a88d046e6d0c commit], [https://git.kernel.org/linus/bc18d37f676f76edbb5e0c37def78c704b5fbed0 commit]
TCP: Restore RFC5961-compliant behavior for SYN packets [https://git.kernel.org/linus/0c228e833c88e3aa029250f5db77d5968c5ce5b5 commit]
TCP: TCP Small Queues and strange attractors. The purpose is to try to keep number of packets in qdisc as small as possible [https://git.kernel.org/linus/9b462d02d6dd671a9ebdc45caed6fe98a53c0ebe commit]
TCP: improve undo on timeout (increases the undo events by 50% on Google servers) [https://git.kernel.org/linus/989e04c5bc3ff77d65e1f0d87bf7904dfa30d41c commit]
TIPC: add name distributor resiliency queue, helps to avoid race conditions in TIPC distributed name table updates [https://git.kernel.org/linus/a5325ae5b8bff051933a754db7727fc9823e6414 commit]
UDP: GRO for UDPv6 [https://git.kernel.org/linus/57c67ff4bd92af634f7c91c40eb02a96dd785dda commit]
ip_tunnel: Add GUE support [https://git.kernel.org/linus/bc1fc390e1728672b5b343b85185fcc1fe41043b commit]
ethtool: adds new ethtool cmd, ETHTOOL_GTUNABLE & ETHTOOL_STUNABLE for getting and setting tunable values [http://git.kernel.org/linus/f0db9b073415848709dd59a6394969882f517da9 commit]
pktgen: add flag NO_TIMESTAMP to disable timestamping [http://git.kernel.org/linus/afb84b6261841f8ab387e267e748236fa805bea0 commit]
xfrm: Enable to specify local and remote prefix length thresholds for the policy hash table via a netlink XFRM_MSG_NEWSPDINFO message [http://git.kernel.org/linus/880a6fab8f6ba5b5abe59ea68533202ddea1012c commit]
openvswitch: Add recirc and hash action. [http://git.kernel.org/linus/971427f353f3c42c8dcef62e7124440df68eb809 commit]
openvswitch: Add support for Geneve tunneling. [http://git.kernel.org/linus/f5796684069e0c71c65bce6a6d4766114aec1396 commit]
Bluetooth: 6lowpan: Enable multicast support [http://git.kernel.org/linus/156395c9989a76228e0da40e71267a3d4fb07419 commit]
bridge: Add a default_pvid sysfs attribute [http://git.kernel.org/linus/96a20d9d7fff7068a2233b00379f0778a150bf86 commit]
bridge: Add filtering support for default_pvid [http://git.kernel.org/linus/5be5a2df40f005ea7fb7e280e87bbbcfcf1c2fc0 commit]
- Wireless
Support DTPC IE (from Cisco Client eXtensions) [https://git.kernel.org/linus/c8d6591752e96c550cb98b781326d72d8eedcc79 commit]
Add Radio Resource Management support to assoc request [https://git.kernel.org/linus/ commit]
Add WMM traffic stream API [http://git.kernel.org/linus/960d01acf62747d6518694f92be5b06f67473833 commit]
Re-enable CSA for drivers that support it [http://git.kernel.org/linus/f41ef64853fb1e02728e56b2d0d55aef8ed12b26 commit]
- nftables
IPv4 masquerading support [https://git.kernel.org/linus/8dd33cc93ec92b8460ed2ad98c6db39276f6a72b commit]
IPv6 masquerading support [https://git.kernel.org/linus/be6b635cd674add9410efa9ac6f03e0040848b12 commit]
allow to filter from pre-routing and post-routing [https://git.kernel.org/linus/36d2af5998258344993dd43729997a7a3baa9d99 commit]
extend NFT_MSG_DELTABLE to support flushing the ruleset [https://git.kernel.org/linus/b9ac12ef099707f405d7478009564302d7ed8393 commit]
nfnetlink_acct: add filter support to nfacct counter list/reset [https://git.kernel.org/linus/f111f780ae1abf4cdc464f24293be90c010a04f6 commit]
export rule-set generation ID [https://git.kernel.org/linus/84d7fce693884897c6196cc98228a2ad56ae2a9a commit]
nft_meta: Add CPU attribute support, allows to match packets with CPU number [https://git.kernel.org/linus/afc5be3079796b024823bad42dc5ebf716453575 commit]
nft_meta: add pkttype support for ip, ipv6 and inet families of tables. Allows to match packets based on the link layer information [https://git.kernel.org/linus/e2a093ff0dbfa4c5d99f25241cf33325e9691d91 commit]
nft_meta: add devgroup support in meta expression, lets match device group of a packets incoming or outgoing interface [https://git.kernel.org/linus/3045d76070abe725dbb7fd8ff39c27b820d5a7eb commit]
- netfilter
ipset: hash:mac type added to ipset, by which one can store MAC (Ethernet address) elements in a set. [https://git.kernel.org/linus/07034aeae152de52c29f032ca995bf9dafbe24e2 commit]
conntrack: disable generic tracking for known protocols [https://git.kernel.org/linus/db29a9508a9246e77087c5531e45b2c88ec6988b commit]
11. Core (various)
Add support for gcc 5 [http://git.kernel.org/linus/71458cfc782eafe4b27656e078d379a34e472adf commit]
locktorture: Add infrastructure for torturing read locks [http://git.kernel.org/linus/4f6332c1dce9c64ef6bf93842067250dd850e482 commit], mutexes [http://git.kernel.org/linus/42ddc75ddd478edac6ad9dc8c63abb4441541af2 commit], rwlocks [http://git.kernel.org/linus/e34191fad8e5d9fe4e76f6d03b5e29e3eae7535a commit], rwsems [http://git.kernel.org/linus/4a3b427f0b27c7e15edfa607524ff012a155337a commit]
kbuild: handle module compression while running 'make modules_install'. [http://git.kernel.org/linus/beb50df39e91745604ce3cb9dc6a503f39f4383d commit]
Increase the buffer-head per-CPU LRU size [http://git.kernel.org/linus/86cf78d73de8c6bfa89804b91ee0ace71a459961 commit]
sched: Add default-disabled option to BUG() when stack end location is overwritten [http://git.kernel.org/linus/0d9e26329b0c9263d4d9e0422d80a0e73268c52f commit]
sched: Improve sysbench performance by fixing spurious active migration [http://git.kernel.org/linus/43f4d66637bc752e93a77ff2536474a5a3888442 commit]
prctl: introduce PR_SET_MM_MAP operation to allow checkpoint/restore utilities to restore a process memory properties [http://git.kernel.org/linus/f606b77f1a9e362451aca8f81d8f36a3a112139e commit]