#pragma section-numbers on #pragma keywords Linux, kernel, operating system, changes, changelog, file system, Linus Torvalds, open source, device drivers #pragma description Summary of the changes and new features merged in the Linux kernel during the 4.4 development cycle Linux 4.4 [https://lkml.org/lkml/2016/1/10/305 has been released] on Sun, 10 Jan 2016. Summary: This release adds support for 3D support in virtual GPU driver, which allows 3D hardware-accelerated graphics in virtualization guests; loop device support for Direct I/O and Asynchronous I/O, which saves memory and increases performance; support for Open-channel SSDs, which are devices that share the responsibility of the Flash Translation Layer with the operating system; the TCP listener handling is completely lockless and allows for faster and more scalable TCP servers; journalled RAID5 in the MD layer which fixes the RAID write hole; eBPF programs can now be run by unprivileged users, they can be made persistent, and perf has added support for eBPF programs aswell; a new mlock2() syscall that allows users to request memory to be locked on page fault; and block polling support for improved performance in high-end storage devices. There are also new drivers and many other small improvements. [[TableOfContents()]] = Prominent features = == Faster and leaner loop device with Direct I/O and Asynchronous I/O support == This release introduces support of Direct I/O and asynchronous I/O for the loop block device. There are several advantages to use direct I/O and AIO on read/write loop's backing file: double cache is avoided due to Direct I/O which reduces memory usage a lot; unlike user space direct I/O there isn't cost of pinning pages; avoids context switches in some cases because concurrent submissions can be avoided. See commits for benchmarks. Code: [https://git.kernel.org/torvalds/c/ab1cb278bc7027663adbfb0b81404f8398437e11 commit], [https://git.kernel.org/torvalds/c/2e5ab5f379f96a6207c45be40c357ebb1beb8ef3 commit], [https://git.kernel.org/torvalds/c/5b5e20f421c0b6d437b3dec13e53674161998d56 commit], [https://git.kernel.org/torvalds/c/bc07c10a3603a5ab3ef01ba42b3d41f9ac63d1b6 commit], [https://git.kernel.org/torvalds/c/e03a3d7a94e2485b6e2fa3fb630b9b3a30b65718 commit] == 3D support in virtual GPU driver == virtio-gpu is a driver for virtualization guests that allows to use the host graphics card efficiently. In this release, it allows the virtualization guest to use the capabilities of the host GPU to accelerate 3D rendering. In practice, this means that a virtualized linux guest can run a opengl game while using the GPU acceleration capabilities of the host, as show in [https://www.youtube.com/watch?v=ONFGnUaln-4 this] or [https://www.youtube.com/watch?v=ZuuF092RDDc this] video. This also requires running [http://wiki.qemu.org/ChangeLog/2.5#virtio QEMU 2.5]. [https://virgil3d.github.io/ project page] [https://www.youtube.com/watch?v=rPeMrmeLTig 44m linux.conf talk about the project] Code: [https://git.kernel.org/torvalds/c/3187567222178d4b3742e88242f7abb3c3b7a215 commit] == LightNVM adds support for Open-Channel SSDs == Open-channel SSDs are devices that share responsibilities with the operating system in order to implement and maintain features that typical SSDs keep strictly in firmware. These include the Flash Translation Layer (FTL), bad block management, and hardware units such as the flash controller, the interface controller, and large amounts of flash chips. In this way, Open-channels SSDs exposes direct access to their physical flash storage, while keeping a subset of the internal features of SSDs. LightNVM is a specification that gives support to Open-channel SSDs. LightNVM allows the host to manage data placement, garbage collection, and parallelism. Device specific responsibilities such as bad block management, FTL extensions to support atomic IOs, or metadata persistence are still handled by the device. This Linux release adds support for lightnvm, (and adds support to NVMe as well). Recommended LWN article: [https://lwn.net/Articles/641247/ Taking control of SSDs with LightNVM] Code: [https://git.kernel.org/torvalds/c/48add0f5a6f46919dd307575aad6ea3de7c9cb2a commit], [https://git.kernel.org/torvalds/c/cd9e9808d18fe7107c306f6e71c8be7230ee42b4 commit], [https://git.kernel.org/torvalds/c/ca0640850e43f5f80c6029e2895b119b705f23bd commit], [https://git.kernel.org/torvalds/c/b2b7e00148a203e9934bbd17aebffae3f447ade7 commit], [https://git.kernel.org/torvalds/c/ae1519ec448bc31a7fe7369b66e7c78872f91e84 commit] == TCP listener handling completely lockless, making TCP servers faster and more scalable == In this release, and as a result from an effort that started two years ago, the TCP implementation has been refactored to make the TCP listener fast path completely lockless. During tests, a server was able to process 3,500,000 SYN packets per second on one listener and still have available CPU cycles - about 2 to 3 order of magnitude what it was possible before. SO_REUSEPORT has also been extended (see Networking section) to add proper CPU/NUMA affinities, so that heavy duty TCP servers can get proper siloing thanks to multi-queues NICs. Code: [https://git.kernel.org/torvalds/c/4d54d86546f62c7c4a0fe3b36a64c5e3b98ce1a9 commit], [https://git.kernel.org/torvalds/c/e6934f3ec00b04234acb24a1a2c28af59763d3b5 commit], [https://git.kernel.org/torvalds/c/c3fc7ac9a0b978ee8538058743d21feef25f7b33 commit] == Journalled RAID5 MD support == This release adds journalled RAID 5 support to the MD (RAID/LVM) layer. With a journal device configured (typically NVRAM or SSD), Data/parity writing to RAID array first writes to the log, then write to raid array disks. If crash happens, we can recovery data from the log. This can speed up RAID resync and fixes RAID5 write hole issue - a crash during degraded operations cannot result in data corruption. In future releases the journal will also be used to improve performance and latency Code: [https://git.kernel.org/torvalds/c/ac322de6bf5416cb145b58599297b8be73cd86ac merge] == Unprivileged eBPF + persistent eBPF programs == '''Unprivileged eBPF ''' eBPF programs got its own syscall in [http://kernelnewbies.org/Linux_3.18#head-ead251efb6bbdbe2922e7c6bd0c7b46342e03dad Linux 3.18], but until now its use had been restricted to root, because these programs were dangerous for security. eBPF programs are, however, validated by the kernel, and in this release the eBPF verifier has been improved and unprivileged users can use it (although unprivileged eBPF is only meaningful for 'socket filter'-like programs, eBPF programs for tracing and TC classifiers/actions will stay root only). This feature can be switched off with the sysctl ''kernel.unprivileged_bpf_disabled'' (once true, bpf programs and maps cannot be accessed from unprivileged process, and the toggle cannot be set back to false) Recommended LWN article: [http://lwn.net/Articles/660331/ Unprivileged bpf()] Code: [https://git.kernel.org/torvalds/c/1be7f75d1668d6296b80bf35dcf6762393530afc commit], [https://git.kernel.org/torvalds/c/aaac3ba95e4c8b496d22f68bd1bc01cfbf525eca commit] '''Persistent eBPF maps/progs''' This release also adds support for "persistent" eBPF maps/programs. The term "persistent" is to be understood that maps/programs have a facility that lets them survive process termination. This is desired by various eBPF subsystem users, for example: tc classifier/action. Whenever tc parses the ELF object, extracts and loads maps/progs into the kernel, these file descriptors will be out of reach after the tc instance exits, so a subsequent tc invocation won't be able to access/relocate on this resource, and therefore maps cannot easily be shared, f.e. between the ingress and egress networking data path. To fix issues as these, a new minimal file system has been created that can hold map/prog objects at ''/sys/fs/bpf/''. Any subsequent mounts within a given namespace will point to the same instance. The file system allows for creating a user-defined directory structure. The objects for maps/progs are created/fetched through ''bpf(2)'' along with a pathname with two new commands (''BPF_OBJ_PIN/BPF_OBJ_GET''), that in turn creates the file system nodes. The user can use that to access maps and progs later on, through ''bpf(2)''. Code: [https://git.kernel.org/torvalds/c/b2197755b2633e164a439682fb05a9b5ea48f706 commit], [https://git.kernel.org/torvalds/c/https://git.kernel.org/torvalds/c/42984d7c1e563bf92e6ca7a0fd89f8e933f2162e commit] == perf + eBPF integration == In this release, eBPF programs have been integrated with perf. When perf is given an eBPF .c source file (or .o file built for the 'bpf' target with clang), will get it automatically built, validated and loaded into the kernel, which can then be used and seen using ''perf trace'' and other tools. Users are allowed to use BPF filter like: ''# perf record --event ./hello_world.o ls'', and the eBPF program is attached to a newly created perf event which works with all tools. Code: [https://git.kernel.org/torvalds/c/69d262a93a25cf475012ea2e00aeb29f4932c028 commit], [https://git.kernel.org/torvalds/c/84c86ca12b2189df751eed7b2d67cb63bc8feda5 commit], [https://git.kernel.org/torvalds/c/ed63f34c026e9a60d17fa750ecdfe3f600d49393 commit], [https://git.kernel.org/torvalds/c/1f45b1d49073541947193bd7dac9e904142576aa commit], [https://git.kernel.org/torvalds/c/4edf30e39e6cff32390eaff6a1508969b3cd967b commit], [https://git.kernel.org/torvalds/c/71dc2326252ff1bcdddc05db03c0f831d16c9447 commit], [https://git.kernel.org/torvalds/c/d509db0473e40134286271b1d1adadccf42ac467 commit], [https://git.kernel.org/torvalds/c/aa3abf30bb28addcf593578d37447d42e3f65fc3 commit], [https://git.kernel.org/torvalds/c/1e5e3ee8ff3877db6943032b54a6ac21c095affd commit], [https://git.kernel.org/torvalds/c/ba1fae431e74bb427a699187434142fd3fe98390 commit] == Block polling support == This release adds basic support for polling for specific IO to complete, which can improve latency and throughput in very fast devices. Currently O_DIRECT sync read/write are supported. This support is only intended for testing, in future releases stats tracking will be used to auto-tune this. For now, for benchmark and testing purposes, we add a sysfs file (''io_poll'') that controls whether polling is enabled or not. Recommended LWN article: [http://lwn.net/Articles/663879/ Block-layer I/O polling] Code: [https://git.kernel.org/torvalds/c/15c4f638f3d41bae52105ca4c0c8760afbcbeaab commit], [https://git.kernel.org/torvalds/c/05229beeddf7e75e2e616ddaad4b70e7fca9528d commit], [https://git.kernel.org/torvalds/c/a0fa9647a54e81883abd57c5c865d1747f68a577 commit] == mlock2() syscall allow users to request memory to be locked on page fault == ''mlock()'' allows a user to control page out of program memory, but this comes at the cost of faulting in the entire mapping when it is allocated. For large mappings this is not ideal: For example, security applications that need ''mlock()'' are forced to lock an entire buffer, no matter how big it is. Or maybe a large graphical models where the path through the graph is not known until run time, they are forced to lock the entire graph or lock page by page as they are faulted in. This new ''mlock2()'' syscall set creates a middle ground. Pages are marked to be placed on the unevictable LRU (locked) when they are first used, but they are not faulted in by the mlock call. The new system call that takes a flags argument along with the start address and size. This flags argument gives the caller the ability to request memory be locked in the traditional way, or to be locked after the page is faulted in. New calls are added for ''munlock()'' and ''munlockall()'' which give the called a way to specify which flags are supposed to be cleared. A new MCL flag is added to mirror the lock on fault behavior from mlock() in mlockall(). Finally, a flag for mmap() is added that allows a user to specify that the covered are should not be paged out, but only after the memory has been used the first time. Recommended LWN article: [http://lwn.net/Articles/650538/ Deferred memory locking] Code: [https://git.kernel.org/torvalds/c/de60f5f10c58d4f34b68622442c0e04180367f3f commit], [https://git.kernel.org/torvalds/c/b0f205c2a3082dd9081f9a94e50658c5fa906ff1 commit], [https://git.kernel.org/torvalds/c/a8ca5d0ecbdde5cc3d7accacbd69968b0c98764e commit], [https://git.kernel.org/torvalds/c/1aab92ec3de552362397b718744872ea2d17add2 commit] = Drivers and architectures = All the driver and architecture-specific changes can be found in the [http://kernelnewbies.org/Linux_4.4-DriversArch Linux_4.4-DriversArch] page = Core (various) = * process scheduler: Apply a frequency scaling correction factor to per-entity load tracking to make it invariant with respect to CPU frequency. Currently, load appears bigger when the CPU is running at slower frequencies, which affects load-balancing decisions [https://git.kernel.org/torvalds/c/e0f5f3afd2cffa96291cd852056d83ff4e2e99c7 commit], [https://git.kernel.org/torvalds/c/e3279a2e6d697e00e74f905851ee7cf532f72b2d commit] * seccomp: add support for dumping a process' (classic BFP) seccomp filters via ptrace + PTRACE_SECCOMP_GET_FILTER [https://git.kernel.org/torvalds/c/f8e529ed941ba2bbcbf310b575d968159ce7e895 commit] * watchdog: Mimic the ''softlockup_panic'' kernel knob and create a ''/proc/sys/kernel/hardlockup_panic''. It enables a hardlockup to panic the machine [https://git.kernel.org/torvalds/c/ac1f591249d95372f3a5ab3828d4af5dfbf5efd3 commit] * watchdog: optionally perform all-CPU backtrace in case of hard lockup. Can be enabled with sysctl ''/proc/sys/kernel/hardlockup_all_cpu_backtrace'' [https://git.kernel.org/torvalds/c/55537871ef666b4153fd1ef8782e4a13fee142cc commit] * coredump: Add two new flags to the existing coredump mechanism for ELF and FDPIC ELF files to allow us to explicitly filter DAX mappings. This is desirable because DAX mappings, like hugetlb mappings, have the potential to be very large [https://git.kernel.org/torvalds/c/5037835c1f3eabf4f22163fc0278dd87165f8957 commit], [https://git.kernel.org/torvalds/c/ab27a8d04b32b6ee8c30c14c4afd1058e8addc82 commit] * test_printf: test printf family at runtime [https://git.kernel.org/torvalds/c/707cc7280f452a162c52bc240eae62568b9753c2 commit] * Make sync_file_range(2) use WB_SYNC_NONE writeback. It helps PostgreSQL avoid large latency spikes when flushing data in the background [https://git.kernel.org/torvalds/c/23d0127096cb91cb6d354bdc71bd88a7bae3a1d5 commit] = File systems = * XFS * Add per-filesystem stats in ''/sys/fs/xfs//stats/stats'', and a ''stats_clear'' file to clear them. Also, the global stats that are currently present in ''/proc'' are duplicated in ''/sys/fs/xfs/stats/stats'' (along with a ''stats_clear'' file) [https://git.kernel.org/torvalds/c/bb230c124730f21eea13deab433f9f8fc96bd5f3 commit], [https://git.kernel.org/torvalds/c/225e4635580ce9fb12f8a2dc88473161cd64dbf6 commit], [https://git.kernel.org/torvalds/c/ff6d6af2351caea7db681f4539d0d893e400557a commit] * Btrfs * Add ''fragment'' debug mount option. It can be used to cause extreme fragmentation in data, metadata or both [https://git.kernel.org/torvalds/c/d0bd456074dca089579818312da7cbe726ad2ff9 commit] * Add balance filter for stripes. This is useful to selectively rebalance only chunks that do not span enough devices, applies to RAID0/10/5/6. [https://git.kernel.org/torvalds/c/dee32d0ac3719ef8d640efaf0884111df444730f commit] * CIFS * Allow duplicate extents (''cp --reflink'') in SMB3.0 not just SMB3.1.1 [https://git.kernel.org/torvalds/c/ca9e7a1c85594f61d7ffb414071e6cae82eae23a commit] * Add resilienthandles mount parameter. Since many servers (Windows clients, and non-clustered servers) do not support persistent handles but do support resilient handles, allow the user to specify a mount option "resilienthandles" in order to get more reliable connections and less chance of data loss (at least when SMB2.1 or later). Default resilient handle timeout (120 seconds to recent Windows server) is used [https://git.kernel.org/torvalds/c/592fafe644bf3a48b9e00e182a67d301493634fc commit] * Add support for persistent handles, which are like durable file handles with strong guarantees [https://git.kernel.org/torvalds/c/b2a3077414fd6ff1de8972ea55e91f27bcabd913 commit], [https://git.kernel.org/torvalds/c/f16dfa7cd1b588e5d7ef4b5a19ee579f11b7a41f commit], [https://git.kernel.org/torvalds/c/b618f001a20e44f691dd0e2ffea651a40a651871 commit] * Allow copy offload (copychunk) across shares [https://git.kernel.org/torvalds/c/7b52e2793a58af61b5d349c2c080437a437a4edb commit] * NFS * Support for NFSv4.2 file CLONE using the btrfs ioctl [https://git.kernel.org/torvalds/c/21fad313d5890b674432fe3ad0c7bcf040320340 commit] [https://git.kernel.org/torvalds/c/e5341f3a5762d17be9cdd06257c02c0098bdcab8 commit], [https://git.kernel.org/torvalds/c/36022770de6cf9a403c40a68712ed2d2ea2746be commit], [https://git.kernel.org/torvalds/c/bea51b30b281039f0f43fb4f42028ddf33fb601f commit], [https://git.kernel.org/torvalds/c/a340abcf4173461f688292a6879b4d5bc781c2b1 commit] * ext4 * Store checksum seed in superblock [https://git.kernel.org/torvalds/c/8c81bd8f586c46eaf114758a78d82895a2b081c2 commit] * OCFS2 * Improve performance for localalloc [https://git.kernel.org/torvalds/c/1d1aff8cf367d2216a678c722161784e207965c4 commit] * UBIFS * atime support [https://git.kernel.org/torvalds/c/8c1c5f263833ec2dc8fd716cf4281265c485d7ad commit] = Memory management = * Get rid of ''vmalloc_info'' from ''/proc/meminfo''. It is too expensive to calculate and shows up in real workloads, people who actually want to know what the situation is wrt the vmalloc area should just look at the much more complete ''/proc/vmallocinfo'' instead [https://git.kernel.org/torvalds/c/a5ad88ce8c7fae7ddc72ee49a11a75aa837788e0 commit] * Add ''HugetlbPages'' field to ''/proc/PID/status''. Currently there's no easy way to get per-process usage of hugetlb pages, which is inconvenient because userspace applications which use hugetlb can need it [https://git.kernel.org/torvalds/c/5d317b2b6536592a9b51fe65faed43d65ca9158e commit] * Add hugetlb-related fields to ''/proc/PID/smaps'' to know per-task or per-vma base hugetlb usage: ''AnonHugePages'' shows the amount of memory backed by transparent hugepage; ''Shared_Hugetlb'' and ''Private_Hugetlb'' show the amounts of memory backed by hugetlbfs page which is not counted in ''RSS'' or ''PSS'' field for historical reasons. And these are not included in ''{Shared,Private}_{Clean,Dirty}'' field [https://git.kernel.org/torvalds/c/25ee01a2fca02dfb5a3ce316e77910c468108199 commit] * memcontrol: eliminate ''memory.current'' on the root level, because it doesn't add anything that wouldn't be more accurate and detailed using system statistics [https://git.kernel.org/torvalds/c/f5fc3c5d817435970aa301d066820a9ac12c8120 commit] = Block layer = * Block polling support [https://git.kernel.org/torvalds/c/15c4f638f3d41bae52105ca4c0c8760afbcbeaab commit], [https://git.kernel.org/torvalds/c/05229beeddf7e75e2e616ddaad4b70e7fca9528d commit], [https://git.kernel.org/torvalds/c/a0fa9647a54e81883abd57c5c865d1747f68a577 commit] * loop: direct and asynchronous I/O [https://git.kernel.org/torvalds/c/ab1cb278bc7027663adbfb0b81404f8398437e11 commit], [https://git.kernel.org/torvalds/c/2e5ab5f379f96a6207c45be40c357ebb1beb8ef3 commit], [https://git.kernel.org/torvalds/c/5b5e20f421c0b6d437b3dec13e53674161998d56 commit], [https://git.kernel.org/torvalds/c/bc07c10a3603a5ab3ef01ba42b3d41f9ac63d1b6 commit], [https://git.kernel.org/torvalds/c/e03a3d7a94e2485b6e2fa3fb630b9b3a30b65718 commit] * Add Persistent Reservations support. It includes a user space interface for simplified Persistent Reservations which map to block devices that support these (only SCSI for now). Persistent Reservations allow restricting access to block devices to specific initiators in a shared storage setup [https://git.kernel.org/torvalds/c/bbd3e064362e5057cc4799ba2e4d68c7593e490b commit], [https://git.kernel.org/torvalds/c/924d55b06347d813b38c51e75ce1a6666c113933 commit], [https://git.kernel.org/torvalds/c/71cdb6978a80f9f6c51bef0622388c1414c2fe32 commit] * Export integrity data interval size in ''/sys/block//integrity/protection_interval_bytes'', so that apps can tell whether the interval is different from the device's logical block size [https://git.kernel.org/torvalds/c/4c241d08dbfcbdc7a949b91d72707a289d464954 commit] * cdrom: Random writing support for BD-RE media [https://git.kernel.org/torvalds/c/f7e7868b4743f1cc5e59e6e0ddd3ccf9cfe53a1b commit] = Cryptography = crypto: caam - add support for acipher xts(aes) [https://git.kernel.org/torvalds/c/c6415a6016bff0b547c13cadb1d5e50e9ace2be3 commit] crypto: keywrap - add key wrapping block chaining mode [https://git.kernel.org/torvalds/c/e28facde3c39005071cc5323d56539bb44efa446 commit] crypto: qat - add support for ctr(aes) and xts(aes) [https://git.kernel.org/torvalds/c/def14bfaf30d5d5a4a8fe5bf600ce09232e688c0 commit] = Security = * TPM: Support TPM 2.0 chips [https://git.kernel.org/torvalds/c/954650efb79f99d5c817c121bb0a7c6c53362048 commit], [https://git.kernel.org/torvalds/c/0fe5480303a1657b328a0a389f8d99249d9961f5 commit] = Tracing and perf tool = * Integration of perf with eBPF that, given an eBPF .c source file (or .o file built for the 'bpf' target with clang), will get it automatically built, validated and loaded into the kernel via the sys_bpf syscall, which can then be used and seen using 'perf trace' and other tools. Users can run commands like ''perf record --event bpf-file.c ls'' to try it [https://git.kernel.org/torvalds/c/69d262a93a25cf475012ea2e00aeb29f4932c028 commit], [https://git.kernel.org/torvalds/c/84c86ca12b2189df751eed7b2d67cb63bc8feda5 commit], [https://git.kernel.org/torvalds/c/ed63f34c026e9a60d17fa750ecdfe3f600d49393 commit], [https://git.kernel.org/torvalds/c/1f45b1d49073541947193bd7dac9e904142576aa commit], [https://git.kernel.org/torvalds/c/4edf30e39e6cff32390eaff6a1508969b3cd967b commit], [https://git.kernel.org/torvalds/c/71dc2326252ff1bcdddc05db03c0f831d16c9447 commit], [https://git.kernel.org/torvalds/c/d509db0473e40134286271b1d1adadccf42ac467 commit], [https://git.kernel.org/torvalds/c/aa3abf30bb28addcf593578d37447d42e3f65fc3 commit], [https://git.kernel.org/torvalds/c/1e5e3ee8ff3877db6943032b54a6ac21c095affd commit], [https://git.kernel.org/torvalds/c/ba1fae431e74bb427a699187434142fd3fe98390 commit] * Add a new branch type sampling filter to perf record, named 'call' (''perf record -j call -e cycles .....''), that samples only call branches (function calls), unlike 'any_call' that included direct, indirect calls and far jumps. Only x86 and PowerPC are supported in this release [https://git.kernel.org/torvalds/c/43e41adc9e8c36545888d78fed2ef8d102a938dc commit], [https://git.kernel.org/torvalds/c/c229bf9dc179d2023e185c0f705bdf68484c1e73 commit] * Add Intel cstate (aka idle states) Performance Monitoring Unit support. This allows perf to support cstate related free running (read-only and system-wide) counters. For example, to caculate the fraction of time when the core is running in C6 state: '' perf stat -x, -e"cstate_core/c6-residency/,msr/tsc/" -C0 -- taskset -c 0 sleep 5 '' [https://git.kernel.org/torvalds/c/7ce1346a6842550a3c4c453cdf1c7b81fb60b07e commit] * CPU socket filtering: perf tools introduce a new sort type "socket" for the processor socket, eg. ''perf report --stdio --sort socket,comm,dso,symbol'' [https://git.kernel.org/torvalds/c/2e7ea3ab8282f6bb1d211d8af760a734c055f493 commit]. Also, perf report introduces a --socket-filter option for 'perf report' to only show entries for a processor socket that match this filter [https://git.kernel.org/torvalds/c/21394d948a0c7c451d4a4d68afed9a06c4969636 commit]. perf hists browser can zoom in/out for processor socket [https://git.kernel.org/torvalds/c/84734b06b63093cd44533f4caa43d4452fb11ec3 commit] * perf tools: Introduce 'P' modifier, it will cause the event to get maximum possible detected precise level. For example, ''perf record -e cycles:P ...'' will detect maximum precise level for 'cycles' event and use it [https://git.kernel.org/torvalds/c/7f94af7a489fada17d28cc60e8f4409ce216bd6d commit] * perf tools: Add support for sorting on the iaddr. New sort option is: symbol_iaddr, header label is 'Code Symbol', eg ''perf mem report --stdio -F +symbol_iaddr'' [https://git.kernel.org/torvalds/c/28e6db205b3ed3f1d86a00c69b3304190377da5f commit] * perf tools: enables config terms for tracepoint perf events. Valid terms for tracepoint events are 'call-graph' and 'stack-size', so different callgraph settings can be used for each event and eliminate unnecessary overhead. An example for using different call-graph config for each tracepoint: ''perf record -e syscalls:sys_enter_write/call-graph=fp -e syscalls:sys_exit_write/call-graph=no dd if=/dev/zero of=test bs=4k count=10'' [https://git.kernel.org/torvalds/c/e637d17757a10732fa5d573c18f20b3cd4d31245 commit] * perf script: Enable printing of branch stack viaa the 'brstack' and 'brstacksym' arguments to the field selection option -F. The option is off by default and operates only if the perf.data file has branch stack content [https://git.kernel.org/torvalds/c/dc323ce8e72d6d1beb9af9bbd29c4d55ce3d7fb0 commit] * perf auxtrace: Add AUX area tracing option 'l' to synthesize branch stacks on samples just like sample type PERF_SAMPLE_BRANCH_STACK [https://git.kernel.org/torvalds/c/601897b54c7ed492a89b262dccd7c6f7faf12b30 commit] * perf hists browser: Add 'm' key for context menu display [https://git.kernel.org/torvalds/c/31eb4360546b4bd890f349db01295a173c09b0fb commit] * perf inject: Add --strip option which is used with --itrace to strip out non-synthesized events [https://git.kernel.org/torvalds/c/f56fb9864c501dc85ebe40af5bf925dd07d990c0 commit] * perf script: Allow time to be displayed in nanoseconds [https://git.kernel.org/torvalds/c/83e1986032dfcd3f9e9fc0d06e11d9153edae19b commit] * Intel PT hardware tracer: Accept a zero ''--itrace'' period, meaning "as often as possible". In the case of Intel PT that is the same as a period of 1 and a unit of 'instructions' (i.e. --itrace=i1i)[https://git.kernel.org/torvalds/c/e1791347b5d57d13326cf0114df1a3f3b1c4ca24 commit] * Intel PT: Add support for generating branch stack context for PT samples. This is useful for: reporting accurate basic block edge frequencies through the perf report branch view or using with --branch-history to get the wider context of samples. Examples, record with Intel PT: ''perf record -e intel_pt//u ls'' * ftrace: add module globbing [https://git.kernel.org/torvalds/c/0b507e1ed1b7364def464cfb348ea7c9e87e6e18 commit] = Virtualization = * Support for VT-d posted interrupts (i.e. PCI devices can inject interrupts directly into vCPUs). Used by KVM and VFIO [https://git.kernel.org/torvalds/c/f73f8173126ba68eb1c42bd9a234a51d78576ca6 commit] * KVM: Nested virtualization now supports VPID (same as PCID but for vCPUs) which makes it quite a bit faster [https://git.kernel.org/torvalds/c/99b83ac893b84ed1a62ad6d1f2b6cc32026b9e85 commit], [https://git.kernel.org/torvalds/c/089d7b6ec5151ad06a2cd524bc0580d311b641ad commit], [https://git.kernel.org/torvalds/c/5c614b3583e7b6dab0c86356fa36c2bcbb8322a0 commit] * KVM: Support for "split irqchip", i.e. LAPIC in kernel and IOAPIC/PIC/PIT in userspace, which reduces the attack surface of the hypervisor [https://git.kernel.org/torvalds/c/b053b2aef25d00773fa6762dcd4b7f5c9c42d171 commit], [https://git.kernel.org/torvalds/c/7543a635aa09eb138b2cbf60ac3ff19503ae6954 commit], [https://git.kernel.org/torvalds/c/1c1a9ce973a7863dd46767226bce2a5f12d48bc6 commit] * KVM: add capability for any-length ioeventfds. With KVM_CAP_IOEVENTFD_ANY_LENGTH, a zero length ioeventfd is allowed, and the kernel will ignore the length of guest write and may get a faster vmexit [https://git.kernel.org/torvalds/c/e9ea5069d9e569c32ab913c39467df32e056b3a7 commit] * VMware balloon: Get notified immediately via VMCI when a balloon target is set, instead of waiting for up to one second [https://git.kernel.org/torvalds/c/48e3d668b7902cca3c61e9e2098e7f76b5646c28 commit] * VMware balloon: Support ballooning with 2 MB sized pages. It significantly reduces the hypervisor side (and guest side) overhead of ballooning and unballooning [https://git.kernel.org/torvalds/c/365bd7ef7ec8eb9c2e081cd970a5cdfa237dc243 commit] * Vmware vmxnet3: Extend register dump support [https://git.kernel.org/torvalds/c/b6bd9b5448a9362e3ca33b21f1461baa5500520f commit] = Networking = * Lockless TCP listener [https://git.kernel.org/torvalds/c/4d54d86546f62c7c4a0fe3b36a64c5e3b98ce1a9 commit], [https://git.kernel.org/torvalds/c/e6934f3ec00b04234acb24a1a2c28af59763d3b5 commit], [https://git.kernel.org/torvalds/c/c3fc7ac9a0b978ee8538058743d21feef25f7b33 commit] * Add setsockopt() support for SO_INCOMING_CPU and extend SO_REUSEPORT selection logic : If a TCP listener or UDP socket has this option set, a packet is delivered to this socket only if CPU handling the packet matches the specified one. This allows to build very efficient TCP servers, using one listener per RX queue, as the associated TCP listener should only accept flows handled in softirq by the same cpu. This provides optimal NUMA behavior and keep cpu caches hot [https://git.kernel.org/torvalds/c/76973dd79fd52f187ba3df018bca65792a3d942 commit], [https://git.kernel.org/torvalds/c/70da268b569d32a9fddeea85dc18043de9d89f89 commit] * TCP: Recent ACK (RACK) loss recovery. RACK loss recovery uses the notion of time instead of packet sequence (FACK) or counts (dupthresh) (see commit for details). In the current patch set RACK is only a supplemental loss detection and does not trigger fast recovery. However RACK is being developed to replace or consolidate FACK/dupthresh, early retransmit, and thin-dupack. Since RACK is still experimental, it is now used as a supplemental loss detection on top of existing algorithms. It can be disabled with sysctl ''net.ipv4.tcp_recovery'' [https://git.kernel.org/torvalds/c/eb9fae328faff9807a4ab5c1834b19f34dd155d4 commit] * IP Virtual Server: Support scheduling of ICMP packets to IPVS instances. A new sysctl ''net.ipv4.vs.schedule_icmp'' has been introduced, that will enable this feature if set to 1 (by default, it is set by default to 0 to retain the old behaviour) [https://git.kernel.org/torvalds/c/99cb99aa055a72d3880d8a95a71034c4d64bcf9a merge commit] * IP Virtual Server: Allow to ignore tunnelled packets with new Sysctl ''net.ipv4.vs.ignore_tunneled''. If set, ipvs will set the ipvs_property on all packets which are of unrecognised protocols. This prevents the kernel from routing tunnelled protocols like ipip, which is useful to prevent rescheduling packets that have been tunneled to the ipvs host (i.e. to prevent ipvs routing loops when ipvs is also acting as a real server) [https://git.kernel.org/torvalds/c/4e478098ac0ac1b6ef9a70fcdc2ec8b93f1b59a1 commit] * Provide FIB table ID in ipv4 route dumps just as ipv6 does [https://git.kernel.org/torvalds/c/b7503e0cdb5dbec5d201aa69d8888c14679b5ae8 commit] * IPv4: Hash-based multipath routing. When the routing cache was [http://kernelnewbies.org/Linux_3.6#head-85de5e5247a939f2a61d0c5ccbc13ff5b4f1a6a0 removed in 3.6], the IPv4 multipath algorithm changed from more or less being destination-based into being quasi-random per-packet scheduling. This increased the risk of out-of-order packets and made it impossible to use multipath together with anycast services. In this release, the multipath routing implementation is replaced with a flow-based load balancing based on a hash over the source and destination addresses [https://git.kernel.org/torvalds/c/07355737a8badd951e6b72aa8609a2d6eed0a7e7 merge commit] * IPv6 support to the Virtual Routing and Forwarding (VRF) devices [https://git.kernel.org/torvalds/c/ccf3c8c3fe1bd4828556650ae7928da6ffb4aaf6 commit], [https://git.kernel.org/torvalds/c/35402e31366349a32b505afdfe856aeeb8d939a0 commit], [https://git.kernel.org/torvalds/c/ca254490c8dfdaddb5df8a763774db0f4c5200c3 commit] * IPv4: Currently adding a new ipv4 address always cause the creation of the related network route, with default metric. Add support for IFA_F_NOPREFIXROUTE for ipv4 address. When an address is added with such flag set, no associated network route is created, no network route is deleted when said IP is gone and it's up to the user space manage such route [https://git.kernel.org/torvalds/c/7b1311807f3d3eb8bef3ccc53127838b3bea3771 commit] * IPv6: gro: support sit protocol [https://git.kernel.org/torvalds/c/feec0cb3f20b837f8ca36e974267918d7a4497f8 commit] * Allow the user to ask for the statistics to be filtered out of ipv4/ipv6 address netlink dumps, because many commonly used functions like getifaddrs() invoke RTM_GETLINK to dump the interface information, and do not need the AF_INET6 statistics, which are expensive to calculate [https://git.kernel.org/torvalds/c/d5566fd72ec1924958fcfd48b65c022c8f7eae64 commit] * bridge: Allow setting the bridge attribute ''ageing_time'' in rocker and switchdev [https://git.kernel.org/torvalds/c/c62987bbd8a1a1664f99e89e3959339350a6131e commit], [https://git.kernel.org/torvalds/c/d0cf57f9dddb50ea404bf747a3c6b22b29f82b9a commit], [https://git.kernel.org/torvalds/c/f55ac58ae64cbb0315382e738681fe31837dcac0 commit] * vxlan: support both IPv4 and IPv6 sockets in a single vxlan device [https://git.kernel.org/torvalds/c/b1be00a6c39fda2ec380e168d7bcf96fb8c9da42 commit] * bridge: complete the bridge device's netlink support and makes it possible to view and configure everything that can be configured via sysfs [https://git.kernel.org/torvalds/c/3e087caa23ef36370bfb925d3bbca78e8302d3ce commit] * bridge: Enable adding fdb entries pointing to the bridge device. This can be used to propagate mac address of vlan interfaces configured on top of the vlan filtering bridge [https://git.kernel.org/torvalds/c/3741873b4f73b572b8f8835e6bd114e08316a160 commit] * Multi Protocol Label Switching (MPLS): Add support for multipath routes [https://git.kernel.org/torvalds/c/1c78efa8319cad2f10f421afa627745fb4d9b29f commit], [https://git.kernel.org/torvalds/c/f8efb73c97e2fa0abbe2e07c5c5df07800312643 commit] * bonding: support encapsulated ipv6 TSO [https://git.kernel.org/torvalds/c/e87eb4051efe76b35d0a297db772f5964a001544 commit] * Add support for filtering neighbor dumps by master device by adding the NDA_MASTER attribute to the dump request. A new netlink flag, NLM_F_DUMP_FILTERED, is added to indicate the kernel supports the request and output is filtered as requested [https://git.kernel.org/torvalds/c/21fdd092acc7ebda0dfe682008592eb79c382707 commit] * Add support for filtering neighbor dumps by device by adding the NDA_IFINDEX attribute to the dump request [https://git.kernel.org/torvalds/c/16660f0bd942cec203eaf4de0e2ac1695bd9d32d commit] * Support for disabling certain features on devices which, when disabled on an upper device, such as a bonding master or a bridge, must be disabled and cannot be re-enabled on underlying devices [https://git.kernel.org/torvalds/c/fd867d51f889aec11cca235ebb008578780d052d commit] * Introduce L3 Master device abstraction support. It provides glue between core networking code and device drivers to support L3 master devices like VRF [https://git.kernel.org/torvalds/c/1b69c6d0ae90b7f1a4f61d5c8209d5cb7a55f849 commit] * dummy: add more features [https://git.kernel.org/torvalds/c/8f3af27786913851e720bc9466d1abffcfa7aff6 commit] * tso: add support for IPv6 [https://git.kernel.org/torvalds/c/8941faa161b526199e55ca7764cf875383453612 commit] * netfilter: nfnetlink_log: enables to include the conntrack information together with the packet that is sent to user-space via NFLOG, then a user-space program can acquire NATed information by this NFULA_CT attribute [https://git.kernel.org/torvalds/c/a29a9a585b2840a205f085a34dfd65c75e86f7c3 commit] * Wireless * Allow changing station capabilities for unassociated stations [https://git.kernel.org/torvalds/c/47edb11b522561658fe719e56aa69a3c3098a3fe commit] * Implement Very High Throughput support for mesh networks [https://git.kernel.org/torvalds/c/c85fb53c4fa6521352028c40ce096a808aabd389 commit] * Make CRDA support optional [https://git.kernel.org/torvalds/c/b68630369167a7fd2c4c3d1be96430defc59fb9a commit] * Advertise support for full station state in AP mode [https://git.kernel.org/torvalds/c/44674d9c2267f454f38df7b2395939bfa911f92e commit] * Put current TX power in interface info replies [https://git.kernel.org/torvalds/c/d55d0d598e6610bbfcc1f2ecd6e8af669b94783b commit] * Enable wiphy device to suspend/resume asynchronously [https://git.kernel.org/torvalds/c/9f0e13546ef5773b7059b531a667ec47a5f897ee commit] * ieee802154: experimental netlink support [https://git.kernel.org/torvalds/c/a26c5fd7622d4951425131d54a8c99f076fe2068 commit] * ieee802154: 6lowpan: add tx/rx stats [https://git.kernel.org/torvalds/c/1c64f147d3cc9bbafe091a7b335ea3ec700186f0 commit] * ipconfig: Allow to send Client-identifier in DHCP requests with something like ''ip=dhcp,client_id_type, client_id_value'', as a kernel parameter to enable the kernel to identify itself to the server [https://git.kernel.org/torvalds/c/26fb342c734061859fec1bd9e987bb6b78061ef0 commit] * Add netlink directives and ndo entry to trust VF user. This controls the special permission of VF user. The administrator will dedicatedly trust VF user to use some features which impacts security and/or performance [https://git.kernel.org/torvalds/c/dd461d6aa894761fe67c30ddf81eec0d08be216b commit] * IB: Add support of checksum capability reporting for RC and RAW [https://git.kernel.org/torvalds/c/470a55358186d0bb93558a87d13159dfbc989351 commit] * IB: Add support for network namespaces [https://git.kernel.org/torvalds/c/565edd1d555513ab5d67a847d50d7c14c82ef6c3 commit], [https://git.kernel.org/torvalds/c/fa20105e09e97e81aadf02f722c31195e4a75c84 commit], [https://git.kernel.org/torvalds/c/4be74b42a6d05a74a21362010cd3920fa17f63c7 commit] * openvswitch: Add netlink attributes for IPv6 tunnel addresses. This enables IPv6 support for tunnels [https://git.kernel.org/torvalds/c/6b26ba3a7d952e611dcde1f3f77ce63bcc70540a commit] * switchdev: Add support for flood control [https://git.kernel.org/torvalds/c/741af0053b43d8b9a688a12c57ece62338616ae8 commit], [https://git.kernel.org/torvalds/c/371e59adcebf9953385bf46d5325ac39a53c5520 commit] * TIPC: introduce jumbo frame support for broadcast [https://git.kernel.org/torvalds/c/959e1781aa230aecc90e4deb80117fd9a53dede7 commit] * xprtrdma: Enable swap-on-NFS/RDMA [https://git.kernel.org/torvalds/c/a045178887ebafa9514d6b4cb840ac13a26c8365 commit] = List of merges = * [https://git.kernel.org/torvalds/c/2e002662973fd8d67d5a760776a5d3ea3d3399a9 Merge file descriptor allocation speedup.] * [https://git.kernel.org/torvalds/c/66b019967845a5af58802fd9af77f2317e5298a1 Pull hwmon updates ] * [https://git.kernel.org/torvalds/c/17a1359034e1fb5cfe9e5196a8ab5153acfacdc6 Pull MMC updates ] * [https://git.kernel.org/torvalds/c/9ff3ca58b0f99475f269cd6faf4ab1b194243b3f Pull EDAC updates ] * [https://git.kernel.org/torvalds/c/bc9d8c20ffb47e64a41a4716a06d37cdf88fcc42 Pull pin control updates ] * [https://git.kernel.org/torvalds/c/e86328c489d7ecdca99410a06a3f448caf7857bf Pull GPIO updates ] * [https://git.kernel.org/torvalds/c/5062ecdb662bf3aed6dc975019c53ffcd3b01d1c Pull regmap updates ] * [https://git.kernel.org/torvalds/c/e8a2a176dd0f3e4c7252b79dc5cea6bd4acaf78e Pull LED updates ] * [https://git.kernel.org/torvalds/c/df91fba5e7ed414b1856b33bbed6d55439a14c47 Pull m68k update ] * [https://git.kernel.org/torvalds/c/15f93405aae307a3cb2c33c795286463601963f7 Pull avr32 update ] * [https://git.kernel.org/torvalds/c/0921f1efb605d8fda43d794734222d1ad39c6840 Pull CRIS changes ] * [https://git.kernel.org/torvalds/c/2c2b8285dcd4d0674b6e77269cf32721fffea59e Pull ARC updates ] * [https://git.kernel.org/torvalds/c/316dde2fe95b33657de1fc2db54bfc16aa065790 Pull ARM updates ] * [https://git.kernel.org/torvalds/c/7b2a4306f9e7d64bb408a6df3bb419500578068a Pull timer updates ] * [https://git.kernel.org/torvalds/c/6aa2fdb87cf01d7746955c600cbac352dc04d451 Pull irq updates ] * [https://git.kernel.org/torvalds/c/7eeef2abe87dc0d8c276f97ccfdb1f42d9d1e4d8 Pull wchan kernel address hiding ] * [https://git.kernel.org/torvalds/c/f5a8160c1e055c0fd8d16a5b3ac97c638365b0db Pull EFI changes ] * [https://git.kernel.org/torvalds/c/281422869942c19f05a08d4017c633d08d390938 Pull RCU changes ] * [https://git.kernel.org/torvalds/c/d63a9788650fcd999b34584316afee6bd4378f19 Pull locking changes ] * [https://git.kernel.org/torvalds/c/b02ac6b18cd4e2c76bf0a102c20c429b973f5f76 Pull perf updates ] * [https://git.kernel.org/torvalds/c/b831ef2cad979912850e34f82415c0c5d59de8cb Pull RAS changes ] * [https://git.kernel.org/torvalds/c/53528695ff6d8b77011bc818407c13e30914a946 Pull scheduler changes ] * [https://git.kernel.org/torvalds/c/d2bea739f8b41d620c235d81e00289d01169dc3c Pull x86 APIC changes ] * [https://git.kernel.org/torvalds/c/a75a3f6fc92888e4119744d8594ffdf748c3d444 Pull x86 asm changes ] * [https://git.kernel.org/torvalds/c/378e4e98258ad92097bfdf795dbef8b49cf52a34 Pull x86 boot cleanup ] * [https://git.kernel.org/torvalds/c/33d46f9765901a08d7759c031779073263e8b4e3 Pull x86 cleanups ] * [https://git.kernel.org/torvalds/c/f323c49b300baf89e2cb4050b0def1856c0b1852 Pull x86 CPU changes ] * [https://git.kernel.org/torvalds/c/0f25f2c1b18f7e47279ec2cf1d24c11c3108873b Pull x86 kgdb fixlet ] * [https://git.kernel.org/torvalds/c/ce4d72fac16a9540452957b526443b6080030bff Pull x86 FPU changes ] * [https://git.kernel.org/torvalds/c/4302d506d5f3419109abdd0d6e400ed6e8148209 Pull x86 sigcontext header cleanups ] * [https://git.kernel.org/torvalds/c/639ab3eb38c6e92e27e061551dddee6dd3bbb5d2 Pull x86 mm changes ] * [https://git.kernel.org/torvalds/c/66ef3493d4bb387f5a83915e33dc893102fd1b43 Pull x86 platform changes ] * [https://git.kernel.org/torvalds/c/ccc9d4a6d640cbde05d519edeb727881646cf71b Pull crypto update ] * [https://git.kernel.org/torvalds/c/b0f85fa11aefc4f3e03306b4cd47f113bd57dcba Pull networking updates ] * [https://git.kernel.org/torvalds/c/1b1050cdc5cdde43177b375b5f22dc070d45d8f8 Pull IDE fixlet ] * [https://git.kernel.org/torvalds/c/14c79092909a52b6fd6394b6ad5e7756c4f9565e Pull parisc updates ] * [https://git.kernel.org/torvalds/c/e627078a0cbdc0c391efeb5a2c4eb287328fd633 Pull s390 updates ] * [https://git.kernel.org/torvalds/c/2dc10ad81fc017837037e60439662e1b16bdffb9 Pull arm64 updates ] * [https://git.kernel.org/torvalds/c/41ecf1404b34d9975eb97f5005d9e4274eaeb76a Pull xen updates ] * [https://git.kernel.org/torvalds/c/0d51ce9ca1116e8f4dc87cb51db8dd250327e9bb Pull power management and ACPI updates ] * [https://git.kernel.org/torvalds/c/d9734e0d1ccf87e828ad172c58a96dff97cfc0ba Pull core block updates ] * [https://git.kernel.org/torvalds/c/a9aa31cdc2a7be4a70b0ea24a451dfeb00ce0024 Pull block driver updates ] * [https://git.kernel.org/torvalds/c/effa04cc5a31b3f12cda6025ab93460f1f0e454e Pull lightnvm support ] * [https://git.kernel.org/torvalds/c/527d1529e38b36fd22e65711b653ab773179d9e8 Pull block integrity updates ] * [https://git.kernel.org/torvalds/c/ccf21b69a83afaee4d5499e0d03eacf23946e08c Pull block reservation support ] * [https://git.kernel.org/torvalds/c/ac322de6bf5416cb145b58599297b8be73cd86ac Pull md updates ] * [https://git.kernel.org/torvalds/c/e0700ce70921fbe3d1913968c663beb9df2b01a9 Pull device mapper updates ] * [https://git.kernel.org/torvalds/c/3d6f47801c34e42da26e2b6b29706f0bfe423978 Pull USB updates ] * [https://git.kernel.org/torvalds/c/fd0d351de7bbd718bc2b34d5846854831aa2b88c Pull tty/serial driver updates ] * [https://git.kernel.org/torvalds/c/118c216e16c5ccb028cd03a0dcd56d17a07ff8d7 Pull staging driver updates ] * [https://git.kernel.org/torvalds/c/e880e87488d5bbf630dd716e6de8a53585614568 Pull driver core updates ] * [https://git.kernel.org/torvalds/c/8e483ed1342a4ea45b70f0f33ac54eff7a33d918 Pull char/misc driver updates ] * [https://git.kernel.org/torvalds/c/9576c2f2934eb5839a468ae156418ef595d5fec6 Pull file locking updates ] * [https://git.kernel.org/torvalds/c/d000f8d67f2bb464c9cf4fb5103f78d8cb406c05 Pull dlm update ] * [https://git.kernel.org/torvalds/c/0fcb9d21b4e18ede3727b8905e74acd0d1daef56 Pull f2fs updates ] * [https://git.kernel.org/torvalds/c/66339fdacb63fc7908e7eb755b9fffa672ffbb10 Pull pstore updates ] * [https://git.kernel.org/torvalds/c/b0378657549bbc73ac0ec6e9332fcf3c53362365 Pull media updates ] * [https://git.kernel.org/torvalds/c/9bd9fa6c147e68fc4dc3b35893979720ba7d0321 Pull HSI updates ] * [https://git.kernel.org/torvalds/c/400c5bd5a5b1faf3089322ace58b974446a8ddc3 Pull power supply and reset updates ] * [https://git.kernel.org/torvalds/c/f66477a0aeb77f97a7de5f791700dadc42f3f792 Pull clk updates ] * [https://git.kernel.org/torvalds/c/52787e91bf5375e68e90f381bd157bd92e1f4a77 Pull regulator updates ] * [https://git.kernel.org/torvalds/c/75f5db39ff14ed95056f2cca3ad98c3cae97170c Pull SPU updates ] * [https://git.kernel.org/torvalds/c/e25ac7ddaae0e798f794cdaf9109bc71246110cd Pull workqueue update ] * [https://git.kernel.org/torvalds/c/11eaaadb3ea376c6c194491c2e9bddd647f9d253 Pull libata updates ] * [https://git.kernel.org/torvalds/c/69234acee54407962a20bedf90ef9c96326994b5 Pull cgroup updates ] * [https://git.kernel.org/torvalds/c/6de29ccb50f2caef07cdd888efc8cb933497b6a4 Pull userns hardlink capability check fix ] * [https://git.kernel.org/torvalds/c/3460b01b12aaf0011cb30f6f502edd05752f70eb Pull audit updates ] * [https://git.kernel.org/torvalds/c/1873499e13648a2dd01a394ed3217c9290921b3d Pull security subsystem update ] * [https://git.kernel.org/torvalds/c/5ebe0ee802c52cdf0c0eed8f3eccc9a056e412a3 Pull documentation update ] * [https://git.kernel.org/torvalds/c/ab1228e42e71f5cb687c740c4c304f1d48bcf68a Pull Intel IOMMU updates ] * [https://git.kernel.org/torvalds/c/39cf7c398122ff6d7df13d2832810933d227ac59 Pull IOMMU updates ] * [https://git.kernel.org/torvalds/c/a3e7531535a0c6e5acbaa5436f37933bb471aa95 Pull SCSI updates ] * [https://git.kernel.org/torvalds/c/933425fb0010bd02bd459b41e63082756818ffce Pull KVM updates ] * [https://git.kernel.org/torvalds/c/2c302e7e41050dbc174d50b58ad42eedf5dbd6fa Pull sparc updates ] * [https://git.kernel.org/torvalds/c/2e3078af2c67730c479f1d183af5b367f5d95337 Merge patch-bomb ] * [https://git.kernel.org/torvalds/c/2f4bf528eca5b2d9eef12b6d323c040254f8f67c Pull powerpc updates ] * [https://git.kernel.org/torvalds/c/d1e41ff11941784f469f17795a4d9425c2eb4b7a Pull x86 platform driver update ] * [https://git.kernel.org/torvalds/c/bc914532a08892b30954030a0ba68f8534c67f76 Pull MFD updates ] * [https://git.kernel.org/torvalds/c/5bc23a0cdee4a6757fcc2919eb26827fe11e3bee Pull backlight updates ] * [https://git.kernel.org/torvalds/c/0280d1a099da1d211e76ec47cc0944c993a36316 Pull sound updates ] * [https://git.kernel.org/torvalds/c/3c87b791880a2e0dad281c6494b94968d412bfa3 Pull PCI updates ] * [https://git.kernel.org/torvalds/c/2d49dcb9e48f65a69281fe4c698c8f1a20215daf Pull mailbox updates ] * [https://git.kernel.org/torvalds/c/02f0d3f758ab456c50199b723a53f2443fa4f684 Pull MTD updates ] * [https://git.kernel.org/torvalds/c/3e069adabc9487b5e28065a17e6a228da3412dfd Pull input updates ] * [https://git.kernel.org/torvalds/c/9bbd4b9f38f56b4ee2c8ff268a1104ff38333e90 Pull DeviceTree updates ] * [https://git.kernel.org/torvalds/c/22402cd0af685c1a5d067c87db3051db7fff7709 Pull tracking updates ] * [https://git.kernel.org/torvalds/c/9cf5c095b65da63c08b928a7d0015d5d5dca8a66 Pull asm-generic cleanups ] * [https://git.kernel.org/torvalds/c/713009809681e5a7871e96e6992692c805b4480b Pull ext4 updates ] * [https://git.kernel.org/torvalds/c/27eb427bdc0960ad64b72da03e3596c801e7a9e9 Pull Btrfs updates ] * [https://git.kernel.org/torvalds/c/6f1da317ac1df15f442b5fd37be7740c7cb55057 Pull HID updates ] * [https://git.kernel.org/torvalds/c/75021d28594d9b6fb4d05bbc41f77948a0db0e02 Pull trivial updates ] * [https://git.kernel.org/torvalds/c/ab9f2faf8f40604551336e5b0a18e0910a57b92c Pull RDMA updates ] * [https://git.kernel.org/torvalds/c/ad804a0b2a769a0eed29015c53fe395449c09d13 Merge second patch-bomb ] * [https://git.kernel.org/torvalds/c/50c36504fc6090847f1fbdc7cf4852ae16d6e500 Pull module updates ] * [https://git.kernel.org/torvalds/c/e4da7e9a54649d6877ac23828ff93ce7191eae2c Pull m68knommu/coldfire fix ] * [https://git.kernel.org/torvalds/c/3510ca19a82ba4c6a17af79c1f0448622a406efa Pull xtensa updates ] * [https://git.kernel.org/torvalds/c/f4d68930a88219ffda60f137dcc858e4f5db6680 Pull nios2 updates ] * [https://git.kernel.org/torvalds/c/373ee21eecebc5c06786a803d99661a3657afcc7 Pull parisc updates ] * [https://git.kernel.org/torvalds/c/123a28d8b522b03dd97c1f791245924088616ac0 Pull ext2 fix ] * [https://git.kernel.org/torvalds/c/9d74288ca79249af4b906215788b37d52263b58b Pull gfs2 updates ] * [https://git.kernel.org/torvalds/c/e6604ecb70d4b1dbc0372c6518b51c25c4b135a1 Pull NFS client updates ] * [https://git.kernel.org/torvalds/c/bd4f203e433387d39be404b67ad02acf6f76b7bc Merge third patch-bomb ] * [https://git.kernel.org/torvalds/c/3e82806b97398d542a5e03bd94861f79ce10ecee Pull drm updates ] * [https://git.kernel.org/torvalds/c/3b13866869b8407497d20a916450594e117583e6 Pull fbdev updates ] * [https://git.kernel.org/torvalds/c/7d884710bb3635f94dac152ae226ca54a585a223 Pull RTC updates ] * [https://git.kernel.org/torvalds/c/041c79514af9080c75197078283134f538f46b44 Pull dmaengine updates ] * [https://git.kernel.org/torvalds/c/6aabef681df96b851b4a11459520d4a20ab1cae4 Pull tiny hwmon update ] * [https://git.kernel.org/torvalds/c/42d4ebb42a17754d2e8344dc1aa486119671d0eb Pull watchdog update ] * [https://git.kernel.org/torvalds/c/d55fc37856244c929965c190c8e9dcb49e2c07aa Pull i2c updates ] * [https://git.kernel.org/torvalds/c/264015f8a83fefc62c5125d761fbbadf924e520c Pull libnvdimm updates ] * [https://git.kernel.org/torvalds/c/a5e1d715a8d0696961d99d31d869aa522f1cad5a Pull ARM SoC cleanups ] * [https://git.kernel.org/torvalds/c/56e0464980febfa50432a070261579415c72664e Pull ARM SoC platform updates ] * [https://git.kernel.org/torvalds/c/b44a3d2a85c64208a57362a1728efb58a6556cd6 Pull ARM SoC driver updates ] * [https://git.kernel.org/torvalds/c/c0d6fe2f01c475cc137d90607a07578586883df8 Pull ARM DT updates ] * [https://git.kernel.org/torvalds/c/52e9a33333fc337d03ffb865048f9ccae8552a8d Pull ARM SoC defconfig updates ] * [https://git.kernel.org/torvalds/c/c6de7f1754bd474019c60d6f076fa3f704e46b78 Pull metag arch updates ] * [https://git.kernel.org/torvalds/c/4bde961e5245bb37dab4831107bbed23e433d55a Pull UML updates ] * [https://git.kernel.org/torvalds/c/01504f5e9e071f1dde1062e3be15f54d4555308f Pull UBI/UBIFS updates ] * [https://git.kernel.org/torvalds/c/3419b45039c6b799c974a8019361c045e7ca232c Pull block IO poll support ] * [https://git.kernel.org/torvalds/c/6a177af775d92cff7ef36a681c304dc750dbe121 Pull kselftest updates ] * [https://git.kernel.org/torvalds/c/c34e6e0bd5d729948119d4b3e15b075ec0b80d6f Pull kbuild update ] * [https://git.kernel.org/torvalds/c/152813e6e4bbb5f017e33eba7eb01bbda4b389b8 Pull kconfig updates ] * [https://git.kernel.org/torvalds/c/5dfe5b2c714a5bea0908c1e00da0e8e00535f55c Pull misc kbuild updates ] * [https://git.kernel.org/torvalds/c/c5a37883f42be712a989e54d5d6c0159b0e56599 Merge final patch-bomb ] * [https://git.kernel.org/torvalds/c/baf51c43926ec9aa42ef9d33ca6ee9e3e043aebe Pull thermal updates ] * [https://git.kernel.org/torvalds/c/c8fff3ed321abf11bea7464884b0876c46ff2491 Pull pwm updates ] * [https://git.kernel.org/torvalds/c/842cf0b9525813b084720a82d0d3aabc750b7ccc Pull vfs update ] * [https://git.kernel.org/torvalds/c/31c1febd7a45229edb3e5d86f354e3c1df543cbb Pull nfsd updates ] * [https://git.kernel.org/torvalds/c/5d50ac70fe98518dbf620bfba8184254663125eb Pull xfs updates ] * [https://git.kernel.org/torvalds/c/be23c9d20b341a58ad7107f9e9aa5735cea3da13 Pull more power management and ACPI updates ] * [https://git.kernel.org/torvalds/c/3370b69eb0c1f6a05f9051e8fc3e8768461a80f7 Pull second batch of kvm updates ] * [https://git.kernel.org/torvalds/c/7dac7102afbeb99daa454f555f1ea1f42fad2f78 Pull h8300 updates ] * [https://git.kernel.org/torvalds/c/0e976064256523ca604bd82048ae0e3402ce2467 Pull trace cleanups ] * [https://git.kernel.org/torvalds/c/be4773e6a11a0cc1e63c9c32f000b870e51b8c01 Pull drm sti driver updates ] * [https://git.kernel.org/torvalds/c/4aeabc6b5ca3b9d025f287978096e138bdfbdd35 Pull more documentation updates ] * [https://git.kernel.org/torvalds/c/ca4ba96e02e932a0c9997a40fd51253b5b2d0f9d Pull Ceph updates ] * [https://git.kernel.org/torvalds/c/f3996e6ac6e2bd739d8a82cc9acae0653c2d5dca Pull SMB3 updates ] * [https://git.kernel.org/torvalds/c/934f98d7e8123892bd9ca8ea08728ee0784e6597 Pull VFIO updates ] * [https://git.kernel.org/torvalds/c/5d2eb548b309be34ecf3b91f0b7300a2b9d09b8c Pull vfs xattr cleanups ] * [https://git.kernel.org/torvalds/c/9aa3d651a9199103eb6451aeb0ac1b66a6d770a6 Pull SCSI target updates ] * [https://git.kernel.org/torvalds/c/d83763f4a6adb2f417c3288ee903982985ae949c Pull final round of SCSI updates ] * [https://git.kernel.org/torvalds/c/a30b7ca2894994e4e2f2e06811ee67fa637bca2e Pull more input updates ] * [https://git.kernel.org/torvalds/c/4bfc89d26a0d177a79574fc1b54fc728e3bb8b4e Pull another x86 platform driver update ] * [https://git.kernel.org/torvalds/c/63f4f7e8df6c504f39c6493799b54775916030d6 Pull chrome platform updates ] * [https://git.kernel.org/torvalds/c/b84da9fa47cf6e8dfd71d673a2f744ec1cac452c Pull MIPS updates ] * [https://git.kernel.org/torvalds/c/0ca9b67606f0ce984b5811b0830cfd7d143f6077 Pull perf updates ] = Other news sites = * LWN [http://lwn.net/Articles/663742/ merge window part 1] and [http://lwn.net/Articles/664461/ part 2] * Phoronix [http://www.phoronix.com/scan.php?page=article&item=linux-44-features&num=1 A Look At The New Features Of The Linux 4.4 Kernel]