Linux 3.16 released [https://lkml.org/lkml/2014/8/3/82 has been released] on Sun, 3 Aug
This page is not complete (it will take a while, sorry for the delay)
While the page is completed, you can read about Linux 3.16 in the following sites:
LWN Merge window, [http://lwn.net/Articles/601152/ part 1], [http://lwn.net/Articles/601726/ part 2] and [http://lwn.net/Articles/602212/ part 3]
1. Drivers and architectures
All the driver and architecture-specific changes can be found in the [http://kernelnewbies.org/Linux_3.16-DriversArch Linux_3.16-DriversArch page]
2. Core
IPC System V shared memory: increase the defaults for SHMALL, SHMMAX [http://git.kernel.org/linus/060028bac94bf60a65415d1d55a359c3a17d5c31 commit]
- locking
Introduce 'qrwlocks' - fair, queued rwlocks [https://git.kernel.org/linus/70af2f8a4f48d6cebdf92d533d3aef37853ce6de commit]
rwsem: Support optimistic spinning [https://git.kernel.org/linus/4fc828e24cd9c385d3a44e1b499ec7fc70239d8a commit]
fanotify: create FAN_ACCESS event for readdir [https://git.kernel.org/linus/d4c7cf6cffb1bc711a833b5e304ba5bcfe76398b commit]
Add "crash_kexec_post_notifiers" option for kdump after panic_notifers [https://git.kernel.org/linus/f06e5153f4ae2e2f3b0300f0e260e40cb7fefd45 commit]
Add initcall_blacklist kernel parameter [https://git.kernel.org/linus/7b0b73d76651e5f88c88b76efa18d719f832bf6f commit]
seccomp: use internal BPF JIT to speed up filters [http://git.kernel.org/linus/8f577cadf7181243d336be9aba40c1bcc02c4c54 commit]
Add generic PCI host controller driver [https://git.kernel.org/linus/ce292991d88b77160f348fb8a3a2cf6e78f4b456 commit]
Virtual terminal: emulate 8- and 24-bit colour codes. [http://git.kernel.org/linus/cec5b2a97a11ade56a701e83044d0a2a984c67b4 commit]
Add CONFIG_SGETMASK_SYSCALL option to optionally disable sys_sgetmask/sys_ssetmask syscalls, which are no longer supported by older libcs[http://git.kernel.org/linus/f6187769dae48234f3877df3c4d99294cc2254fa commit]
proc: Allow for strict write position handling [http://git.kernel.org/linus/f4aacea2f5d1a5f7e3154e967d70cf3f711bcd61 commit]
3. Memory management
hugetlb: add support for gigantic page allocation at runtime instead of just at boot time [https://git.kernel.org/linus/944d9fec8d7aee3f2e16573e9b6a16634b33f403 commit]
4. Block layer
raid5: speedup sync_request processing (speeds up rebuild speed) [http://git.kernel.org/linus/053f5b6525ae32da397e6c47721961f800d2c924 commit]
raid5: add an option to avoid copy data from bio to stripe cache (in 1M randwrite tests, avoid the copy can increase the performance more than 30%) [http://git.kernel.org/linus/d592a9969141e67a3874c808999a4db4bf82ed83 commit]
rbd: add ioctl for blockdev command compatibility [http://git.kernel.org/linus/131fd9f6fc89ad2cc993f80664d18ca49d6f8483 commit]
ore: Support for raid 6 [http://git.kernel.org/linus/ce5d36aac26cc395fe3bc45525cdbad3644f01e5 commit]
5. Power management
- cpufreq
Add support for intermediate (stable) frequencies for platforms that may temporarily switch to a stable frequency while transitioning between frequencies [https://git.kernel.org/linus/1c03a2d04d7ab6d27c1fef8614f08187d974bd21 commit]
governor: Improve performance of latency-sensitive bursty workloads [https://git.kernel.org/linus/18b46abd0009516c1973a57ccf4d01b9eaa3422a commit]
Introduce "nohibernate" boot parameter to disable both hibernation and resume at boot time - useful to use kernel features that are not compatible with hibernation [https://git.kernel.org/linus/a6e15a39048ec3229b9a53425f4384f55f6cc1b3 commit]
Introduce command line argument, relative_sleep_states, that allows to change the way in which the kernel assigns labels to system sleep states [https://git.kernel.org/linus/0399d4db3edf5c58b6ec7f672f089f5085e49ed5 commit]
6. File systems
- Btrfs
- F2FS
Large volume support [https://git.kernel.org/linus/1dbe4152168d44fa164edbdc9f1243de70b98f7a commit]
Support SEEK_{DATA, HOLE} in llseek [https://git.kernel.org/linus/267378d4de696d4397cd611e62957d19b2a61357 commit]
- FAT
Add support for DOS 1.x formatted volumes [https://git.kernel.org/linus/190a8843ded231638d0e7ae7d8ca6a712472d114 commit]
7. Networking
Add support to configure SR-IOV VF minimum and maximum transmission rate through ip tool [http://git.kernel.org/linus/ed616689a3d95eb6c9bdbb1ef74b0f50cbdf276a commit]
ipv6: setting IFA_F_MANAGETEMPADDR with RTM_DELADDR will indicate that the kernel should delete all related temporary addresses (similar to using IFA_F_MANAGETEMPADDR with RTM_NEWADDR [http://git.kernel.org/linus/6046d5b4e464ba9b2cc8f0407069456624598dd5 commit]
l2tp: Add support for zero IPv6 checksums [http://git.kernel.org/linus/6b649feafe10b293f4bd5a74aca95faf625ae525 commit]
- Wireless
Support for dynamic channel bandwidth changes (e.g., HT 20/40 MHz changes)[http://git.kernel.org/linus/3b1700bde4f03ca68b058257f54d744cc8c84c72 commit]
macvlan: Support bonding events [http://git.kernel.org/linus/4c9912556867bf89e7bb6946fd218a40b1d12139 commit]
macvlan: add netpoll support [http://git.kernel.org/linus/688cea83f4396fa98b77a126ed278b89daccccdc commit]
Add Generic Segmentation Offload support for UDP tunnels with checksum [http://git.kernel.org/linus/0f4f4ffa7b7c3d29d0537a126145c9f8d8ed5dbc commit]
Implemement zero RX checksums for UDP/IPv6 ([http://tools.ietf.org/html/rfc6936 RFC 6936]). RFC 6936 relaxes the requirement of RFC 2460 that UDP/IPv6 packets which are received with a zero UDP checksum value must be dropped. RFC 6936 allows zero checksums to support tunnels over UDP [http://git.kernel.org/linus/4068579e1e098fa81d48db9ba4432ab664c58561 commit]
Kernel-originated IP packets that have no user socket associated with them (e.g., ICMP errors and echo replies, TCP RSTs, etc.) are emitted with a mark of zero. Add a sysctl to make them have the same mark as the packet they are replying to [http://git.kernel.org/linus/e110861f86094cd78cc85593b873970092deb43a commit]
When using mark-based routing, sockets returned from accept() may need to be marked differently depending on the incoming connection request. This patch adds a sysctl to mark TCP sockets based on the fwmark of the incoming SYN packet. If enabled, and an unmarked socket receives a SYN, then the SYN packet's fwmark is written to the connection's inet_request_sock, and later written back to the accepted socket when the connection is established. If the socket already has a nonzero mark, then the behaviour is the same as it is today, i.e., the listening socket's fwmark is used [http://git.kernel.org/linus/84f39b08d7868ce10eeaf640627cb89777f0ae93 commit]
tcp: Add a TCP_FASTOPEN socket option to get a max backlog on its listner [http://git.kernel.org/linus/1536e2857bd38e3bcd19963fd6b3c3287b4747c4 commit]
IPv6: support Fast Open server mode [http://git.kernel.org/linus/3a19ce0eec32667b835d8dc887002019fc6b3a02 commit]
tipc: add ioctl to fetch link names [http://git.kernel.org/linus/78acb1f9b898e85fa2c1e28e700b54b66b288e8d commit]
tipc: add support for link state subscriptions [http://git.kernel.org/linus/a89778d8baf19cd7e728d81121a294a06cedaad1 commit]
sctp: add support for busy polling to sctp protocol [http://git.kernel.org/linus/8465a5fcd1ceba8f2b55121d47b73f4025401490 commit]
vxlan: Add support for UDP checksums (v4 sending, v6 zero csums) [http://git.kernel.org/linus/359a0ea9875ef4f32c8425bbe1ae348e1fd2ed2a commit], add x-netns support [http://git.kernel.org/linus/f01ec1c017dead42092997a2b8684fcab4cbf126 commit]
tunnels - enable module autoloading [http://git.kernel.org/linus/f98f89a0104454f35a62d681683c844f6dbf4043 commit]
- netfilter
nf_tables: allow to delete several objects from a batch [http://git.kernel.org/linus/4fefee570d8e35d950e6b7294618e2035e669308 commit]
nfnetlink: Adding quota support to accounting framework [http://git.kernel.org/linus/683399eddb9fff742b1a14c5a5d03e12bfc0afff commit]
ethtool: Support for configurable RSS hash key [https://git.kernel.org/linus/3de0b592394d17b2c41a261a6a493a521213f299 commit]
bonding: Support macvlans on top of TLB/RLB mode bonds [https://git.kernel.org/linus/14af9963ba1e5e8400c9de9267bdcab895109f6a commit]
bridge: Automatically manage port promiscuous mode [https://git.kernel.org/linus/f3a6ddf15209cfad90b83e04168f42a5d9c8cc17 commit], [https://git.kernel.org/linus/2796d0c648c940b4796f84384fbcfb0a2399db84 commit]
bridge: Add 802.1ad tx VLAN acceleration [https://git.kernel.org/linus/1c5abb6c77a2e79537373143d2c1708e40b9f6ca commit]
bridge: Support 802.1ad VLAN filtering [https://git.kernel.org/linus/204177f3f30c2dbd2db0aa62b5e9cf9029786450 commit]
Bluetooth: Perform directed advertising support through connect() when we're in peripheral mode [https://git.kernel.org/linus/3c857757ef6e5a4e472bd3e5c934709c2eb482af commit]
NFC: Add RAW socket type support for SOCKPROTO_RAW to read RAW NFC frames [https://git.kernel.org/linus/57be1f3f3ec1ccab6432615ca161c4c9ece2a2aa commit]
- Wireless
Add an option to hint the wireless core that the user is operating in an indoor environment [https://git.kernel.org/linus/52616f2b446eaad8eb2cd78bbd052f0066069757 commit]
cfg80211: Support multiple CSA counters [https://git.kernel.org/linus/9a774c78e2114c7e8605e3a168ccd552cbe3d922 commit]
Allow userspace to take ownership of interfaces. If an interface is owned by a netlink socket, then it will be destroyed if the netlink socket is closed for any reason, including if the process it belongs to crashed. This gives us a race-free way to get rid of any such interfaces [https://git.kernel.org/linus/78f22b6a3a9254460d23060530b48ae02a9394e3 commit]
8. Virtualization
hyperv: Add support for virtual Receive Side Scaling (vRSS) [https://git.kernel.org/linus/5b54dac856cb5bd6f33f4159012773e4a33704f7 commit]
xen-netback: Add support for multiple queues [http://git.kernel.org/linus/8d3d53b3e43363e79ab9a9ecc149b06c1314b25d commit]
xen-netfront: Add support for multiple queues [http://git.kernel.org/linus/50ee60611bf0c7328e5cae438ea5c26590f3f747 commit]
virtio-rng: support multiple virtio-rng devices [http://git.kernel.org/linus/08e53fbdb85c0f6f45c0f7c1ea3defc1752a95ce commit]
9. Tracing/perf
Allow probing on some kprobes and ftrace functions [https://git.kernel.org/linus/fbc1963d2c1c4eb4651132a2c5c9d6111ada17d3 commit]
Add tracepoint benchmark tracepoint [http://git.kernel.org/linus/81dc9f0ef21e40114cc895894c7acf3055f6d1fb commit]
- perf
Add conditional branch filter 'cond' to perf record [http://git.kernel.org/linus/0fffa5df4cf3e22be4f40f6698ab9e49f3ffd6fa commit], [http://git.kernel.org/linus/37548914fbfcd56e1955a9b7e55dc3b84a3e9e25 commit], [http://git.kernel.org/linus/3e39db4ae2a92ae9e338e8066411b694b0edcb31 commit]
diff: Add --percentage option [http://git.kernel.org/linus/8810f6ced73556c1a63b6269a6cdad8d630aaaf0 commit]
report: Add --children option [http://git.kernel.org/linus/793aaaabb79803a0154fc6a98c472a29bb6d5cc9 commit], add --percentage option [http://git.kernel.org/linus/f2148330544a697481219b5bc34261f6dd049bfb commit], add -F option to specify output fields [http://git.kernel.org/linus/a7d945bc91602f916d2d0c794c179d9a784859e7 commit], add report.children config option [http://git.kernel.org/linus/8d8e645ceafd726b8317949f899e4b3acfb20d29 commit]
Add dcacheline sort [http://git.kernel.org/linus/9b32ba71ba905b90610fc2aad77cb98a373c5624 commit]
Add hist.percentage config option [http://git.kernel.org/linus/0b93da1756df4fe930ee0220a6addce263a6e0ab commit]
Allow hpp fields to be sort keys [http://git.kernel.org/linus/a2ce067e55e328f1a6fe3dddf77a173381ffdfe1 commit]
top: Add --children option [http://git.kernel.org/linus/1432ec342ece6a7ef78825ae3a9ba1c91686f71d commit], add --fields option to specify output fields [http://git.kernel.org/linus/6fe8c26d7ab9fbd6748fc40ca5fea1e3131e7236 commit], add --percentage option [http://git.kernel.org/linus/33db4568e1f41efe6d0e4695483f968fc1135bf3 commit], add top.children config option [http://git.kernel.org/linus/104ac991bd821773cba6f262f97a4a752ed76dd5 commit]
tui: Add 'F' hotkey to toggle percentage output [http://git.kernel.org/linus/105eb30f18197a217695eac4ddf87526f2cba867 commit]
10. Security
Smack: adds smackfs/ptrace interface [https://git.kernel.org/linus/668678185247303450e60df14569f94cf5775fea commit]
Smack: Verify read access on file open - v3 [https://git.kernel.org/linus/a6834c0b9114c06106efee8e9f2a11fbbb104567 commit]
audit: add netlink multicast socket with one group to kaudit for "best-effort" delivery to read-only userspace clients such as systemd [https://git.kernel.org/linus/451f921639fea4600dfb9ab2889332bdcc7b48d3 commit]
ima: audit log files opened with O_DIRECT flag [https://git.kernel.org/linus/f9b2a735bdddf836214b5dca74f6ca7712e5a08c commit]
11. Crypto
12. Other news sites that track the changes of this release
LWN Merge window, [http://lwn.net/Articles/601152/ part 1], [http://lwn.net/Articles/601726/ part 2] and [http://lwn.net/Articles/602212/ part 3]