#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 3.12 development cycle Linux 3.12 [https://lkml.org/lkml/2013/11/3/160 was released on November 2, 2013] /!\ /!\ /!\ This page is incomplete. Sorry for the delay /!\ /!\ /!\ '''Summary''': This release adds support for offline deduplication in Btrfs, automatic GPU switching in laptops with dual GPUs, a performance boost for modern AMD Radeon hardware, improved locking performance for virtualized guests, better RAID-5 multicore performance, improved and more reliable out-of-memory handling, improved VFS path name resolution scalability, improvements to the timerless multitasking mode, separate modesetting and rendering device nodes in the graphics DRM layer, new drivers and many small improvements. [[TableOfContents()]] = Prominent features = == Offline data deduplication support in Btrfs == The Btrfs filesystem has gained support for offline data deduplication. Deduplication consists in removing copies of repeated data in the filesystem, since the data is the same only one copy is necessary. In some particular workloads, like virtualization VMs -which often contain similar copies of operating systems- the gains can be enormous. By "offline", it means that the deduplication process is done when the file system is mounted and running, but it's not done automatically and transparently as processes write data, but rather it's triggered by userspace software at a time controlled by the system administrator. Online deduplication will be added future releases. The bedup deduplication tool has a branch that works against this support. The branch can be found [https://github.com/g2p/bedup/tree/wip/dedup-syscall here]. The author of the deduplication support has also written an sample deduplication tool, duperemove, which can be found [https://github.com/markfasheh/duperemove here]. Code: [http://git.kernel.org/linus/416161db9b63e353a8fb79d1369779175102fca1 commit] == Graphic performance boost for AMD Radeon hardware == The website [http://Phoronix.com Phoronix.com] found that graphic performance in modern AMD Radeon GPUs had improved a lot in Linux 3.12. However, there hasn't been any important modification on in the Radeon driver that can cause such massive gains. After [http://www.phoronix.com/scan.php?page=article&item=linux_312_performance&num=1 some investigation], Phoronix found out that the responsible change for this boost wasn't a change in the Radeon driver itself, but [http://anzwix.com/a/Linux%20Kernel/CpufreqOndemandChangeTheCalculationOfTargetFrequ a change to the algorithms in the cpufreq ondemand governor]. Apparently, the ondemand governor was oscillating too much between frequencies, and this oscillation harmed graphic performance for Radeon GPUs. The new algorithm added a better frequency algorithm that eliminates this problem. Code: [http://git.kernel.org/linus/dfa5bb622555d9da0df21b50f46ebdeef390041b commit] == Automatic GPU switching in laptops with dual GPUs == Some laptop hardware, like Nvidia Optimus, have two GPUs, one optimized for performance and other for power saving. Until now, some hacks have been needed to switch between these GPUs. In this release, the driver handles the switch automatically Code: [http://git.kernel.org/linus/0d69704ae348c03bc216b01e32a0e9a2372be419 commit 1], [http://git.kernel.org/linus/5addcf0a5f0fadceba6bd562d0616a1c5d4c1a4d 2], [http://git.kernel.org/linus/246efa4a072f3a2e03010ef0b78b0974ec69c377 3] == Separate devices nodes for graphics mode setting and rendering == Recent hardware development (especially on ARM) shows that rendering (via GPU) and mode-setting (via display-controller) are not necessarily bound to the same graphics device. This release incorporates in the graphics layer support for separate device nodes for mode setting and rendering. The main usage is to allow different access-modes for graphics-compositors (which require the modeset API) and client-side rendering or GPGPU-users (which both require the rendering API). For more information, see this blog post: [https://dvdhrm.wordpress.com/2013/09/01/splitting-drm-and-kms-device-nodes/ Splitting DRM and KMS device nodes] Code: [http://git.kernel.org/linus/1793126fcebd7c18834f95d43b55e387a8803aa8 commit 1], [http://git.kernel.org/linus/7d7612582c15af8772c2fb2473d5fc7eebfefae2 2], [http://git.kernel.org/linus/f33bcab9e816c5bf56b74c3007790f2a256910eb 3], [http://git.kernel.org/linus/10ba50129ab0bdbc0ee712e50913d1c8db88c5f0 4] == Improved timerless multitasking: allow timekeeping CPU go idle == Linux 3.10 added support for [http://kernelnewbies.org/Linux_3.10#head-62fadba76893e85ee7fb75d548536c5635baca54 timerless multitasking], that is, the ability to run processes without needing to fire up the timer interrupt that is traditionally used to implement multitasking. This support, however, had a caveat: it could turn off interrupts in all CPUs, except one that is used to track timer information for the other CPUs. But that CPU keeps the timer turned on even if all the CPUs are idle, which was useless. This release allows to disable the timer for the timekeeping CPU when all CPUs are idle. Recommended LWN article: [https://lwn.net/Articles/558284/ Is the whole system idle?] Code: [http://git.kernel.org/linus/b44379af1cf40050794832c38ea6a64e07eb5087 commit 1], [http://git.kernel.org/linus/8bdf7a252b6398dbd4beaa7a2ba0904cea0abd04 2], [http://git.kernel.org/linus/d4bd54fbac2ea5c30eb976ca557e905f489d55f4 3], [http://git.kernel.org/linus/217af2a2ffbfc1498d1cf3a89fa478b5632df8f7 4], [http://git.kernel.org/linus/0edd1b1784cbdad55aca2c1293be018f53c0ab1d 5], [http://git.kernel.org/linus/eb348b898290da242e46df75ab0b9772003e08b8 6], [http://git.kernel.org/linus/2333210b26cf7aaf48d71343029afb860103d9f9 7], [http://git.kernel.org/linus/eb75767be0e514f97bf1b5cec763696cfc7f7e2a 8] == RAID5 multithreading == This release attempts to spread the work needed to handle raid 5 stripes to multiple CPUs in the MD ("multiple devices") layer, which allows more IO/sec on fast (SSD) devices. Code: [http://git.kernel.org/linus/851c30c9badfc6b294c98e887624bff53644ad21 commit1], [http://git.kernel.org/linus/b721420e8719131896b009b11edbbd27d9b85e98 2] == Improved locking performance for virtualized guests == The operating system that runs in each virtualized guest also runs its own locks. With some locks, like spinning locks, this causes problems when many guests are present and keep spinning and wasting host CPU time and other problems. This release replaces paravirtualized spinlocks with paravirtualized ticket spinlocks, which have better performance properties for virtualized guests and brings speedups on various benchmarks. Recommended paper: [http://www.xen.org/files/xensummitboston08/LHP.pdf Prevent Guests from Spinning Around] Code: [http://git.kernel.org/linus/545ac13892ab391049a92108cf59a0d05de7e28c commit 1], [http://git.kernel.org/linus/92b75202e5e8790905f9441ccaea2456cc4621a5 2], [http://git.kernel.org/linus/80bd58fef495d000a02fc5b55ca76d423400e748 3], [http://git.kernel.org/linus/b8fa70b51aa76737bdb6b493901ef7376977489c 4] == New lockref locking scheme, VFS locking improvements == This release adds a new locking scheme, called "lockref". The "lockref" structure is a combination "spinlock and reference count" that allows optimized reference count accesses. In particular, it guarantees that the reference count will be updated as if the spinlock was held, but using atomic accesses that cover both the reference count and the spinlock words, it can often do the update without actually having to take the lock. This allows to avoid the nastiest cases of spinlock contention on large machines. When updating the reference counts on a large system, it will still end up with the cache line bouncing around, but that's much less noticeable than actually having to spin waiting for the lock. This release already uses lockref to improve the scalability of heavy pathname lookup in large systems. Recommended LWN article: [https://lwn.net/Articles/565734/ Introducing lockrefs] Code: [http://git.kernel.org/linus/bc08b449ee14ace4d869adaa1bb35a44ce68d775 commit 1], [http://git.kernel.org/linus/15570086b590a69d59183b08a7770e316cca20a7 2], [http://git.kernel.org/linus/df3d0bbcdb2cafa23a70223d806655bd37e64a9b 3], [http://git.kernel.org/linus/e7d33bb5ea82922e6ddcfc6b28a630b1a4ced071 4], [http://git.kernel.org/linus/232d2d60aa5469bb097f55728f65146bd49c1d25 5], [http://git.kernel.org/linus/71c7356f864dc41e4bd6b884596a422f8954afe0 6] == Better Out-Of-Memory handling == The Out-Of-Memory state happens when the computer runs out of RAM and swap memory. When Linux gets into this state, it kills a process in order to free memory. This release includes important changes to how the Out-Of-Memory states are handled, the number of out of memory errors sent to userspace and reliability. For more details see the below link. Recommended LWN article: [https://lwn.net/Articles/562211/#oom Reliable out-of-memory handling] Code: [http://git.kernel.org/linus/94bce453c78996cc4373d5da6cfabe07fcc6d9f9 commit 1], [http://git.kernel.org/linus/871341023c771ad233620b7a1fb3d9c7031c4e5c 2], [http://git.kernel.org/linus/759496ba6407c6994d6a5ce3a5e74937d7816208 3], [http://git.kernel.org/linus/3a13c4d761b4b979ba8767f42345fed3274991b0 4], [http://git.kernel.org/linus/519e52473ebe9db5cdef44670d5a97f1fd53d721 5], [http://git.kernel.org/linus/fb2a6fc56be66c169f8b80e07ed999ba453a2db2 6], [http://git.kernel.org/linus/3812c8c8f3953921ef18544110dafc3505c1ac62 7] == XFS directory recursion scalability, namespace support == XFS has added support for a directory entry file type, the purpose is that readdir can return the type of the inode the dirent points to to userspace without first having to read the inode off disk. Performance of directory recursion is much improved. Parallel walk of ~50 million directory entries across hundreds of directories improves significantly, from roughly 500 getdents() calls per second and 250,000 inode lookups per second to determine the inode type at roughly 17,000 read IOPS to 3500 getdents() calls per second at 16,000 IOPS, with no inode lookups at all. This release has also added XFS support for namespaces, and has reincorporated defragmentation support for the new CRC filesystem format. Code: [http://git.kernel.org/linus/0cb97766f2928579f1029ea7b28ae946cdd6fbe1 commit 1], [http://git.kernel.org/linus/1c55cece084aa4c9a3fa34ed4eecbdf18afbf05d 2], [http://git.kernel.org/linus/21b5c9784bceb8b8e0095f87355f3b138ebac2d0 3], [http://git.kernel.org/linus/d6970d4b726cea6d7a9bc4120814f95c09571fc3 4], [http://git.kernel.org/linus/638f44163d57f87d0905fbed7d54202beff916fc 5] == Improved tty layer locking == The tty layer locking got cleaned up and in the process a lot of locking became per-tty, which actually shows up on some (admittedly odd) loads. Commits: [https://git.kernel.org/linus/2f01ea908bcf838e815c0124b579513dbda3b8c8 merge commit] = Drivers and architectures = All the driver and architecture-specific changes can be found in the [http://kernelnewbies.org/Linux_3.12-DriversArch Linux_3.12-DriversArch page] = Core = * seqlock: Add a new locking reader type [http://git.kernel.org/linus/1370e97bb2eb1ef2df7355204e5a4ba13e12b861 commit] * idr: Percpu ida [http://git.kernel.org/linus/798ab48eecdf659df9ae0064ca5c62626c651827 commit] * initmpfs: use initramfs if rootfstype= or root= specified [http://git.kernel.org/linus/6e19eded3684dc184181093af3bff2ff440f5b53 commit] * swap: change block allocation algorithm for SSD [http://git.kernel.org/linus/2a8f9449343260373398d59228a62a4332ea513a commit] * swap: make cluster allocation per-cpu [http://git.kernel.org/linus/ebc2a1a69111eadfeda8487e577f1a5d42ef0dae commit] * swap: make swap discard async [http://git.kernel.org/linus/815c2c543d3aeb914a361f981440ece552778724 commit] * sysfs: Restrict mounting sysfs [http://git.kernel.org/linus/7dc5dbc879bd0779924b5132a48b731a0bc04a1e commit] * CacheFiles: Implement interface to check cache consistency [http://git.kernel.org/linus/5002d7bef81c9646bbb06fb57db4a100aa5a57c5 commit], [http://git.kernel.org/linus/da9803bc8812f5bd3b26baaa90e515b843c65ff7 commit] = Memory management = = Block layer = * Detect hybrid MBRs [http://git.kernel.org/linus/b05ebbbbeb67a420d06567c6b9618a9e644d6104 commit] = File systems = * Ext4 * Add support for extent pre-caching through a new fiemap flag. This is critically important when using AIO to a preallocated file [http://git.kernel.org/linus/7869a4a6c5caa7b2e5c41ccaf46eb3371f88eea7 commit], [http://git.kernel.org/linus/107a7bd31ac003e42c0f966aa8e5b26947de6024 commit] * Allow specifying external journal by pathname mount option [http://git.kernel.org/linus/ad4eec613536dc7e5ea0c6e59849e6edca634d8b commit] * Mark block group as corrupt on block bitmap error [http://git.kernel.org/linus/163a203ddb36c36d4a1c942aececda0cc8d06aa7 commit] * Mark group corrupt on group descriptor checksum [http://git.kernel.org/linus/bdfb6ff4a255dcebeb09a901250e13a97eff75af commit] * Ext3 * Allow specifying external journal by pathname mount option [http://git.kernel.org/linus/cf7eff4666629de006c5ed78de79e40f483c3b06 commit] * XFS * Add support for the Q_XGETQSTATV quotacl command [http://git.kernel.org/linus/5d5e3d57605e77708685e8d20a40fe86891db299 commit] * Introduce object readahead to log recovery [http://git.kernel.org/linus/00574da199291751bfaaee15ad0f42a7144276ad commit] * F2FS * Add support the inline xattrs [http://git.kernel.org/linus/444c580f7e9ad29927a5d5269d576bd7cdccebb8 commit], http://git.kernel.org/linus/65985d935ddd5657c66a8bb3ae9752ed842549b8 commit] * Add support for controlling the garbage collection policy [http://git.kernel.org/linus/b59d0bae6ca30c496f298881616258f9cde0d9c6 commit], [http://git.kernel.org/linus/d2dc095f4280ad5fdea33769e8e119fd16648426 commit] * Pstore * Add compression support to pstore [http://git.kernel.org/linus/b0aad7a99c1df90c23ff4bac76eea9cf25049e9e commit] * Add decompression support to pstore [http://git.kernel.org/linus/adb42f5e105502aff2fc4518b16ba79c203fae4f commit] * Add file extension to pstore file if compressed [http://git.kernel.org/linus/9ad2cbe0a9b88ee6ee895d03b2c63fa1252c8e52 commit] * CEPH * Punch hole support [http://git.kernel.org/linus/ad7a60de882aca31afb58721db166f7e77afcd92 commit] * HFS+ * Implement POSIX ACLs support [http://git.kernel.org/linus/eef80d4ad1399067f26538a7dd56ff3df71e9278 commit] * NFS * Refuse mount attempts with proto=udp [http://git.kernel.org/linus/6da1a034362f86e157e251e65394f0b6570e3e3a commit] * isofs * Refuse RW mount of the filesystem instead of making it RO [http://git.kernel.org/linus/17b7f7cf58926844e1dd40f5eb5348d481deca6a commit] * udf * Refuse RW mount of the filesystem instead of making it RO [http://git.kernel.org/linus/e729eac6f65e11c5f03b09adcc84bd5bcb230467 commit] = Networking = * tcp: TCP_NOTSENT_LOWAT socket option [http://git.kernel.org/linus/c9bee3b7fdecb0c1d070c7b54113b3bdfb9a3d36 commit] * tcp: TSO packets automatic sizing [http://git.kernel.org/linus/95bd09eb27507691520d39ee1044d6ad831c1168 commit] * tcp: add tcp_syncookies mode to allow unconditionally generation of syncookies [http://git.kernel.org/linus/5ad37d5deee1ff7150a2d0602370101de158ad86 commit] * tcp: increase throughput when reordering is high [http://git.kernel.org/linus/0f7cc9a3c2bd89b15720dbf358e9b9e62af27126 commit] * tcp: prefer packet timing to TS-ECR for RTT [http://git.kernel.org/linus/5b08e47caf1f2034a3a5b566bbccc8b0be3961ca commit] * tcp: use RTT from SACK for RTO [http://git.kernel.org/linus/ed08495c31bb991de636d2488abaa50b39f2ff4a commit] * ipv6: Add generic UDP Tunnel segmentation [http://git.kernel.org/linus/d949d826c09fb65e230f55868ff70dc581ec06fa commit] * ipv6: drop fragmented ndisc packets by default (RFC 6980) [http://git.kernel.org/linus/b800c3b966bcf004bd8592293a49ed5cb7ea67a9 commit] * ipv6: mld: implement RFC3810 MLDv2 mode only [http://git.kernel.org/linus/58c0ecfd8d9871cfa35bcdbf3e7b3ee9ca62ea67 commit] * bridge: apply multicast snooping to IPv6 link-local, too [http://git.kernel.org/linus/3c3769e63301fd92fcaf51870c371583dd0282ce commit] * macvlan fdb replace support [http://git.kernel.org/linus/ab2cfbb2bddb7c7bc4394e52e91044d5ff645cb4 commit] * Devices: export physical port id via sysfs [http://git.kernel.org/linus/ff80e519ab1b3a6abb2c6bbf684b98be07111879 commit] * igmp: Allow user-space configuration of igmp unsolicited report interval [http://git.kernel.org/linus/2690048c01f32bf45d1c1e1ab3079bc10ad2aea7 commit] * tcp_probe: add IPv6 support [http://git.kernel.org/linus/f925d0a62db3f1b6e463ef956d0855006538d002 commit] * tcp_probe: allow more advanced ingress filtering by mark [http://git.kernel.org/linus/b1dcdc68b1f4cc77f603d7507f7a14f1f4864d41 commit] * netfilter: add IPv6 SYNPROXY target [http://git.kernel.org/linus/4ad362282cb45bbc831a182e45637da8c5bd7aa1 commit] * Wireless * Use reduced txpower for 5 and 10 MHz [http://git.kernel.org/linus/0430c883470d0c9a23661ea9f02c56b1d91cf93c commit] * Add packet coalesce support [http://git.kernel.org/linus/be29b99a9b51b0338eea3c66a58de53bbd01de24 commit] * Allow scanning for 5/10 MHz channels in IBSS [http://git.kernel.org/linus/7ca15a0ae865067aac8d36e27e0acbe4a8f1e70a commit] * openvswitch * Add SCTP support [http://git.kernel.org/linus/a175a723301a8a4a9fedf9ce5b8ca586e7a97b40 commit] * Add vxlan tunneling support. [http://git.kernel.org/linus/58264848a5a7b91195f43c4729072e8cc980288d commit] * Mega flow implementation [http://git.kernel.org/linus/03f0d916aa0317592dda11bd17c7357858719b6c commit] * pkt_sched: fq: Fair Queue packet scheduler [http://git.kernel.org/linus/afe4fd062416b158a8a8538b23adc1930a9b88dc commit] * pktgen: Add UDPCSUM flag to support UDP checksums [http://git.kernel.org/linus/c26bf4a51308c85a6f97628253b99767a84ff90a commit] * qdisc: allow setting default queuing discipline [http://git.kernel.org/linus/6da7c8fcbcbdb50ec68c61b40d554c74850fdb91 commit] * tun: Add ability to create tun device with given index [http://git.kernel.org/linus/fb7589a162162223e6bb6422dde3fb1ce07d9a78 commit] * tun: Allow to skip filter on attach [http://git.kernel.org/linus/849c9b6f93cc4cb5eb59301b6380a7a81b43f414 commit] * tun: Support software transmit time stamping. [http://git.kernel.org/linus/eda297729171fe16bf34fe5b0419dfb69060f623 commit] * tuntap: hardware vlan tx support [http://git.kernel.org/linus/6680ec68eff47d36f67b4351bc9836fd6cba9532 commit] * vxlan: Add tx-vlan offload support. [http://git.kernel.org/linus/1eaa81785a70082213d40de14ec13520b5c6fff2 commit] * vxlan: add ipv6 support [http://git.kernel.org/linus/e4c7ed415387cf718ffbec305396c30cee092987 commit] * NFC: Add a GET_SE netlink API, which dumps a list of discovered secure elements in an NFC controller [http://git.kernel.org/linus/ac22ac466a659f1b2e02a2e2ee23fc5c42da2c95 commit] * Infiniband: Add receive flow steering support [http://git.kernel.org/linus/319a441d1361ea703b091caf92418f8121eadfc5 commit] * USBNET: Improving USB3 thoughtput [http://git.kernel.org/linus/452c447a497dce3c9faeb9ac7f2e1ff39232876b commit] = Crypto = * omap-sham - Add OMAP5/AM43XX SHAM Support [http://git.kernel.org/linus/7d7c704d0dc9858e6bbb515842e32acb70cf0222 commit] * omap-sham - Add SHA384 and SHA512 Support [http://git.kernel.org/linus/eaef7e3f3f82923ea175ce4859908bb0d70072f3 commit] * Add NEON accelerated XOR implementation [http://git.kernel.org/linus/01956597cbc46df072f20f90a40eebe356200c38 commit] * Add OMAP4 random generator support [http://git.kernel.org/linus/e83872c989fb704748956c0bf1b69874a35492c6 commit] = Virtualization = * Adds nested EPT support to KVM's nested VMX. Nested EPT means emulating EPT for an L1 guest so that L1 can use EPT when running a nested guest L2 [http://git.kernel.org/linus/37406aaaeebc36632efc3f493363da9644e57ef1 commit] * vmware: Add support for virtual IOMMU [http://git.kernel.org/linus/6d6dfb4f4aa9ee352a199b5379942350bdd26e64 commit], Add support for virtual IOMMU in VMXNET3 [http://git.kernel.org/linus/b0eb57cb97e7837ebb746404c2c58c6f536f23fa commit] * vfio-pci: PCI hot reset interface [http://git.kernel.org/linus/8b27ee60bfd6bbb84d2df28fa706c5c5081066ca commit] * vfio: add external user support [http://git.kernel.org/linus/6cdd97821322352b94bb92f271b4466ad38a2468 commit] * xen: Support 64-bit PV guest receiving NMIs [http://git.kernel.org/linus/6efa20e49b9cb1db1ab66870cc37323474a75a13 commit] * Add xen tpmfront interface [http://git.kernel.org/linus/e2683957fb268c6b29316fd9e7191e13239a30a5 commit] = Security = * Apparmor * Add an optional profile attachment string for profiles [http://git.kernel.org/linus/556d0be74b19cb6288e5eb2f3216eac247d87968 commit] * Add interface files for profiles and namespaces [http://git.kernel.org/linus/0d259f043f5f60f74c4fd020aac190cb6450e918 commit] * Add the ability to report a sha1 hash of loaded policy [http://git.kernel.org/linus/f8eb8a1324e81927b2c64823b2fc38386efd3fef commit] * Add the profile introspection file to interface [http://git.kernel.org/linus/29b3822f1e132aa0f115f69730d6e4182df153d4 commit] * Allow setting any profile into the unconfined state [http://git.kernel.org/linus/038165070aa55375d4bdd2f84b34a486feca63d6 commit] * Enable users to query whether apparmor is enabled [http://git.kernel.org/linus/c611616cd3cb27f9605ee4954532b3fe144d951b commit] = Tracing/perf = * perf * Add option to limit stack depth in callchain dumps [http://git.kernel.org/linus/307cbb92aa2bdc9eed7c74409ff4d5fc9135b4e2 commit] * Add option to print stack trace on single line [http://git.kernel.org/linus/b0b35f0179161a5e256eebffa274b0b6f023f451 commit] * diff: Add generic order option for compute sorting [http://git.kernel.org/linus/5f3f8d3b1207cba3664d57a33de43f5ee11c8a06 commit] * diff: Update perf diff documentation for multiple data comparison [http://git.kernel.org/linus/3a3beae81dae4960cac99fb6deeaca371f0790eb commit] * gtk/hists: Display callchain overhead also [http://git.kernel.org/linus/cc60f24e225e50a0b57398f9ba105fd8ffcf4bb3 commit] * kvm stat report: Add option to analyze specific VM [http://git.kernel.org/linus/2e73f00fe707a8f2476d989de946c12078c7c066 commit] * kvm: Add live mode [http://git.kernel.org/linus/1afe1d148491069ef51ed69fa53b09e1cb3ec30d commit], [http://git.kernel.org/linus/9a6d316692d59c4400a66b01db675abac432b4b2 commit] * list: Skip unsupported events [http://git.kernel.org/linus/b41f1cec91c37eeea6fdb15effbfa24ea0a5536b commit] * perf report/top: Add option to collapse undesired parts of call graph [http://git.kernel.org/linus/b21484f1a1f300d422cfe5d4f8f50015e22cea24 commit] * stat: Add support for --initial-delay option [http://git.kernel.org/linus/411916880ff4061ac0491a154f10af4d49a0c61a commit] * symbols: Add support for reading from /proc/kcore [http://git.kernel.org/linus/8e0cf965f95edd41df11cca50b92b4cb6ea8d80a commit] * tools: Add 'S' event/group modifier to read sample value [http://git.kernel.org/linus/3c1763115b492afb743daa4e1c8099eca6a70634 commit] * tools: Default to cpu// for events v5 [http://git.kernel.org/linus/50e200f07948400694238e08e7add73df5ba8f83 commit] * tools: Make it possible to read object code from kernel modules [http://git.kernel.org/linus/0131c4ec794a7409eafff0c79105309540aaca4d commit] * tools: Make it possible to read object code from vmlinux [http://git.kernel.org/linus/39b12f7812710e9a5896805d96812b3ede7491e8 commit] * top: Add --objdump option [http://git.kernel.org/linus/0d3942dbcf7f7e8955ba89deed4749b0ad64d721 commit] * trace: Allow specifying which syscalls to trace [http://git.kernel.org/linus/2ae3a312c0ccd8ff615372f00aab1700aac27474 commit] * trace: Implement -o/--output filename [http://git.kernel.org/linus/c24ff998fc420891f17d73acab6766823d492175 commit] * trace: Support ! in -e expressions [http://git.kernel.org/linus/b059efdf52a27819b78aa30f171f1e8e439152b6 commit] = Other news sites that track the changes of this release = * LWN [https://lwn.net/Articles/565715/ part 1], [https://lwn.net/Articles/566122/ part 2], [https://lwn.net/Articles/566546/ part 3]