45708
Comment:
|
← Revision 28 as of 2017-12-30 01:30:22 ⇥
60998
converted to 1.6 markup
|
Deletions are marked like this. | Additions are marked like this. |
Line 5: | Line 5: |
Linux 4.2 [https://lkml.org/lkml/2015/8/30/96 has been released] on 30 Aug 2015 | Linux 4.2 [[https://lkml.org/lkml/2015/8/30/96|has been released]] on 30 Aug 2015 |
Line 9: | Line 9: |
[[TableOfContents()]] | <<TableOfContents>> |
Line 17: | Line 17: |
Code: [https://git.kernel.org/torvalds/c/a93fe8f8b444499119261914b8870d7f5ac173f8 (merge)] | Code: [[https://git.kernel.org/torvalds/c/a93fe8f8b444499119261914b8870d7f5ac173f8|(merge)]] |
Line 22: | Line 22: |
[http://wiki.libvirt.org/page/Virtio Virtio] drivers are "fake" drivers that are used to make communication between virtualization guests and host faster, because emulating real hardware is complicated and ineficcient. | [[http://wiki.libvirt.org/page/Virtio|Virtio]] drivers are "fake" drivers that are used to make communication between virtualization guests and host faster, because emulating real hardware is complicated and ineficcient. |
Line 26: | Line 26: |
Code: [https://git.kernel.org/torvalds/c/dc5698e80cf724770283e10414054662bdf6ccfa commit] | Code: [[https://git.kernel.org/torvalds/c/dc5698e80cf724770283e10414054662bdf6ccfa|commit]] |
Line 30: | Line 30: |
This release finally completes the atomic modesetting API and enables it by default. For details about the atomic modesetting API and why it is neccesary, read these recommended LWN articles: [https://lwn.net/Articles/653071/ Atomic mode setting design overview, part 1], and [https://lwn.net/Articles/653466/ part 2] Code: [https://git.kernel.org/torvalds/c/8b72ce158cf0dba443e36fc66e0bb29c2580e0b6 commit] |
This release finally completes the atomic modesetting API and enables it by default. For details about the atomic modesetting API and why it is neccesary, read these recommended LWN articles: [[https://lwn.net/Articles/653071/|Atomic mode setting design overview, part 1]], and [[https://lwn.net/Articles/653466/|part 2]] Code: [[https://git.kernel.org/torvalds/c/8b72ce158cf0dba443e36fc66e0bb29c2580e0b6|commit]] |
Line 40: | Line 40: |
For more details, read [https://lwn.net/Articles/635771/ Progress in security module stacking] Code: [https://git.kernel.org/torvalds/c/3c4ed7bdf5997d8020cbb8d4abbef2fcfb9f1284 commit], [https://git.kernel.org/torvalds/c/fe7bb272ee72b5cc377e02b556d0d718d12bbede commit], [https://git.kernel.org/torvalds/c/346033a28fb16b83dac2a74d8025ff8ee64a2c9b commit], [https://git.kernel.org/torvalds/c/f25fce3e8f1f15d6d2a22620ebf98a68a4641f06 commit], [https://git.kernel.org/torvalds/c/e20b043a6902ecb61c2c84355c3bae5149f391db commit], [https://git.kernel.org/torvalds/c/b1d9e6b0646d0e5ee5d9050bd236b6c65d66faef commit], [https://git.kernel.org/torvalds/c/1ddd3b4e07a4be9fe3f1ce2441b01859154f4358 commit] |
For more details, read [[https://lwn.net/Articles/635771/|Progress in security module stacking]] Code: [[https://git.kernel.org/torvalds/c/3c4ed7bdf5997d8020cbb8d4abbef2fcfb9f1284|commit]], [[https://git.kernel.org/torvalds/c/fe7bb272ee72b5cc377e02b556d0d718d12bbede|commit]], [[https://git.kernel.org/torvalds/c/346033a28fb16b83dac2a74d8025ff8ee64a2c9b|commit]], [[https://git.kernel.org/torvalds/c/f25fce3e8f1f15d6d2a22620ebf98a68a4641f06|commit]], [[https://git.kernel.org/torvalds/c/e20b043a6902ecb61c2c84355c3bae5149f391db|commit]], [[https://git.kernel.org/torvalds/c/b1d9e6b0646d0e5ee5d9050bd236b6c65d66faef|commit]], [[https://git.kernel.org/torvalds/c/1ddd3b4e07a4be9fe3f1ce2441b01859154f4358|commit]] |
Line 52: | Line 52: |
For more details, read this LWN article: [https://lwn.net/Articles/590243/ MCS locks and qspinlocks] | For more details, read this LWN article: [[https://lwn.net/Articles/590243/|MCS locks and qspinlocks]] |
Line 55: | Line 55: |
Code: [https://git.kernel.org/torvalds/c/a33fda35e3a7655fb7df756ed67822afb5ed5e8d commit], [https://git.kernel.org/torvalds/c/d73a33973f16ab6703e75ea00edee857afa3406e commit], [https://git.kernel.org/torvalds/c/c1fb159db9f2e50e0f4025bed92a67a6a7bfa7b7 commit], [https://git.kernel.org/torvalds/c/6403bd7d0ea1878a487296114eccf78658d7dd7a commit], [https://git.kernel.org/torvalds/c/69f9cae90907e09af95fb991ed384670cef8dd32 commit], [https://git.kernel.org/torvalds/c/2c83e8e9492dc823be1d96d4c5ef75d16d3866a0 commit], [https://git.kernel.org/torvalds/c/2aa79af64263190eec610422b07f60e99a7d230a commit], [https://git.kernel.org/torvalds/c/a23db284fe0d1879ca2002bf31077b5efa2fe2ca commit], [https://git.kernel.org/torvalds/c/f233f7f1581e78fd9b4023f2e7d8c1ed89020cc9 commit], [https://git.kernel.org/torvalds/c/bf0c7c34adc286bec3a5a38c00c773ba1b2d0396 commit], [https://git.kernel.org/torvalds/c/75d2270280686bff21b9ba66c7f3dd379c887981 commit] | Code: [[https://git.kernel.org/torvalds/c/a33fda35e3a7655fb7df756ed67822afb5ed5e8d|commit]], [[https://git.kernel.org/torvalds/c/d73a33973f16ab6703e75ea00edee857afa3406e|commit]], [[https://git.kernel.org/torvalds/c/c1fb159db9f2e50e0f4025bed92a67a6a7bfa7b7|commit]], [[https://git.kernel.org/torvalds/c/6403bd7d0ea1878a487296114eccf78658d7dd7a|commit]], [[https://git.kernel.org/torvalds/c/69f9cae90907e09af95fb991ed384670cef8dd32|commit]], [[https://git.kernel.org/torvalds/c/2c83e8e9492dc823be1d96d4c5ef75d16d3866a0|commit]], [[https://git.kernel.org/torvalds/c/2aa79af64263190eec610422b07f60e99a7d230a|commit]], [[https://git.kernel.org/torvalds/c/a23db284fe0d1879ca2002bf31077b5efa2fe2ca|commit]], [[https://git.kernel.org/torvalds/c/f233f7f1581e78fd9b4023f2e7d8c1ed89020cc9|commit]], [[https://git.kernel.org/torvalds/c/bf0c7c34adc286bec3a5a38c00c773ba1b2d0396|commit]], [[https://git.kernel.org/torvalds/c/75d2270280686bff21b9ba66c7f3dd379c887981|commit]] |
Line 60: | Line 60: |
The Linux kernel can throttle processes than are trying to write too many pages to the disk ("writeback"). But this control was only global. This release adds support for writeback control of processes inside a cgroup. For more details, read this recommended LWN article: [http://lwn.net/Articles/648292/ Writeback and control groups] Documentation: [https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=3e1534cf4a2a8278e811e7c84a79da1a02347b8b Updates to Documentation/cgroups/blkio-controller.txt] Code: [https://git.kernel.org/torvalds/c/e4bc13adfd016fc1036838170288b5680d1a98b0 (merge)] |
The Linux kernel can throttle processes than are trying to write too many pages to the disk ("writeback"). But this control is global and doesn't allow per-cgroup limits. This release adds support for writeback control of processes inside a cgroup. For more details, read this recommended LWN article: [[http://lwn.net/Articles/648292/|Writeback and control groups]] Documentation: [[https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=3e1534cf4a2a8278e811e7c84a79da1a02347b8b|Updates to Documentation/cgroups/blkio-controller.txt]] Code: [[https://git.kernel.org/torvalds/c/e4bc13adfd016fc1036838170288b5680d1a98b0|(merge)]] |
Line 72: | Line 71: |
Linux added support for the [http://sg.renesas.com/products/mpumcu/h8/h8300/index.jsp H8/300 architecture] in Linux [https://lwn.net/Articles/29489/ 2.5.68]. But it got removed [http://kernelnewbies.org/Linux_3.13-DriversArch#head-822cd1ebdfb3ba567aae68fc49dd9ee2244eeb2f in Linux 3.13] due to lack of maintainance. | Linux added support for the [[http://sg.renesas.com/products/mpumcu/h8/h8300/index.jsp|H8/300 architecture]] in Linux [[https://lwn.net/Articles/29489/|2.5.68]]. But it got removed [[http://kernelnewbies.org/Linux_3.13-DriversArch#head-822cd1ebdfb3ba567aae68fc49dd9ee2244eeb2f|in Linux 3.13]] due to lack of maintainance. |
Line 76: | Line 75: |
Code: [http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/arch/h8300 arch/h8300] | Code: [[http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/arch/h8300|arch/h8300]] |
Line 79: | Line 78: |
All the driver and architecture-specific changes can be found in the [http://kernelnewbies.org/Linux_4.2-DriversArch Linux_4.2-DriversArch] page. | All the driver and architecture-specific changes can be found in the [[http://kernelnewbies.org/Linux_4.2-DriversArch|Linux_4.2-DriversArch]] page. |
Line 81: | Line 80: |
* futex: Implement lockless wakeups. At the lowest level,it can reduce latency of a single thread attempting to acquire hb->lock in highly contended scenarios up to 2x [https://git.kernel.org/torvalds/c/1d0dcb3ad9d336e6d6ee020a750a7f8d907e28de commit] * mqueue: Implement lockless pipelined wakeups [https://git.kernel.org/torvalds/c/fa6004ad4528153b699a4d5ce5ea6b33acce74cc commit] * Allow drivers request for their probe functions to be called asynchronously during driver and device registration (manual binding is still synchronous) [https://git.kernel.org/torvalds/c/765230b5f084863183aa8adb3405ab3f32c0b16e commit], [https://git.kernel.org/torvalds/c/f2411da746985e60d4d087f3a43e271c61785927 commit], [https://git.kernel.org/torvalds/c/d173a137c5bd95ee29d02705e5fa8890ef149718 commit] * printk: implement support for extended console drivers [https://git.kernel.org/torvalds/c/6fe29354befe4c46eb308b662155d4d8017358e1 commit] * rcu: Provide diagnostic option to slow down grace-period scans [https://git.kernel.org/torvalds/c/0f41c0ddadfb3d5baffe62351c380e2881aacd58 commit] |
* futex: Implement lockless wakeups. At the lowest level,it can reduce latency of a single thread attempting to acquire hb->lock in highly contended scenarios up to 2x [[https://git.kernel.org/torvalds/c/1d0dcb3ad9d336e6d6ee020a750a7f8d907e28de|commit]] * mqueue: Implement lockless pipelined wakeups [[https://git.kernel.org/torvalds/c/fa6004ad4528153b699a4d5ce5ea6b33acce74cc|commit]] * Allow drivers request for their probe functions to be called asynchronously during driver and device registration (manual binding is still synchronous) [[https://git.kernel.org/torvalds/c/765230b5f084863183aa8adb3405ab3f32c0b16e|commit]], [[https://git.kernel.org/torvalds/c/f2411da746985e60d4d087f3a43e271c61785927|commit]], [[https://git.kernel.org/torvalds/c/d173a137c5bd95ee29d02705e5fa8890ef149718|commit]] * printk: implement support for extended console drivers [[https://git.kernel.org/torvalds/c/6fe29354befe4c46eb308b662155d4d8017358e1|commit]] * rcu: Provide diagnostic option to slow down grace-period scans [[https://git.kernel.org/torvalds/c/0f41c0ddadfb3d5baffe62351c380e2881aacd58|commit]] |
Line 87: | Line 86: |
* Replace spinlocks with atomics in thread_group_cputimer(), to improve scalability [https://git.kernel.org/torvalds/c/1018016c706f7ff9f56fde3a649789c47085a293 commit] * debug: Add sum_sleep_runtime to /proc/<pid>/sched when CONFIG_SCHEDSTATS is enabled [https://git.kernel.org/torvalds/c/82a0d2762699b95d6ce4114d00dc1865df9b0df3 commit] * debug: Replace vruntime with wait_sum in /proc/sched_debug [https://git.kernel.org/torvalds/c/c5f3ab1c3b2e277cca6462415038dab02b4ad396 commit] * numa: Show numa_group ID in /proc/sched_debug task listings to see how the numa groups have spread across the system [https://git.kernel.org/torvalds/c/e3d24d0a6048a826de5562d75dedb664d3a2a1b2 commit] * Implement lockless wake-queues API [https://git.kernel.org/torvalds/c/7675104990ed255b9315a82ae827ff312a2a88a2 commit] * Export the CPU list that actually got isolated in /sys/devices/system/cpu/isolated. This can be used by system management tools like libvirt, openstack, and others to ensure proper placement of tasks [https://git.kernel.org/torvalds/c/59f30abe94bff50636c8cad45207a01fdcb2ee49 commit] * Export the CPU list running in nohz_full mode in /sys/devices/system/cpu/nohz_full. This can be used by system management tools like libvirt, openstack, and others to ensure proper placement of tasks [https://git.kernel.org/torvalds/c/6570a9a1ce3a1dd227a065fd8ad16778d827b753 commit] * Allow the watchdog to run by default only on the housekeeping cores when nohz_full is in effect; this seems to be a good compromise short of turning it off completely (since the nohz_full cores can't tolerate a watchdog). To provide customizability, a /proc/sys/kernel/watchdog_cpumask file is added so that the set of cores running the watchdog can be tuned to different values after bootup [https://git.kernel.org/torvalds/c/b5242e98c1cb834feb1e84026f09a4796b49eb4d commit], [https://git.kernel.org/torvalds/c/f51c0eaee39e306458d2bf8a30e010615fa451cc commit], [https://git.kernel.org/torvalds/c/fe4ba3c34352b7e8068b7f18eb233444aed17011 commit] * Add an escape sequence to specify the current console's cursor blink interval. The interval is specified as a number of milliseconds until the next cursor display state toggle, from 50 to 65535 [https://git.kernel.org/torvalds/c/bd63364caa8df38bad2b25b11b2a1b849475cce5 commit] |
* Replace spinlocks with atomics in thread_group_cputimer(), to improve scalability [[https://git.kernel.org/torvalds/c/1018016c706f7ff9f56fde3a649789c47085a293|commit]] * debug: Add sum_sleep_runtime to /proc/<pid>/sched when CONFIG_SCHEDSTATS is enabled [[https://git.kernel.org/torvalds/c/82a0d2762699b95d6ce4114d00dc1865df9b0df3|commit]] * debug: Replace vruntime with wait_sum in /proc/sched_debug [[https://git.kernel.org/torvalds/c/c5f3ab1c3b2e277cca6462415038dab02b4ad396|commit]] * numa: Show numa_group ID in /proc/sched_debug task listings to see how the numa groups have spread across the system [[https://git.kernel.org/torvalds/c/e3d24d0a6048a826de5562d75dedb664d3a2a1b2|commit]] * Implement lockless wake-queues API [[https://git.kernel.org/torvalds/c/7675104990ed255b9315a82ae827ff312a2a88a2|commit]] * Export the CPU list that actually got isolated in /sys/devices/system/cpu/isolated. This can be used by system management tools like libvirt, openstack, and others to ensure proper placement of tasks [[https://git.kernel.org/torvalds/c/59f30abe94bff50636c8cad45207a01fdcb2ee49|commit]] * Export the CPU list running in nohz_full mode in /sys/devices/system/cpu/nohz_full. This can be used by system management tools like libvirt, openstack, and others to ensure proper placement of tasks [[https://git.kernel.org/torvalds/c/6570a9a1ce3a1dd227a065fd8ad16778d827b753|commit]] * Allow the watchdog to run by default only on the housekeeping cores when nohz_full is in effect; this seems to be a good compromise short of turning it off completely (since the nohz_full cores can't tolerate a watchdog). To provide customizability, a /proc/sys/kernel/watchdog_cpumask file is added so that the set of cores running the watchdog can be tuned to different values after bootup [[https://git.kernel.org/torvalds/c/b5242e98c1cb834feb1e84026f09a4796b49eb4d|commit]], [[https://git.kernel.org/torvalds/c/f51c0eaee39e306458d2bf8a30e010615fa451cc|commit]], [[https://git.kernel.org/torvalds/c/fe4ba3c34352b7e8068b7f18eb233444aed17011|commit]] * Add an escape sequence to specify the current console's cursor blink interval. The interval is specified as a number of milliseconds until the next cursor display state toggle, from 50 to 65535 [[https://git.kernel.org/torvalds/c/bd63364caa8df38bad2b25b11b2a1b849475cce5|commit]] |
Line 99: | Line 98: |
* Let btree defrag work in SSD mode [https://git.kernel.org/torvalds/c/13028901a4a62096e97a0fc44388ea859587f690 commit] * Allow unprivileged query of the root id of the containing subvolume with the INO_LOOKUP ioctl [https://git.kernel.org/torvalds/c/01b810b889d557257580970e1a7ba9c85b54766b commit] * Show "subvol=" and "subvolid=" in /proc/mounts [https://git.kernel.org/torvalds/c/c8d3fe028f64054d75c72566efb9ecf3c75ee161 commit] |
* Let btree defrag work in SSD mode [[https://git.kernel.org/torvalds/c/13028901a4a62096e97a0fc44388ea859587f690|commit]] * Allow unprivileged query of the root id of the containing subvolume with the INO_LOOKUP ioctl [[https://git.kernel.org/torvalds/c/01b810b889d557257580970e1a7ba9c85b54766b|commit]] * Show "subvol=" and "subvolid=" in /proc/mounts [[https://git.kernel.org/torvalds/c/c8d3fe028f64054d75c72566efb9ecf3c75ee161|commit]] |
Line 104: | Line 103: |
* Allow an open fuse device to be "cloned" with FUSE_DEV_IOC_CLONE ioctl [https://git.kernel.org/torvalds/c/00c570f4ba43ae73b41fa0a2269c3b0ac20386ef commit] | * Allow an open fuse device to be "cloned" with FUSE_DEV_IOC_CLONE ioctl [[https://git.kernel.org/torvalds/c/00c570f4ba43ae73b41fa0a2269c3b0ac20386ef|commit]] |
Line 107: | Line 106: |
* Add (minimal) support for the new protocol dialect, SMB3.1.1 [https://git.kernel.org/torvalds/c/aab1893d5fbeb7c931e97189f54a71ab0ecbf4c7 commit], [https://git.kernel.org/torvalds/c/eed0e1753cbe7a30758ad2ee5e2742dd7fda2c41 commit], [https://git.kernel.org/torvalds/c/ebb3a9d4ba3babd19c83b96fc88fc9b0d2f7d2d6 commit], [https://git.kernel.org/torvalds/c/5f7fbf733c9dd6b58d40fa394313a5949b696f84 commit] * Add reflink copy support (cp --reflink ) over SMB3.11 [https://git.kernel.org/torvalds/c/02b1666544c08e245cb4e2253ed575f8128943d6 commit] * Add ioctl CIFS_IOC_SET_INTEGRITY to set integrity. Set integrity increases reliability of files stored on SMB3 servers [https://git.kernel.org/torvalds/c/b3152e2c7aa9ad0c50085738d048fbf16d01d32d commit] |
* Add (minimal) support for the new protocol dialect, SMB3.1.1 [[https://git.kernel.org/torvalds/c/aab1893d5fbeb7c931e97189f54a71ab0ecbf4c7|commit]], [[https://git.kernel.org/torvalds/c/eed0e1753cbe7a30758ad2ee5e2742dd7fda2c41|commit]], [[https://git.kernel.org/torvalds/c/ebb3a9d4ba3babd19c83b96fc88fc9b0d2f7d2d6|commit]], [[https://git.kernel.org/torvalds/c/5f7fbf733c9dd6b58d40fa394313a5949b696f84|commit]] * Add reflink copy support (cp --reflink ) over SMB3.11 [[https://git.kernel.org/torvalds/c/02b1666544c08e245cb4e2253ed575f8128943d6|commit]] * Add ioctl CIFS_IOC_SET_INTEGRITY to set integrity. Set integrity increases reliability of files stored on SMB3 servers [[https://git.kernel.org/torvalds/c/b3152e2c7aa9ad0c50085738d048fbf16d01d32d|commit]] |
Line 111: | Line 110: |
* Enable cgroup writeback support [https://git.kernel.org/torvalds/c/108dad65be9786650c78ed9aea28c9b4a68810d9 commit] | * Enable cgroup writeback support [[https://git.kernel.org/torvalds/c/108dad65be9786650c78ed9aea28c9b4a68810d9|commit]] |
Line 113: | Line 112: |
* Add support FALLOC_FL_INSERT_RANGE for [http://man7.org/linux/man-pages/man2/fallocate.2.html fallocate(2)], which allows to insert a hole within the file without overwriting any existing data [https://git.kernel.org/torvalds/c/331573febb6a224bc50322e3670da326cb7f4cfc commit] | * Add support FALLOC_FL_INSERT_RANGE for [[http://man7.org/linux/man-pages/man2/fallocate.2.html|fallocate(2)]], which allows to insert a hole within the file without overwriting any existing data [[https://git.kernel.org/torvalds/c/331573febb6a224bc50322e3670da326cb7f4cfc|commit]] |
Line 115: | Line 114: |
* Support FALLOC_FL_ZERO_RANGE in [http://man7.org/linux/man-pages/man2/fallocate.2.html fallocate(2)], which zeroes a part of the file [https://git.kernel.org/torvalds/c/75cd4e098d178433436abce08146a21647bb4585 commit] * Support FALLOC_FL_COLLAPSE_RANGE in [http://man7.org/linux/man-pages/man2/fallocate.2.html fallocate(2)], which removes a range from a file, without leaving a hole [https://git.kernel.org/torvalds/c/b4ace33703243fed56f8bfc80a001533acb9decb commit] * Support FALLOC_FL_INSERT_RANGE in [http://man7.org/linux/man-pages/man2/fallocate.2.html fallocate(2)], which inserts a range in a file without overwritting data [https://git.kernel.org/torvalds/c/f62185d0e283e9d311e3ac1020f159d95f0aab39 commit] * Support RENAME_WHITEOUT in [http://man7.org/linux/man-pages/man2/rename.2.html renameat2(2)], used for for overlay/union filesystem implementations [https://git.kernel.org/torvalds/c/7e01e7ad746bc8198a8b46163ddc73a1c7d22339 commit] * Support encryption of f2fs files and directories [https://git.kernel.org/torvalds/c/fcc85a4d86b5018f08717160c89c0eb50afd1dca commit], [https://git.kernel.org/torvalds/c/0adda907f23df2e19355b58a20f0a7ff76587c6a commit], [https://git.kernel.org/torvalds/c/f424f664f0e8949361d268e2e91c7acc8cf63eb2 commit], [https://git.kernel.org/torvalds/c/4375a33664de17af9032b5f491a49bd256670927 commit], [https://git.kernel.org/torvalds/c/b93531dd7b9b39faace22abde2d5296e87b50499 commit], [https://git.kernel.org/torvalds/c/d33793fb89c2e3576d1f219e58f59365484f475e commit], [https://git.kernel.org/torvalds/c/57e5055b0a5e33267b8be366ee52ce5cdc239bc7 commit], [https://git.kernel.org/torvalds/c/9ea97163c6dad2430e06238acefe7a1d613629cf commit], [https://git.kernel.org/torvalds/c/6e22c691ba0a63ba89f516f0bf1828cf6dce372d commit], [https://git.kernel.org/torvalds/c/d8c6822a0556a88b13c8483599589752cf3e39f7 commit], [https://git.kernel.org/torvalds/c/e7d5545285ededcf73dc7cbb9b7c65d0259f2b44 commit], [https://git.kernel.org/torvalds/c/cbaf042a3cc6c37f9005fd6952cbf2013ab7cc15 commit], [https://git.kernel.org/torvalds/c/cde4de1205770514005663d70a9a7d81cb555085 commit], [https://git.kernel.org/torvalds/c/6b3bd08f93a849edd56595391a54100d607ad7e4 commit] * Add compat_ioctl to provide backward compatability [https://git.kernel.org/torvalds/c/08b95126c787441e4ef572422a5237dd985147be commit] * Add default mount options to remount [https://git.kernel.org/torvalds/c/498c5e9fcd10c89404601b222c1dbcb6e4f10a02 commit] * Recovers a broken superblock with the other valid one [https://git.kernel.org/torvalds/c/da554e48caab95a48afe0d7be8d9eae2bbdaa28d commit] |
* Support FALLOC_FL_ZERO_RANGE in [[http://man7.org/linux/man-pages/man2/fallocate.2.html|fallocate(2)]], which zeroes a part of the file [[https://git.kernel.org/torvalds/c/75cd4e098d178433436abce08146a21647bb4585|commit]] * Support FALLOC_FL_COLLAPSE_RANGE in [[http://man7.org/linux/man-pages/man2/fallocate.2.html|fallocate(2)]], which removes a range from a file, without leaving a hole [[https://git.kernel.org/torvalds/c/b4ace33703243fed56f8bfc80a001533acb9decb|commit]] * Support FALLOC_FL_INSERT_RANGE in [[http://man7.org/linux/man-pages/man2/fallocate.2.html|fallocate(2)]], which inserts a range in a file without overwritting data [[https://git.kernel.org/torvalds/c/f62185d0e283e9d311e3ac1020f159d95f0aab39|commit]] * Support RENAME_WHITEOUT in [[http://man7.org/linux/man-pages/man2/rename.2.html|renameat2(2)]], used for for overlay/union filesystem implementations [[https://git.kernel.org/torvalds/c/7e01e7ad746bc8198a8b46163ddc73a1c7d22339|commit]] * Support encryption of f2fs files and directories [[https://git.kernel.org/torvalds/c/fcc85a4d86b5018f08717160c89c0eb50afd1dca|commit]], [[https://git.kernel.org/torvalds/c/0adda907f23df2e19355b58a20f0a7ff76587c6a|commit]], [[https://git.kernel.org/torvalds/c/f424f664f0e8949361d268e2e91c7acc8cf63eb2|commit]], [[https://git.kernel.org/torvalds/c/4375a33664de17af9032b5f491a49bd256670927|commit]], [[https://git.kernel.org/torvalds/c/b93531dd7b9b39faace22abde2d5296e87b50499|commit]], [[https://git.kernel.org/torvalds/c/d33793fb89c2e3576d1f219e58f59365484f475e|commit]], [[https://git.kernel.org/torvalds/c/57e5055b0a5e33267b8be366ee52ce5cdc239bc7|commit]], [[https://git.kernel.org/torvalds/c/9ea97163c6dad2430e06238acefe7a1d613629cf|commit]], [[https://git.kernel.org/torvalds/c/6e22c691ba0a63ba89f516f0bf1828cf6dce372d|commit]], [[https://git.kernel.org/torvalds/c/d8c6822a0556a88b13c8483599589752cf3e39f7|commit]], [[https://git.kernel.org/torvalds/c/e7d5545285ededcf73dc7cbb9b7c65d0259f2b44|commit]], [[https://git.kernel.org/torvalds/c/cbaf042a3cc6c37f9005fd6952cbf2013ab7cc15|commit]], [[https://git.kernel.org/torvalds/c/cde4de1205770514005663d70a9a7d81cb555085|commit]], [[https://git.kernel.org/torvalds/c/6b3bd08f93a849edd56595391a54100d607ad7e4|commit]] * Add compat_ioctl to provide backward compatability [[https://git.kernel.org/torvalds/c/08b95126c787441e4ef572422a5237dd985147be|commit]] * Add default mount options to remount [[https://git.kernel.org/torvalds/c/498c5e9fcd10c89404601b222c1dbcb6e4f10a02|commit]] * Recovers a broken superblock with the other valid one [[https://git.kernel.org/torvalds/c/da554e48caab95a48afe0d7be8d9eae2bbdaa28d|commit]] |
Line 126: | Line 125: |
* Add DAX support [https://git.kernel.org/torvalds/c/6b698edeeef00c127d73501b386590299f01327a commit], [https://git.kernel.org/torvalds/c/4f69f578a87d39c20b1ff70005a125e4594c3de8 commit], [https://git.kernel.org/torvalds/c/6e1ba0bcb84b3f97616feb07c27f974509ba57be commit], [https://git.kernel.org/torvalds/c/cbe4dab119f211ff6642d617f541087894e99e4f commit] * When the free space is low and it's fragmented, XFS can have problems allocating new "inode chunks", necessary to create new inodes. This release adds EXPERIMENTAL support for a new sparse inode that allows to use small extents, smaller than a "inode chunk", for inode allocation. This feature can be enabled at mkfs time and it will set a incompatible feature flag that will prevent prevent mount from kernels that don't support sparse inodes [https://git.kernel.org/torvalds/c/d4cc540b08e95386777b7e644fb384c2adc0da32 commit], [https://git.kernel.org/torvalds/c/999633d304f2467ae48104ea218b1e8fb0303d40 commit], [https://git.kernel.org/torvalds/c/bfe46d4eb9258cb3340eaf77a07ecc45875b3b17 commit], [https://git.kernel.org/torvalds/c/fb4f2b4e5a82db69e89cb78fb9ef6093543c4b88 commit], [https://git.kernel.org/torvalds/c/066a18845f2a8f3bc0463a5ded44bc3a3ea75ec9 commit], [https://git.kernel.org/torvalds/c/e5376fc15acdd6b03b6d5223391842717148f0d7 commit], [https://git.kernel.org/torvalds/c/502a4e72b8707f3a45fb51f873c2865928db0771 commit], [https://git.kernel.org/torvalds/c/5419040fc0f3afc31c857b4d7f006bd9afbdb462 commit], [https://git.kernel.org/torvalds/c/12d0714d4bdd591d9cd3bce692c831da2c2a0cfc commit], [https://git.kernel.org/torvalds/c/463958af5c92d876fd2fe3c756f18bd0ce70b713 commit], [https://git.kernel.org/torvalds/c/7f43c907ad5afe100772249a79fa8cc9b751b28a commit], [https://git.kernel.org/torvalds/c/4148c347a42a2aba31f6f4d9a31c647c2d475697 commit], [https://git.kernel.org/torvalds/c/56d1115c9bc7853e143f59fb5976cf3de609f657 commit], [https://git.kernel.org/torvalds/c/1cdadee11f8d44b16f8110cf01498bd7c38474d8 commit], [https://git.kernel.org/torvalds/c/26dd5217dee0ecfb95f8015ed8e9deebf8257608 commit], [https://git.kernel.org/torvalds/c/10ae3dc7f221f9080af5f7f5de54925d6bd248d7 commit], [https://git.kernel.org/torvalds/c/09b566041344fcfa9ae3c1b010f364137173894a commit], [https://git.kernel.org/torvalds/c/22ce1e1472fda6ce740cee966bb8e25a3cc662bd commit] |
* Add DAX support [[https://git.kernel.org/torvalds/c/6b698edeeef00c127d73501b386590299f01327a|commit]], [[https://git.kernel.org/torvalds/c/4f69f578a87d39c20b1ff70005a125e4594c3de8|commit]], [[https://git.kernel.org/torvalds/c/6e1ba0bcb84b3f97616feb07c27f974509ba57be|commit]], [[https://git.kernel.org/torvalds/c/cbe4dab119f211ff6642d617f541087894e99e4f|commit]] * When the free space is low and it's fragmented, XFS can have problems allocating new "inode chunks", necessary to create new inodes. This release adds EXPERIMENTAL support for a new sparse inode that allows to use small extents, smaller than a "inode chunk", for inode allocation. This feature can be enabled at mkfs time and it will set a incompatible feature flag that will prevent prevent mount from kernels that don't support sparse inodes [[https://git.kernel.org/torvalds/c/d4cc540b08e95386777b7e644fb384c2adc0da32|commit]], [[https://git.kernel.org/torvalds/c/999633d304f2467ae48104ea218b1e8fb0303d40|commit]], [[https://git.kernel.org/torvalds/c/bfe46d4eb9258cb3340eaf77a07ecc45875b3b17|commit]], [[https://git.kernel.org/torvalds/c/fb4f2b4e5a82db69e89cb78fb9ef6093543c4b88|commit]], [[https://git.kernel.org/torvalds/c/066a18845f2a8f3bc0463a5ded44bc3a3ea75ec9|commit]], [[https://git.kernel.org/torvalds/c/e5376fc15acdd6b03b6d5223391842717148f0d7|commit]], [[https://git.kernel.org/torvalds/c/502a4e72b8707f3a45fb51f873c2865928db0771|commit]], [[https://git.kernel.org/torvalds/c/5419040fc0f3afc31c857b4d7f006bd9afbdb462|commit]], [[https://git.kernel.org/torvalds/c/12d0714d4bdd591d9cd3bce692c831da2c2a0cfc|commit]], [[https://git.kernel.org/torvalds/c/463958af5c92d876fd2fe3c756f18bd0ce70b713|commit]], [[https://git.kernel.org/torvalds/c/7f43c907ad5afe100772249a79fa8cc9b751b28a|commit]], [[https://git.kernel.org/torvalds/c/4148c347a42a2aba31f6f4d9a31c647c2d475697|commit]], [[https://git.kernel.org/torvalds/c/56d1115c9bc7853e143f59fb5976cf3de609f657|commit]], [[https://git.kernel.org/torvalds/c/1cdadee11f8d44b16f8110cf01498bd7c38474d8|commit]], [[https://git.kernel.org/torvalds/c/26dd5217dee0ecfb95f8015ed8e9deebf8257608|commit]], [[https://git.kernel.org/torvalds/c/10ae3dc7f221f9080af5f7f5de54925d6bd248d7|commit]], [[https://git.kernel.org/torvalds/c/09b566041344fcfa9ae3c1b010f364137173894a|commit]], [[https://git.kernel.org/torvalds/c/22ce1e1472fda6ce740cee966bb8e25a3cc662bd|commit]] |
Line 130: | Line 129: |
* Allow distributed filesystems as lower layer [https://git.kernel.org/torvalds/c/7c03b5d45b8eebf0111125053d8fe887cc262ba6 commit] | * Allow distributed filesystems as lower layer [[https://git.kernel.org/torvalds/c/7c03b5d45b8eebf0111125053d8fe887cc262ba6|commit]] |
Line 133: | Line 132: |
* Add support for rename2 and RENAME_EXCHANGE [https://git.kernel.org/torvalds/c/a63b7bbc2175901d79fa36ba734499655c077f0d commit] | * Add support for rename2 and RENAME_EXCHANGE [[https://git.kernel.org/torvalds/c/a63b7bbc2175901d79fa36ba734499655c077f0d|commit]] |
Line 136: | Line 135: |
* NFSv4.2 LAYOUTSTATS functionality for pnfs flexfiles [https://git.kernel.org/torvalds/c/122d328d303afaa06ad530ca0b2e5be3cd50a1a5 (merge)] | * NFSv4.2 LAYOUTSTATS functionality for pnfs flexfiles [[https://git.kernel.org/torvalds/c/122d328d303afaa06ad530ca0b2e5be3cd50a1a5|(merge)]] |
Line 139: | Line 138: |
* Support NFSv2 export [https://git.kernel.org/torvalds/c/f73c2f1f83ca1c4e2f4515f987973bfe56c86973 commit] | * Support NFSv2 export [[https://git.kernel.org/torvalds/c/f73c2f1f83ca1c4e2f4515f987973bfe56c86973|commit]] |
Line 142: | Line 141: |
* Support NFSv2 export [https://git.kernel.org/torvalds/c/92acca45428f28c0b387f85b52b230d526dd0ecc commit] | * Support NFSv2 export [[https://git.kernel.org/torvalds/c/92acca45428f28c0b387f85b52b230d526dd0ecc|commit]] |
Line 145: | Line 144: |
* Count culled objects and objects rejected due to lack of space, and the number of initialised operations, and show them in /proc/fs/fscache/stats [https://git.kernel.org/torvalds/c/03cdd0e4b9a98ae995b81cd8f58e992ec3f44ae2 commit], [https://git.kernel.org/torvalds/c/182d919b84902eece162c63ed3d476c8016b4197 commit] | * Count culled objects and objects rejected due to lack of space, and the number of initialised operations, and show them in /proc/fs/fscache/stats [[https://git.kernel.org/torvalds/c/03cdd0e4b9a98ae995b81cd8f58e992ec3f44ae2|commit]], [[https://git.kernel.org/torvalds/c/182d919b84902eece162c63ed3d476c8016b4197|commit]] |
Line 149: | Line 148: |
* memcg: add per cgroup dirty page accounting, which provides the ability for each memory cgroup to have independent dirty/writeback page statistics which can provide information for per-cgroup direct reclaim or some. The new memcg stat is visible in the per memcg memory.stat cgroupfs file. The new accounting supports future efforts to add per cgroup dirty page throttling and writeback [https://git.kernel.org/torvalds/c/c4843a7593a9df3ff5b1806084cefdfa81dd7c79 commit] * Try to allocate all boot time kernel data structures from mirrored memory to have a recovery path for unrecoverable memory errors encountered during kernel code execution [https://git.kernel.org/torvalds/c/fc6daaf93151877748f8096af6b3fddb147f22d6 commit], [https://git.kernel.org/torvalds/c/a3f5bafcc04aaf62990e0cf3ced1cc6d8dc6fe95 commit], [https://git.kernel.org/torvalds/c/b05b9f5f9dcf593a0e9327676b78e6c17b4218e8 commit] * zswap: Support runtime enable/disable of zswap [https://git.kernel.org/torvalds/c/c00ed16a9eb98a7fc076e227bdd95c1451ca1e6e commit] |
* memcg: add per cgroup dirty page accounting, which provides the ability for each memory cgroup to have independent dirty/writeback page statistics which can provide information for per-cgroup direct reclaim or some. The new memcg stat is visible in the per memcg memory.stat cgroupfs file. The new accounting supports future efforts to add per cgroup dirty page throttling and writeback [[https://git.kernel.org/torvalds/c/c4843a7593a9df3ff5b1806084cefdfa81dd7c79|commit]] * Try to allocate all boot time kernel data structures from mirrored memory to have a recovery path for unrecoverable memory errors encountered during kernel code execution [[https://git.kernel.org/torvalds/c/fc6daaf93151877748f8096af6b3fddb147f22d6|commit]], [[https://git.kernel.org/torvalds/c/a3f5bafcc04aaf62990e0cf3ced1cc6d8dc6fe95|commit]], [[https://git.kernel.org/torvalds/c/b05b9f5f9dcf593a0e9327676b78e6c17b4218e8|commit]] * zswap: Support runtime enable/disable of zswap [[https://git.kernel.org/torvalds/c/c00ed16a9eb98a7fc076e227bdd95c1451ca1e6e|commit]] |
Line 154: | Line 153: |
* The libnvdimm sub-system introduces, in addition to the libnvdimm-core, 4 drivers / enabling modules (common code to all: [https://git.kernel.org/torvalds/c/88793e5c774ec69351ef6b5200bb59f532e41bca (merge)]) | * The libnvdimm sub-system introduces, in addition to the libnvdimm-core, 4 drivers / enabling modules (common code to all: [[https://git.kernel.org/torvalds/c/88793e5c774ec69351ef6b5200bb59f532e41bca|(merge)]]) |
Line 159: | Line 158: |
* Make CFQ default to IOPS mode on SSDs [https://git.kernel.org/torvalds/c/41c0126b3f22ef36b97b3c38b8f29569848a5ce2 commit] * zram: add dynamic device add/remove functionality [https://git.kernel.org/torvalds/c/6566d1a32bf725a4fa9119f16270505451ad01ac commit] * Addition of policy specific data to blkcg for block cgroups [https://git.kernel.org/torvalds/c/e48453c386f39ca9ea29e9df6efef78f56746af0 commit] * Add support for DAX reads/writes to block devices [https://git.kernel.org/torvalds/c/bbab37ddc20bae4709bca8745c128c4f46fe63c5 commit] * UBI: Dynamically allocate minor numbers [https://git.kernel.org/torvalds/c/2bf50d42f3a418153d2964ca0f25655177f36445 commit] |
* Make CFQ default to IOPS mode on SSDs [[https://git.kernel.org/torvalds/c/41c0126b3f22ef36b97b3c38b8f29569848a5ce2|commit]] * zram: add dynamic device add/remove functionality [[https://git.kernel.org/torvalds/c/6566d1a32bf725a4fa9119f16270505451ad01ac|commit]] * Addition of policy specific data to blkcg for block cgroups [[https://git.kernel.org/torvalds/c/e48453c386f39ca9ea29e9df6efef78f56746af0|commit]] * Add support for DAX reads/writes to block devices [[https://git.kernel.org/torvalds/c/bbab37ddc20bae4709bca8745c128c4f46fe63c5|commit]] * UBI: Dynamically allocate minor numbers [[https://git.kernel.org/torvalds/c/2bf50d42f3a418153d2964ca0f25655177f36445|commit]] |
Line 165: | Line 164: |
* dm raid: Add dm-raid access to the MD RAID0 personality to enable single zone striping [https://git.kernel.org/torvalds/c/0cf4503174c12025ac7ea61048cb7c1d4d1ed85c commit] * dm cache: Add fail io mode and needs_check flag: If a cache metadata operation fails (e.g. transaction commit) the cache's metadata device will abort the current transaction, set a new needs_check flag, and the cache will transition to "read-only" mode [https://git.kernel.org/torvalds/c/028ae9f76f2935e8cf9974bff9a4587e3a995ff3 commit] * dm cache: add stochastic-multi-queue (smq) policy, make it default: The stochastic-multi-queue (smq) policy addresses some of the problems with the current multiqueue (mq) policy (memory usage, level balancing, adaptability, performance) [https://git.kernel.org/torvalds/c/66a636356647a9be8885c2ce2948de126577698a commit], [https://git.kernel.org/torvalds/c/bccab6a01afc26f53d91762d78153513cad10b29 commit] * dm stats: add support for request-based DM devices (eg. multipath) [https://git.kernel.org/torvalds/c/e262f34741522e0d821642e5449c6eeb512723fc commit] * dm stats: add option to dm statistics to collect and report a histogram of IO latencies [https://git.kernel.org/torvalds/c/dfcfac3e4cd94abef779297fab6adfd2dbcf52fa commit] * dm stats: Make it possible to use precise timestamps with nanosecond granularity [https://git.kernel.org/torvalds/c/c96aec344de0de857ef3d7fba53992c7ba311e1e commit] * dm thin: range discard support [https://git.kernel.org/torvalds/c/34fbcf6257eb3f39a5b78a4f51b40f881b82033b commit] * rbd: queue_depth map option [https://git.kernel.org/torvalds/c/b55841807fb864eccca0167650a65722fd7cd553 commit] |
* dm raid: Add dm-raid access to the MD RAID0 personality to enable single zone striping [[https://git.kernel.org/torvalds/c/0cf4503174c12025ac7ea61048cb7c1d4d1ed85c|commit]] * dm cache: Add fail io mode and needs_check flag: If a cache metadata operation fails (e.g. transaction commit) the cache's metadata device will abort the current transaction, set a new needs_check flag, and the cache will transition to "read-only" mode [[https://git.kernel.org/torvalds/c/028ae9f76f2935e8cf9974bff9a4587e3a995ff3|commit]] * dm cache: add stochastic-multi-queue (smq) policy, make it default: The stochastic-multi-queue (smq) policy addresses some of the problems with the current multiqueue (mq) policy (memory usage, level balancing, adaptability, performance) [[https://git.kernel.org/torvalds/c/66a636356647a9be8885c2ce2948de126577698a|commit]], [[https://git.kernel.org/torvalds/c/bccab6a01afc26f53d91762d78153513cad10b29|commit]] * dm stats: add support for request-based DM devices (eg. multipath) [[https://git.kernel.org/torvalds/c/e262f34741522e0d821642e5449c6eeb512723fc|commit]] * dm stats: add option to dm statistics to collect and report a histogram of IO latencies [[https://git.kernel.org/torvalds/c/dfcfac3e4cd94abef779297fab6adfd2dbcf52fa|commit]] * dm stats: Make it possible to use precise timestamps with nanosecond granularity [[https://git.kernel.org/torvalds/c/c96aec344de0de857ef3d7fba53992c7ba311e1e|commit]] * dm thin: range discard support [[https://git.kernel.org/torvalds/c/34fbcf6257eb3f39a5b78a4f51b40f881b82033b|commit]] * rbd: queue_depth map option [[https://git.kernel.org/torvalds/c/b55841807fb864eccca0167650a65722fd7cd553|commit]] |
Line 176: | Line 175: |
* Add jitterentropy RNG. The CPU Jitter RNG provides a source of good entropy by collecting CPU executing time jitter. The entropy in the CPU execution time jitter is magnified by the CPU Jitter Random Number Generator [https://git.kernel.org/torvalds/c/bb5530e4082446aac3a3d69780cd4dbfa4520013 commit] * drbg: use Jitter RNG to obtain seed [https://git.kernel.org/torvalds/c/b8ec5ba42c4a3854e27c44e697d9b4f0b84b32bb commit] * rng: Make DRBG the default crypto api RNG [https://git.kernel.org/torvalds/c/401e4238f35c7a21d32bc27370d4d045f7019c20 commit] * New chacha20 cipher. ChaCha20 is a 256-bit high-speed stream cipher [http://cr.yp.to/chacha/chacha-20080128.pdf designed by Daniel J.Bernstein] and further specified in RFC7539 for use in IETF protocols [https://git.kernel.org/torvalds/c/c08d0e647305c3f8f640010a56c9e4bafb9488d3 commit] * Add Poly1305 authenticator algorithm. Poly1305 is an authenticator algorithm designed by Daniel J. Bernstein, it is used for the ChaCha20-Poly1305 AEAD, specified in RFC7539 for use in IETF protocols [https://git.kernel.org/torvalds/c/71ebc4d1b27d345342bdcb32a29c8cc3da8c6654 commit], [https://git.kernel.org/torvalds/c/4db4ad26096c4c1e579f9a957ca7752fe02bf7b4 commit], [https://git.kernel.org/torvalds/c/f979e014c50ce3f7467f133898dbea2243247a91 commit] * rsa: add a new rsa generic implementation [https://git.kernel.org/torvalds/c/cfc2bb32b31371d6bffc6bf2da3548f20ad48c83 commit] * Added support for SEC1 hardware to talitos [https://git.kernel.org/torvalds/c/21590888490ce2a46ff4703b1503f562f4a59571 commit], [https://git.kernel.org/torvalds/c/0635b7db143195281c5a29d272bb836be58af1d4 commit], [https://git.kernel.org/torvalds/c/2d02905ebd22c0271a25e424ab209c8b7067be67 commit], [https://git.kernel.org/torvalds/c/dd3c0987f5426d2df4a0c92de82dac65874bb9a4 commit], [https://git.kernel.org/torvalds/c/7d607c6a71f7a4905831fc2b1636e080533ab2db commit], [https://git.kernel.org/torvalds/c/5b841a65dcae3ac76dc34e56c948c629de48c1a3 commit], [https://git.kernel.org/torvalds/c/90490752eb03ddc1015233034ec26816f0ea0de3 commit], [https://git.kernel.org/torvalds/c/922f9dc8d36651abea51c4f2ff9c08ba4db692ff commit], [https://git.kernel.org/torvalds/c/6f65f6ac5fb36a90ebf9a8d57cc4076b82d5009e commit], [https://git.kernel.org/torvalds/c/04a34d4680e75e9be63204b3a7b51a6abe3ce35a commit] * echainiv: Add Encrypted Chain IV Generator, which generates an IV based on the encryption of a sequence number xored with a salt. This is the default algorithm for CBC [https://git.kernel.org/torvalds/c/a10f554fa7e09ad236cfa0bdabaf6549c0b073a4 commit] * seqiv: Add a new IV generator seqniv which is identical to seqiv except that it skips the IV when authenticating. This is intended to be used by algorithms such as rfc4106 that does the IV authentication implicitly [https://git.kernel.org/torvalds/c/3c08fee7b5ce471a7114478ac8c6e546787bd8c2 commit] |
* Add jitterentropy RNG. The CPU Jitter RNG provides a source of good entropy by collecting CPU executing time jitter. The entropy in the CPU execution time jitter is magnified by the CPU Jitter Random Number Generator [[https://git.kernel.org/torvalds/c/bb5530e4082446aac3a3d69780cd4dbfa4520013|commit]] * drbg: use Jitter RNG to obtain seed [[https://git.kernel.org/torvalds/c/b8ec5ba42c4a3854e27c44e697d9b4f0b84b32bb|commit]] * rng: Make DRBG the default crypto api RNG [[https://git.kernel.org/torvalds/c/401e4238f35c7a21d32bc27370d4d045f7019c20|commit]] * New chacha20 cipher. ChaCha20 is a 256-bit high-speed stream cipher [[http://cr.yp.to/chacha/chacha-20080128.pdf|designed by Daniel J.Bernstein]] and further specified in RFC7539 for use in IETF protocols [[https://git.kernel.org/torvalds/c/c08d0e647305c3f8f640010a56c9e4bafb9488d3|commit]] * Add Poly1305 authenticator algorithm. Poly1305 is an authenticator algorithm designed by Daniel J. Bernstein, it is used for the ChaCha20-Poly1305 AEAD, specified in RFC7539 for use in IETF protocols [[https://git.kernel.org/torvalds/c/71ebc4d1b27d345342bdcb32a29c8cc3da8c6654|commit]], [[https://git.kernel.org/torvalds/c/4db4ad26096c4c1e579f9a957ca7752fe02bf7b4|commit]], [[https://git.kernel.org/torvalds/c/f979e014c50ce3f7467f133898dbea2243247a91|commit]] * rsa: add a new rsa generic implementation [[https://git.kernel.org/torvalds/c/cfc2bb32b31371d6bffc6bf2da3548f20ad48c83|commit]] * Added support for SEC1 hardware to talitos [[https://git.kernel.org/torvalds/c/21590888490ce2a46ff4703b1503f562f4a59571|commit]], [[https://git.kernel.org/torvalds/c/0635b7db143195281c5a29d272bb836be58af1d4|commit]], [[https://git.kernel.org/torvalds/c/2d02905ebd22c0271a25e424ab209c8b7067be67|commit]], [[https://git.kernel.org/torvalds/c/dd3c0987f5426d2df4a0c92de82dac65874bb9a4|commit]], [[https://git.kernel.org/torvalds/c/7d607c6a71f7a4905831fc2b1636e080533ab2db|commit]], [[https://git.kernel.org/torvalds/c/5b841a65dcae3ac76dc34e56c948c629de48c1a3|commit]], [[https://git.kernel.org/torvalds/c/90490752eb03ddc1015233034ec26816f0ea0de3|commit]], [[https://git.kernel.org/torvalds/c/922f9dc8d36651abea51c4f2ff9c08ba4db692ff|commit]], [[https://git.kernel.org/torvalds/c/6f65f6ac5fb36a90ebf9a8d57cc4076b82d5009e|commit]], [[https://git.kernel.org/torvalds/c/04a34d4680e75e9be63204b3a7b51a6abe3ce35a|commit]] * echainiv: Add Encrypted Chain IV Generator, which generates an IV based on the encryption of a sequence number xored with a salt. This is the default algorithm for CBC [[https://git.kernel.org/torvalds/c/a10f554fa7e09ad236cfa0bdabaf6549c0b073a4|commit]] * seqiv: Add a new IV generator seqniv which is identical to seqiv except that it skips the IV when authenticating. This is intended to be used by algorithms such as rfc4106 that does the IV authentication implicitly [[https://git.kernel.org/torvalds/c/3c08fee7b5ce471a7114478ac8c6e546787bd8c2|commit]] |
Line 187: | Line 186: |
* selinux: enable genfscon labeling for sysfs and pstore files [https://git.kernel.org/torvalds/c/8e01472078763ebc1eaea089a1adab75dd982ccd commit] * selinux: enable per-file labeling for debugfs files. [https://git.kernel.org/torvalds/c/134509d54e4e98888be2697a92cb4b48957b792b commit] * Smack: allow multiple labels in onlycap [https://git.kernel.org/torvalds/c/c0d77c884461fc0dec0411e49797dc3f3651c31b commit] * evm: permit the labeling of existing files on pseudo files systems [https://git.kernel.org/torvalds/c/5101a1850bb7ccbf107929dee9af0cd2f400940f commit] * ima: add support for new "euid" policy condition [https://git.kernel.org/torvalds/c/139069eff7388407f19794384c42a534d618ccd7 commit] * ima: extend "mask" policy matching support [https://git.kernel.org/torvalds/c/4351c294b8c1028077280f761e158d167b592974 commit] * ima: update builtin policies [https://git.kernel.org/torvalds/c/24fd03c87695a76f0517df42a37e51b1597d2c8a commit] |
* selinux: enable genfscon labeling for sysfs and pstore files [[https://git.kernel.org/torvalds/c/8e01472078763ebc1eaea089a1adab75dd982ccd|commit]] * selinux: enable per-file labeling for debugfs files. [[https://git.kernel.org/torvalds/c/134509d54e4e98888be2697a92cb4b48957b792b|commit]] * Smack: allow multiple labels in onlycap [[https://git.kernel.org/torvalds/c/c0d77c884461fc0dec0411e49797dc3f3651c31b|commit]] * evm: permit the labeling of existing files on pseudo files systems [[https://git.kernel.org/torvalds/c/5101a1850bb7ccbf107929dee9af0cd2f400940f|commit]] * ima: add support for new "euid" policy condition [[https://git.kernel.org/torvalds/c/139069eff7388407f19794384c42a534d618ccd7|commit]] * ima: extend "mask" policy matching support [[https://git.kernel.org/torvalds/c/4351c294b8c1028077280f761e158d167b592974|commit]] * ima: update builtin policies [[https://git.kernel.org/torvalds/c/24fd03c87695a76f0517df42a37e51b1597d2c8a|commit]] |
Line 197: | Line 196: |
* Allow disabling/enabling events dynamically in 'perf top': a 'perf top' session can instantly become a 'perf report' one, i.e. going from dynamic analysis to a static one, returning to a dynamic one is possible, to toogle the modes, just press 'f' to 'freeze/unfreeze' the sampling [https://git.kernel.org/torvalds/c/5d484f99aed547e235f2229653c95392a1bc3692 commit], [https://git.kernel.org/torvalds/c/fbb7997e308064a0ea26fb5435ee5fa69a588dac commit] * Add Instruction Tracing support (--itrace) [https://git.kernel.org/torvalds/c/0f0aa5e0693ce4000a7657cc47ce4f32b86b91ba commit], [https://git.kernel.org/torvalds/c/e9db1310d95c9d02763643108d51e47d9eb79ac9 commit], [https://git.kernel.org/torvalds/c/7a680eb990b6646ecadf22dca7ded16a33f731b9 commit], [https://git.kernel.org/torvalds/c/520a2ebc2f0bd46b65feb7ca73a9ed65ea1a36bd commit], [https://git.kernel.org/torvalds/c/53c76b0e9ed5ed1f00371160f0be60402acba165 commit] * perf probe: Accept multiple filter options. Each filters are combined by logical-or. E.g. --filter abc* --filter *def is same as --filter abc*|*def [https://git.kernel.org/torvalds/c/96b55e39237b8bc92d8e6b96f896c106f2d39cf6 commit] * perf kmem: Add --live option for current allocation stat [https://git.kernel.org/torvalds/c/2a7ef02c9ca0172cd48945407893f38c2438e754 commit] * perf kmem: Add kmem.default config option to select the default value ('page' or 'slab') [https://git.kernel.org/torvalds/c/0c160d495b5616e071bb4f873812e8f473128149 commit] * perf kmem: Implement stat --page --caller, it shows caller statistics for page [https://git.kernel.org/torvalds/c/c9758cc4569955c6d8ad519adf539848e8824c72 commit] * perf kmem: Add new sort keys for page: page, order, migtype, gfp [https://git.kernel.org/torvalds/c/fb4f313d304b0a5120e870a6cd9ecf90c1023037 commit] * perf probe: allows the user to pass the filter pattern directly to the --funcs option [https://git.kernel.org/torvalds/c/9f7811d08dcf7b3e900cbc0d8384b713a86b034f commit] and --list option [https://git.kernel.org/torvalds/c/b6a896438b3275df434a8f99bee58292b31693bd commit] and --del option [https://git.kernel.org/torvalds/c/307a464b2342a502da492f0ada8cefd6ab7f63a7 commit] * perf record: Add AUX area tracing Snapshot Mode support (--snapshot) [https://git.kernel.org/torvalds/c/2dd6d8a10a942c5fd8950d1046e172237d009c8e commit], [https://git.kernel.org/torvalds/c/d20031bb63dd6dde35feb7845eaf17c620eef120 commit] * perf bench futex: A new benchmark 'wake-parallel' is added to measure parallel waker threads [https://git.kernel.org/torvalds/c/d65817b4e707068c2dd3e002e87c2a0294aabc2c commit] * perf probe: Add --no-inlines option to avoid searching inline functions [https://git.kernel.org/torvalds/c/6cfd1f6805ca0b4a341794d67eb605089435f938 commit] * perf probe: Support $params special probe argument. $params is similar to $vars but matches only function parameters not local variables. Thus, this is useful for tracing function parameter changing or tracing function call with parameters [https://git.kernel.org/torvalds/c/f8bffbf1222a64336a81974fc25fe846656ac53e commit] * perf probe: Support glob wildcards for function name when adding new probes. This will allow us to build caches of function-entry level information with $params [https://git.kernel.org/torvalds/c/4c859351226c920b227fec040a3b447f0d482af3 commit] * perf probe: Add --range option to show a variable's location range [https://git.kernel.org/torvalds/c/349e8d2611316cce11c0b9d0830ebb585c9b82b8 commit] * perf sched: Add option to merge like comms to lat output [https://git.kernel.org/torvalds/c/2f80dd4488c204a4850554746eb31f25f5a84405 commit] * perf record: Add a new branch sampling type support for indirect jumps: perf record -j ind_jmp .......It enables analysis of indirect jumps targets [https://git.kernel.org/torvalds/c/5b68164d6a1fdbe02b30bd777d1f686c6d901f28 commit] * perf tools: Make Ctrl-C stop processing on TUI [https://git.kernel.org/torvalds/c/ed426915900db3c58c410b8b38f6ff0e46bf6c96 commit] * perf annotate: Display total number of samples with --show-total-period [https://git.kernel.org/torvalds/c/0c4a5bcea4609948375173cdea8d73783110a75e commit] * perf probe: Speed up perf probe --list by caching debuginfo [https://git.kernel.org/torvalds/c/7737af010b097f3c1e2aeded21774d58b4aa2698 commit] * perf tools: The time out to limit the individual proc map processing was hard code to 500ms. This patch introduce a new option --proc-map-timeout to make the time limit configurable [https://git.kernel.org/torvalds/c/9d9cad763ca79dd3697e9f2d1df648e37496582b commit] * perf stat: Currently all the -p option PID arguments tasks values get aggregated and printed as single values. Adding --per-tasks option to print values per task [https://git.kernel.org/torvalds/c/32b8af82e3708bc19af75c31fa773a98449f0edc commit] |
* Allow disabling/enabling events dynamically in 'perf top': a 'perf top' session can instantly become a 'perf report' one, i.e. going from dynamic analysis to a static one, returning to a dynamic one is possible, to toogle the modes, just press 'f' to 'freeze/unfreeze' the sampling [[https://git.kernel.org/torvalds/c/5d484f99aed547e235f2229653c95392a1bc3692|commit]], [[https://git.kernel.org/torvalds/c/fbb7997e308064a0ea26fb5435ee5fa69a588dac|commit]] * Add Instruction Tracing support (--itrace) [[https://git.kernel.org/torvalds/c/0f0aa5e0693ce4000a7657cc47ce4f32b86b91ba|commit]], [[https://git.kernel.org/torvalds/c/e9db1310d95c9d02763643108d51e47d9eb79ac9|commit]], [[https://git.kernel.org/torvalds/c/7a680eb990b6646ecadf22dca7ded16a33f731b9|commit]], [[https://git.kernel.org/torvalds/c/520a2ebc2f0bd46b65feb7ca73a9ed65ea1a36bd|commit]], [[https://git.kernel.org/torvalds/c/53c76b0e9ed5ed1f00371160f0be60402acba165|commit]] * perf probe: Accept multiple filter options. Each filters are combined by logical-or. E.g. --filter abc* --filter *def is same as --filter abc*|*def [[https://git.kernel.org/torvalds/c/96b55e39237b8bc92d8e6b96f896c106f2d39cf6|commit]] * perf kmem: Add --live option for current allocation stat [[https://git.kernel.org/torvalds/c/2a7ef02c9ca0172cd48945407893f38c2438e754|commit]] * perf kmem: Add kmem.default config option to select the default value ('page' or 'slab') [[https://git.kernel.org/torvalds/c/0c160d495b5616e071bb4f873812e8f473128149|commit]] * perf kmem: Implement stat --page --caller, it shows caller statistics for page [[https://git.kernel.org/torvalds/c/c9758cc4569955c6d8ad519adf539848e8824c72|commit]] * perf kmem: Add new sort keys for page: page, order, migtype, gfp [[https://git.kernel.org/torvalds/c/fb4f313d304b0a5120e870a6cd9ecf90c1023037|commit]] * perf probe: allows the user to pass the filter pattern directly to the --funcs option [[https://git.kernel.org/torvalds/c/9f7811d08dcf7b3e900cbc0d8384b713a86b034f|commit]] and --list option [[https://git.kernel.org/torvalds/c/b6a896438b3275df434a8f99bee58292b31693bd|commit]] and --del option [[https://git.kernel.org/torvalds/c/307a464b2342a502da492f0ada8cefd6ab7f63a7|commit]] * perf record: Add AUX area tracing Snapshot Mode support (--snapshot) [[https://git.kernel.org/torvalds/c/2dd6d8a10a942c5fd8950d1046e172237d009c8e|commit]], [[https://git.kernel.org/torvalds/c/d20031bb63dd6dde35feb7845eaf17c620eef120|commit]] * perf bench futex: A new benchmark 'wake-parallel' is added to measure parallel waker threads [[https://git.kernel.org/torvalds/c/d65817b4e707068c2dd3e002e87c2a0294aabc2c|commit]] * perf probe: Add --no-inlines option to avoid searching inline functions [[https://git.kernel.org/torvalds/c/6cfd1f6805ca0b4a341794d67eb605089435f938|commit]] * perf probe: Support $params special probe argument. $params is similar to $vars but matches only function parameters not local variables. Thus, this is useful for tracing function parameter changing or tracing function call with parameters [[https://git.kernel.org/torvalds/c/f8bffbf1222a64336a81974fc25fe846656ac53e|commit]] * perf probe: Support glob wildcards for function name when adding new probes. This will allow us to build caches of function-entry level information with $params [[https://git.kernel.org/torvalds/c/4c859351226c920b227fec040a3b447f0d482af3|commit]] * perf probe: Add --range option to show a variable's location range [[https://git.kernel.org/torvalds/c/349e8d2611316cce11c0b9d0830ebb585c9b82b8|commit]] * perf sched: Add option to merge like comms to lat output [[https://git.kernel.org/torvalds/c/2f80dd4488c204a4850554746eb31f25f5a84405|commit]] * perf record: Add a new branch sampling type support for indirect jumps: perf record -j ind_jmp .......It enables analysis of indirect jumps targets [[https://git.kernel.org/torvalds/c/5b68164d6a1fdbe02b30bd777d1f686c6d901f28|commit]] * perf tools: Make Ctrl-C stop processing on TUI [[https://git.kernel.org/torvalds/c/ed426915900db3c58c410b8b38f6ff0e46bf6c96|commit]] * perf annotate: Display total number of samples with --show-total-period [[https://git.kernel.org/torvalds/c/0c4a5bcea4609948375173cdea8d73783110a75e|commit]] * perf probe: Speed up perf probe --list by caching debuginfo [[https://git.kernel.org/torvalds/c/7737af010b097f3c1e2aeded21774d58b4aa2698|commit]] * perf tools: The time out to limit the individual proc map processing was hard code to 500ms. This patch introduce a new option --proc-map-timeout to make the time limit configurable [[https://git.kernel.org/torvalds/c/9d9cad763ca79dd3697e9f2d1df648e37496582b|commit]] * perf stat: Currently all the -p option PID arguments tasks values get aggregated and printed as single values. Adding --per-tasks option to print values per task [[https://git.kernel.org/torvalds/c/32b8af82e3708bc19af75c31fa773a98449f0edc|commit]] |
Line 221: | Line 220: |
* BPF based latency tracing [https://git.kernel.org/torvalds/c/0fb1170ee68a6aa14eca0666e02c4b62cbf1251d commit] * Allow BPF programs access skb->skb_iif and skb->dev->ifindex fields [https://git.kernel.org/torvalds/c/37e82c2f974b72c9ab49c787ef7b5bb1aec12768 commit] * Allow bpf programs to tail-call other bpf programs [https://git.kernel.org/torvalds/c/04fd61ab36ec065e194ab5e74ae34a5240d992bb commit] * Allow programs to write to certain skb fields [https://git.kernel.org/torvalds/c/d691f9e8d4405c334aa10d556e73c8bf44cb0e01 commit] * Disallow bpf tc programs access current->pid,uid [https://git.kernel.org/torvalds/c/89d256bb69f2596c3a31ac51466eac9e1791c388 commit] * tracing: add trace event for memory-failure [https://git.kernel.org/torvalds/c/97f0b13452198290799fd6780f05fbaa74f927d3 commit] |
* BPF based latency tracing [[https://git.kernel.org/torvalds/c/0fb1170ee68a6aa14eca0666e02c4b62cbf1251d|commit]] * Allow BPF programs access skb->skb_iif and skb->dev->ifindex fields [[https://git.kernel.org/torvalds/c/37e82c2f974b72c9ab49c787ef7b5bb1aec12768|commit]] * Allow bpf programs to tail-call other bpf programs [[https://git.kernel.org/torvalds/c/04fd61ab36ec065e194ab5e74ae34a5240d992bb|commit]] * Allow programs to write to certain skb fields [[https://git.kernel.org/torvalds/c/d691f9e8d4405c334aa10d556e73c8bf44cb0e01|commit]] * Disallow bpf tc programs access current->pid,uid [[https://git.kernel.org/torvalds/c/89d256bb69f2596c3a31ac51466eac9e1791c388|commit]] * tracing: add trace event for memory-failure [[https://git.kernel.org/torvalds/c/97f0b13452198290799fd6780f05fbaa74f927d3|commit]] |
Line 231: | Line 230: |
* Implement multiple address spaces [https://git.kernel.org/torvalds/c/f481b069e674378758c73761827e83ab05c46b52 commit] | * Implement multiple address spaces [[https://git.kernel.org/torvalds/c/f481b069e674378758c73761827e83ab05c46b52|commit]] |
Line 234: | Line 233: |
* file copy service: full handshake support [https://git.kernel.org/torvalds/c/a4d1ee5b0255a135fead1d62a7fc7e6fe718b66e commit] * vmbus: Implement NUMA aware CPU affinity for channels [https://git.kernel.org/torvalds/c/1f656ff3fdddc2f59649cc84b633b799908f1f7b commit] * vmbus: Implement the protocol for tearing down vmbus state [https://git.kernel.org/torvalds/c/2db84eff127e3f4b3635edc589cd6a56db8755a3 commit] * vss: full handshake support [https://git.kernel.org/torvalds/c/cd8dc0548511efff7a97d978f989ce67a883f9a5 commit] * Tools: kvp: use misc char device to communicate with kernel [https://git.kernel.org/torvalds/c/8ddca8088586303cfe3db4209a4682f7a4cf7d2d commit], vss: use misc char device to communicate with kernel [https://git.kernel.org/torvalds/c/f5722b9bd418e29b7429bd9a43bd100599b26d4f commit] * user mode linux: Remove hppfs (honeypot procfs) was an attempt to use UML as honeypot. It was never stable nor in heavy use [https://git.kernel.org/torvalds/c/f74a14e870c80d6261afed66d4bad779c1213e03 commit] * vhost: add max_mem_regions module parameter to specify the maximum number of memory regions in memory map (default 64) [https://git.kernel.org/torvalds/c/c9ce42f72fd0ba180fd35539829e4139dca31494 commit] * vhost: allow vhost to support guests with a different byte ordering from host while using legacy virtio [https://git.kernel.org/torvalds/c/2751c9882b947292fcfb084c4f604e01724af804 commit] * vmxnet3: Make the driver understand adapter version 2 [https://git.kernel.org/torvalds/c/45dac1d6ea045ae56e4df8d9c70c92c7412bd4fc commit] * xen: block: add multi-page ring support, so that more requests can be issued by using more than one pages as the request ring between blkfrontand backend. As a result, the performance can get improved significantly. If using 64 pages as the ring, the IOPS increased about 15 times for the throughput testing and above doubled for the latency testing [https://git.kernel.org/torvalds/c/86839c56dee28c315a4c19b7bfee450ccd84cd25 commit] |
* file copy service: full handshake support [[https://git.kernel.org/torvalds/c/a4d1ee5b0255a135fead1d62a7fc7e6fe718b66e|commit]] * vmbus: Implement NUMA aware CPU affinity for channels [[https://git.kernel.org/torvalds/c/1f656ff3fdddc2f59649cc84b633b799908f1f7b|commit]] * vmbus: Implement the protocol for tearing down vmbus state [[https://git.kernel.org/torvalds/c/2db84eff127e3f4b3635edc589cd6a56db8755a3|commit]] * vss: full handshake support [[https://git.kernel.org/torvalds/c/cd8dc0548511efff7a97d978f989ce67a883f9a5|commit]] * Tools: kvp: use misc char device to communicate with kernel [[https://git.kernel.org/torvalds/c/8ddca8088586303cfe3db4209a4682f7a4cf7d2d|commit]], vss: use misc char device to communicate with kernel [[https://git.kernel.org/torvalds/c/f5722b9bd418e29b7429bd9a43bd100599b26d4f|commit]] * user mode linux: Remove hppfs (honeypot procfs) was an attempt to use UML as honeypot. It was never stable nor in heavy use [[https://git.kernel.org/torvalds/c/f74a14e870c80d6261afed66d4bad779c1213e03|commit]] * vhost: add max_mem_regions module parameter to specify the maximum number of memory regions in memory map (default 64) [[https://git.kernel.org/torvalds/c/c9ce42f72fd0ba180fd35539829e4139dca31494|commit]] * vhost: allow vhost to support guests with a different byte ordering from host while using legacy virtio [[https://git.kernel.org/torvalds/c/2751c9882b947292fcfb084c4f604e01724af804|commit]] * vmxnet3: Make the driver understand adapter version 2 [[https://git.kernel.org/torvalds/c/45dac1d6ea045ae56e4df8d9c70c92c7412bd4fc|commit]] * xen: block: add multi-page ring support, so that more requests can be issued by using more than one pages as the request ring between blkfrontand backend. As a result, the performance can get improved significantly. If using 64 pages as the ring, the IOPS increased about 15 times for the throughput testing and above doubled for the latency testing [[https://git.kernel.org/torvalds/c/86839c56dee28c315a4c19b7bfee450ccd84cd25|commit]] |
Line 246: | Line 245: |
* TCP: Add CAIA Delay-Gradient (CDG) congestion control. CDG modifies the TCP sender in order to: -Use the delay gradient as a congestion signal; -Back off with an average probability that is independent of the RTT; - Coexist with flows that use loss-based congestion control, i.e., flows that are unresponsive to the delay signal; Tolerate packet loss unrelated to congestion.(disabled by default. Its FreeBSD implementation [http://www.ietf.org/proceedings/84/iccrg.html was presented for the ICCRG] in July 2012 [https://git.kernel.org/torvalds/c/2b0a8c9eee81882fc0001ccf6d9af62cdc682f9e commit] * Add IP_BIND_ADDRESS_NO_PORT to overcome bind(0) limitations: When an application needs to force a source IP on an active TCP socket it has to use bind(IP, port=x). As most applications do not want to deal with already used ports, x is often set to 0, meaning the kernel is in charge to find an available port. But kernel does not know yet if this socket is going to be a listener or be connected. This patch adds a new SOL_IP socket option, asking kernel to ignore the 0 port provided by application in bind(IP, port=0) and only remember the given IP address. The port will be automatically chosen at connect() time, in a way that allows sharing a source port as long as the 4-tuples are unique [https://git.kernel.org/torvalds/c/90c337da1524863838658078ec34241f45d8394d commit] * Introduce programable flow dissector [https://git.kernel.org/torvalds/c/fbff949e3bc7f3f7d9e8b3ef4855ec7138276a25 commit] * Introduce Flower classifier, which can classify packets based on a configurable combination of packet keys and masks [https://git.kernel.org/torvalds/c/77b9900ef53ae047e36a37d13a2aa33bb2d60641 commit] * TCP: Add rfc3168, section 6.1.1.1. fallback for outgoing ECN connections. In other words, this work adds a retry with a non-ECN setup SYN packet, as suggested from the RFC on the first timeout. For users explicitly not wanting this which can be in DC use case, a net.ipv4.tcp_ecn_fallback knob is added that allows for disabling the fallback [https://git.kernel.org/torvalds/c/492135557dc090a1abb2cfbe1a412757e3ed68ab commit] * switchdev: Add VLAN dump support to switchdev port's bridge_getlink. iproute2 "bridge vlan show" cmd already knows how to show the vlans installed on the bridge and the device , but (until now) no one implemented the port vlan part of the netlink message [https://git.kernel.org/torvalds/c/06baa3d0fb8491b21d579d3220569730c01efacc (merge)] * Add a netdev driver for GENEVE (GEneric NEtwork Virtualization Encapsulation) tunnels. It allows one to create geneve virtual interfaces that provide Layer 2 Networks over Layer 3 Networks. GENEVE is often used to tunnel virtual network infrastructure in virtualized environments. For more information see http://tools.ietf.org/html/draft-gross-geneve-02 [https://git.kernel.org/torvalds/c/59af132bb68860de035388dcb531ac4ef46ccfa5 (merge)] * ieee802154: adds transmission power setting support for IEEE-802.15.4 devices via nl802154 [https://git.kernel.org/torvalds/c/0f999b09f5c1b135e840501840dbcd01fad66f79 commit] * Export the value of the linkdown sysctl to netconf [https://git.kernel.org/torvalds/c/974d7af5fcc295dcf8315255142b2fe44fd74b0c commit] * IPv6: IPv6 flow labels have been an unmitigated disappointment thus far. Support in HW devices to use them for ECMP is lacking, and OSes don't turn them on by default. This release splits the flow label space into two ranges: 0-7ffff is reserved for flow label manager, 80000-fffff will be used for creating auto flow labels (per RFC6438). This should give Linux a path to enabling auto flow labels by default for all IPv6 packets. It can be disabled with sysctl flowlabel_state_ranges [https://git.kernel.org/torvalds/c/82a584b7cd366511a22e37675b029cf2fb58e291 commit] |
* TCP: Add CAIA Delay-Gradient (CDG) congestion control. CDG modifies the TCP sender in order to: -Use the delay gradient as a congestion signal; -Back off with an average probability that is independent of the RTT; - Coexist with flows that use loss-based congestion control, i.e., flows that are unresponsive to the delay signal; Tolerate packet loss unrelated to congestion.(disabled by default. Its FreeBSD implementation [[http://www.ietf.org/proceedings/84/iccrg.html|was presented for the ICCRG]] in July 2012 [[https://git.kernel.org/torvalds/c/2b0a8c9eee81882fc0001ccf6d9af62cdc682f9e|commit]] * Add IP_BIND_ADDRESS_NO_PORT to overcome bind(0) limitations: When an application needs to force a source IP on an active TCP socket it has to use bind(IP, port=x). As most applications do not want to deal with already used ports, x is often set to 0, meaning the kernel is in charge to find an available port. But kernel does not know yet if this socket is going to be a listener or be connected. This patch adds a new SOL_IP socket option, asking kernel to ignore the 0 port provided by application in bind(IP, port=0) and only remember the given IP address. The port will be automatically chosen at connect() time, in a way that allows sharing a source port as long as the 4-tuples are unique [[https://git.kernel.org/torvalds/c/90c337da1524863838658078ec34241f45d8394d|commit]] * Introduce programable flow dissector [[https://git.kernel.org/torvalds/c/fbff949e3bc7f3f7d9e8b3ef4855ec7138276a25|commit]] * Introduce Flower classifier, which can classify packets based on a configurable combination of packet keys and masks [[https://git.kernel.org/torvalds/c/77b9900ef53ae047e36a37d13a2aa33bb2d60641|commit]] * TCP: Add rfc3168, section 6.1.1.1. fallback for outgoing ECN connections. In other words, this work adds a retry with a non-ECN setup SYN packet, as suggested from the RFC on the first timeout. For users explicitly not wanting this which can be in DC use case, a net.ipv4.tcp_ecn_fallback knob is added that allows for disabling the fallback [[https://git.kernel.org/torvalds/c/492135557dc090a1abb2cfbe1a412757e3ed68ab|commit]] * switchdev: Add VLAN dump support to switchdev port's bridge_getlink. iproute2 "bridge vlan show" cmd already knows how to show the vlans installed on the bridge and the device , but (until now) no one implemented the port vlan part of the netlink message [[https://git.kernel.org/torvalds/c/06baa3d0fb8491b21d579d3220569730c01efacc|(merge)]] * Add a netdev driver for GENEVE (GEneric NEtwork Virtualization Encapsulation) tunnels. It allows one to create geneve virtual interfaces that provide Layer 2 Networks over Layer 3 Networks. GENEVE is often used to tunnel virtual network infrastructure in virtualized environments. For more information see http://tools.ietf.org/html/draft-gross-geneve-02 [[https://git.kernel.org/torvalds/c/59af132bb68860de035388dcb531ac4ef46ccfa5|(merge)]] * ieee802154: adds transmission power setting support for IEEE-802.15.4 devices via nl802154 [[https://git.kernel.org/torvalds/c/0f999b09f5c1b135e840501840dbcd01fad66f79|commit]] * Export the value of the linkdown sysctl to netconf [[https://git.kernel.org/torvalds/c/974d7af5fcc295dcf8315255142b2fe44fd74b0c|commit]] * IPv6: IPv6 flow labels have been an unmitigated disappointment thus far. Support in HW devices to use them for ECMP is lacking, and OSes don't turn them on by default. This release splits the flow label space into two ranges: 0-7ffff is reserved for flow label manager, 80000-fffff will be used for creating auto flow labels (per RFC6438). This should give Linux a path to enabling auto flow labels by default for all IPv6 packets. It can be disabled with sysctl flowlabel_state_ranges [[https://git.kernel.org/torvalds/c/82a584b7cd366511a22e37675b029cf2fb58e291|commit]] |
Line 257: | Line 256: |
* Add getsockopt/setsockopt support for SO_RDS_TRANSPORT [https://git.kernel.org/torvalds/c/8ba38460f363e4d26d666aae9bc7fd3afa5f8e43 commit], [https://git.kernel.org/torvalds/c/d97dac54bf83b2a3df85fba37595e355627e0f2b commit] | * Add getsockopt/setsockopt support for SO_RDS_TRANSPORT [[https://git.kernel.org/torvalds/c/8ba38460f363e4d26d666aae9bc7fd3afa5f8e43|commit]], [[https://git.kernel.org/torvalds/c/d97dac54bf83b2a3df85fba37595e355627e0f2b|commit]] |
Line 259: | Line 258: |
* Support SCM_SECURITY for stream sockets [https://git.kernel.org/torvalds/c/37a9a8df8ce9de6ea73349c9ac8bdf6ba4ec4f70 commit] * Implement splice for stream af_unix sockets [https://git.kernel.org/torvalds/c/2b514574f7e88c8498027ee366fd6e7aae5aa4b5 commit] * Implement stream sendpage support [https://git.kernel.org/torvalds/c/869e7c62486ec0e170a9771acaa251d1a33b5871 commit] * IPv4: sysctl option (ignore_routes_with_linkdown) to ignore routes when nexthop link is down [https://git.kernel.org/torvalds/c/0eeb075fad736fb92620af995c47c204bbb5e829 commit] * net scheduler: run ingress qdisc without locks [https://git.kernel.org/torvalds/c/087c1a601ad7f851a2d31f5fa0e5e9dfc766df55 commit] * net scheduler :gred: Add a TCA_GRED_LIMIT attribute to set the GRED queue limit, in bytes, during qdisc setup [https://git.kernel.org/torvalds/c/a3eb95f891d6130b1fc03dd07a8b54cf0a5c8ab8 commit] * Implement extended console support [https://git.kernel.org/torvalds/c/e2f15f9a79201ddd596727b84a85c419ee57ad5c commit] * packet: add rollover statistics [https://git.kernel.org/torvalds/c/a9b6391814d5d6b8668fca2dace86949b7244e2e commit] * vlan: Add GRO support for non hardware accelerated vlan [https://git.kernel.org/torvalds/c/66e5133f19e901a044fa5eaeeb6ecff4545839e5 commit] |
* Support SCM_SECURITY for stream sockets [[https://git.kernel.org/torvalds/c/37a9a8df8ce9de6ea73349c9ac8bdf6ba4ec4f70|commit]] * Implement splice for stream af_unix sockets [[https://git.kernel.org/torvalds/c/2b514574f7e88c8498027ee366fd6e7aae5aa4b5|commit]] * Implement stream sendpage support [[https://git.kernel.org/torvalds/c/869e7c62486ec0e170a9771acaa251d1a33b5871|commit]] * IPv4: sysctl option (ignore_routes_with_linkdown) to ignore routes when nexthop link is down [[https://git.kernel.org/torvalds/c/0eeb075fad736fb92620af995c47c204bbb5e829|commit]] * net scheduler: run ingress qdisc without locks [[https://git.kernel.org/torvalds/c/087c1a601ad7f851a2d31f5fa0e5e9dfc766df55|commit]] * net scheduler :gred: Add a TCA_GRED_LIMIT attribute to set the GRED queue limit, in bytes, during qdisc setup [[https://git.kernel.org/torvalds/c/a3eb95f891d6130b1fc03dd07a8b54cf0a5c8ab8|commit]] * Implement extended console support [[https://git.kernel.org/torvalds/c/e2f15f9a79201ddd596727b84a85c419ee57ad5c|commit]] * packet: add rollover statistics [[https://git.kernel.org/torvalds/c/a9b6391814d5d6b8668fca2dace86949b7244e2e|commit]] * vlan: Add GRO support for non hardware accelerated vlan [[https://git.kernel.org/torvalds/c/66e5133f19e901a044fa5eaeeb6ecff4545839e5|commit]] |
Line 269: | Line 268: |
* Add netfilter ingress hook, this allows to classify packets from ingress using the Netfilter infrastructure [https://git.kernel.org/torvalds/c/e687ad60af09010936bbd0b2a3b5d90a8ee8353c commit] * nf_tables: add netdev table. It allows to create netdev tables that contain ingress chains. It provides access to the existing nf_tables features from the ingress hook [https://git.kernel.org/torvalds/c/ed6c4136f1571bd6ab362afc3410905a8a69ca42 commit] * xt_MARK: Add ARP support [https://git.kernel.org/torvalds/c/12b7ed29bdea2d6dde58f304321d4e8ca453f13c commit] |
* Add netfilter ingress hook, this allows to classify packets from ingress using the Netfilter infrastructure [[https://git.kernel.org/torvalds/c/e687ad60af09010936bbd0b2a3b5d90a8ee8353c|commit]] * nf_tables: add netdev table. It allows to create netdev tables that contain ingress chains. It provides access to the existing nf_tables features from the ingress hook [[https://git.kernel.org/torvalds/c/ed6c4136f1571bd6ab362afc3410905a8a69ca42|commit]] * xt_MARK: Add ARP support [[https://git.kernel.org/torvalds/c/12b7ed29bdea2d6dde58f304321d4e8ca453f13c|commit]] |
Line 273: | Line 272: |
* Add support for dumping information about the current cca ed level [https://git.kernel.org/torvalds/c/e4390592a4fc3ee10a8bc4742197fdbac3935f74 commit] * Add support for dump phy capabilities [https://git.kernel.org/torvalds/c/0e66545701014814360b08a7a43ca652f82b6e5a commit] * Add support to set the cca ed level [https://git.kernel.org/torvalds/c/b69644c1c72e179738dd5c7e52e99d8550189472 commit] |
* Add support for dumping information about the current cca ed level [[https://git.kernel.org/torvalds/c/e4390592a4fc3ee10a8bc4742197fdbac3935f74|commit]] * Add support for dump phy capabilities [[https://git.kernel.org/torvalds/c/0e66545701014814360b08a7a43ca652f82b6e5a|commit]] * Add support to set the cca ed level [[https://git.kernel.org/torvalds/c/b69644c1c72e179738dd5c7e52e99d8550189472|commit]] |
Line 277: | Line 276: |
in the upcall to userspace [https://git.kernel.org/torvalds/c/ccea74457bbdafe33dce8bffcb5cb183aeb5f2bb commit] * pktgen: introduce xmit_mode '<start_xmit|netif_receive>' [https://git.kernel.org/torvalds/c/62f64aed622b6055b5fc447e3e421c9351563fc8 commit], add benchmark script pktgen_bench_xmit_mode_netif_receive.sh [https://git.kernel.org/torvalds/c/05a14d5e17c21817946b6a50140c4a45257ad592 commit], add sample script pktgen_sample01_simple.sh [https://git.kernel.org/torvalds/c/6f09479758be247fef02188a275383ebaddbe291 commit], add sample script pktgen_sample02_multiqueue.sh [https://git.kernel.org/torvalds/c/282fb58947e129dea8badf48972ea89d027a76dc commit], add sample script pktgen_sample03_burst_single_flow.sh [https://git.kernel.org/torvalds/c/1d73ba16ad3975a2eb27e47e52fc215c0c5b8d83 commit], * tipc: add broadcast link window set/get to nl api [https://git.kernel.org/torvalds/c/670f4f8818ee54d0c1831e3165dadd5b8a3f713e commit] * tipc: improve link congestion algorithm [https://git.kernel.org/torvalds/c/f21e897eccb5a236f4191ecc1b4391eda895d6ed commit] |
in the upcall to userspace [[https://git.kernel.org/torvalds/c/ccea74457bbdafe33dce8bffcb5cb183aeb5f2bb|commit]] * pktgen: introduce xmit_mode '<start_xmit|netif_receive>' [[https://git.kernel.org/torvalds/c/62f64aed622b6055b5fc447e3e421c9351563fc8|commit]], add benchmark script pktgen_bench_xmit_mode_netif_receive.sh [[https://git.kernel.org/torvalds/c/05a14d5e17c21817946b6a50140c4a45257ad592|commit]], add sample script pktgen_sample01_simple.sh [[https://git.kernel.org/torvalds/c/6f09479758be247fef02188a275383ebaddbe291|commit]], add sample script pktgen_sample02_multiqueue.sh [[https://git.kernel.org/torvalds/c/282fb58947e129dea8badf48972ea89d027a76dc|commit]], add sample script pktgen_sample03_burst_single_flow.sh [[https://git.kernel.org/torvalds/c/1d73ba16ad3975a2eb27e47e52fc215c0c5b8d83|commit]], * tipc: add broadcast link window set/get to nl api [[https://git.kernel.org/torvalds/c/670f4f8818ee54d0c1831e3165dadd5b8a3f713e|commit]] * tipc: improve link congestion algorithm [[https://git.kernel.org/torvalds/c/f21e897eccb5a236f4191ecc1b4391eda895d6ed|commit]] |
Line 284: | Line 283: |
* Add netlink support for sys prio, actor sys mac, and port key, until now they were only exported via bond's proc entry [https://git.kernel.org/torvalds/c/171a42c38c6e1a5a076d6276e94e55a0b5b7868c commit] * Allow userspace to set actors' macaddr in an AD-system. [https://git.kernel.org/torvalds/c/74514957552edd4661a4608618121f3c71d4e891 commit] * Allow userspace to set actors' system_priority in AD system [https://git.kernel.org/torvalds/c/6791e4661c4bd3e9f193a84247f2c389578a4336 commit] * Implement user key part of port_key in an AD system. [https://git.kernel.org/torvalds/c/d22a5fc0c32edcf5c3bb973ee8c9a2606ba500a8 commit] * bridge: allow setting hash_max + multicast_router if interface is down [https://git.kernel.org/torvalds/c/6ae4ae8e512bd229f806c22f8a2cd751e4f987c2 commit] * Adds an optional ce_threshold to codel & fq_codel qdiscs, so that DCTCP can have feedback from queuing in the host [https://git.kernel.org/torvalds/c/80ba92fa1a92dea128283f69f55b02242e213650 commit] * Add TCPWinProbe and TCPKeepAlive SNMP counters [https://git.kernel.org/torvalds/c/e520af48c7e5acae5f17f82a79ba7ab7cf156f3b commit] |
* Add netlink support for sys prio, actor sys mac, and port key, until now they were only exported via bond's proc entry [[https://git.kernel.org/torvalds/c/171a42c38c6e1a5a076d6276e94e55a0b5b7868c|commit]] * Allow userspace to set actors' macaddr in an AD-system. [[https://git.kernel.org/torvalds/c/74514957552edd4661a4608618121f3c71d4e891|commit]] * Allow userspace to set actors' system_priority in AD system [[https://git.kernel.org/torvalds/c/6791e4661c4bd3e9f193a84247f2c389578a4336|commit]] * Implement user key part of port_key in an AD system. [[https://git.kernel.org/torvalds/c/d22a5fc0c32edcf5c3bb973ee8c9a2606ba500a8|commit]] * bridge: allow setting hash_max + multicast_router if interface is down [[https://git.kernel.org/torvalds/c/6ae4ae8e512bd229f806c22f8a2cd751e4f987c2|commit]] * Adds an optional ce_threshold to codel & fq_codel qdiscs, so that DCTCP can have feedback from queuing in the host [[https://git.kernel.org/torvalds/c/80ba92fa1a92dea128283f69f55b02242e213650|commit]] * Add TCPWinProbe and TCPKeepAlive SNMP counters [[https://git.kernel.org/torvalds/c/e520af48c7e5acae5f17f82a79ba7ab7cf156f3b|commit]] |
Line 294: | Line 293: |
* Add TX fastpath: add a "fast-xmit" cache that will cache the data frame 802.11 header and other data to be able to build the frame more quickly [https://git.kernel.org/torvalds/c/17c18bf880b2464851e5a2bca86521affc46c97e commit], [https://git.kernel.org/torvalds/c/e495c24731a2651fc2c1c7feedc8ba3b31f6b5d4 commit], [https://git.kernel.org/torvalds/c/3ffd884012bb12d3ed64c9fd9a142a62fdcfaf11 commit], [https://git.kernel.org/torvalds/c/725b812c839643639d6135b1f7fb41e48de465a4 commit], [https://git.kernel.org/torvalds/c/2d981fddb0e4a5a4097d926f3b9fd3eaf25867a8 commit], [https://git.kernel.org/torvalds/c/680a0daba74fed0bf30530c9b3e7e706cf29855f commit], [https://git.kernel.org/torvalds/c/80616c0db8a26f030be78fea39f7c880c4263e55 commit] * cfg80211: allow the plink state blocking for user managed mesh [https://git.kernel.org/torvalds/c/4292504044a4fd4c5d9155dcb5c7b09ed6cbf611 commit] |
* Add TX fastpath: add a "fast-xmit" cache that will cache the data frame 802.11 header and other data to be able to build the frame more quickly [[https://git.kernel.org/torvalds/c/17c18bf880b2464851e5a2bca86521affc46c97e|commit]], [[https://git.kernel.org/torvalds/c/e495c24731a2651fc2c1c7feedc8ba3b31f6b5d4|commit]], [[https://git.kernel.org/torvalds/c/3ffd884012bb12d3ed64c9fd9a142a62fdcfaf11|commit]], [[https://git.kernel.org/torvalds/c/725b812c839643639d6135b1f7fb41e48de465a4|commit]], [[https://git.kernel.org/torvalds/c/2d981fddb0e4a5a4097d926f3b9fd3eaf25867a8|commit]], [[https://git.kernel.org/torvalds/c/680a0daba74fed0bf30530c9b3e7e706cf29855f|commit]], [[https://git.kernel.org/torvalds/c/80616c0db8a26f030be78fea39f7c880c4263e55|commit]] * cfg80211: allow the plink state blocking for user managed mesh [[https://git.kernel.org/torvalds/c/4292504044a4fd4c5d9155dcb5c7b09ed6cbf611|commit]] |
Line 298: | Line 297: |
* hci_core/mgmt: Introduce multi-adv list [https://git.kernel.org/torvalds/c/d2609b345ebf0547015a78588c4d7ad68c9ccf26 commit] * mgmt: program multi-adv on power on [https://git.kernel.org/torvalds/c/320b3bf7027b89821030e5e7c5fbd1f6aecb4af0 commit] * NFC: netlink: Implement vendor-specific command support [https://git.kernel.org/torvalds/c/9e58095f9660f88d6a2febe87d5073a6b2e9c399 commit] = List of merges = |
* hci_core/mgmt: Introduce multi-adv list [[https://git.kernel.org/torvalds/c/d2609b345ebf0547015a78588c4d7ad68c9ccf26|commit]] * mgmt: program multi-adv on power on [[https://git.kernel.org/torvalds/c/320b3bf7027b89821030e5e7c5fbd1f6aecb4af0|commit]] * NFC: netlink: Implement vendor-specific command support [[https://git.kernel.org/torvalds/c/9e58095f9660f88d6a2febe87d5073a6b2e9c399|commit]] = List of pull requests = * [[https://git.kernel.org/torvalds/c/052b398a43a7de8c68c13e7fa05d6b3d16ce6801|Pull vfs updates ]] * [[https://git.kernel.org/torvalds/c/fc934d40178ad4e551a17e2733241d9f29fddd70|Pull RCU updates ]] * [[https://git.kernel.org/torvalds/c/1bf7067c6e173dc10411704db48338ed69c05565|Pull locking updates ]] * [[https://git.kernel.org/torvalds/c/c58267e9fa7b0345dd9006939254701e3622ca6a|Pull perf updates ]] * [[https://git.kernel.org/torvalds/c/23b7776290b10297fe2cae0fb5f166a4f2c68121|Pull scheduler updates ]] * [[https://git.kernel.org/torvalds/c/b3ba283d831fed464a1f9c18e7ee82b020ab1a1e|Pull x86 CPU features ]] * [[https://git.kernel.org/torvalds/c/5ef6ca4f24b59af7f7c2c19502a3923a4bc10e0a|Pull x86 debugging documentation updates ]] * [[https://git.kernel.org/torvalds/c/cfe3eceb7a2eb91284d5605c5315249bb165e9d3|Pull x86 EFI updates ]] * [[https://git.kernel.org/torvalds/c/e75c73ad64478c12b3a44b86a3e7f62a4f65b93e|Pull x86 FPU updates ]] * [[https://git.kernel.org/torvalds/c/e2172d8fd500a51a3845bc2294cdf4feaa388dab|Pull x86 kdump updates ]] * [[https://git.kernel.org/torvalds/c/35ffccdb7e014a88c58e3161b36fe8890f5bab7b|Pul x86 microcode updates ]] * [[https://git.kernel.org/torvalds/c/d70b3ef54ceaf1c7c92209f5a662a670d04cbed9|Pull x86 core updates ]] * [[https://git.kernel.org/torvalds/c/43224b96af3154cedd7220f7b90094905f07ac78|Pull timer updates ]] * [[https://git.kernel.org/torvalds/c/3a95398f54cbd664c749fe9f1bfc7e7dbace92d0|Pull NOHZ updates ]] * [[https://git.kernel.org/torvalds/c/407a2c720556e8e340e06f6a7174f5d6d80cf9ea|Pull irq updates ]] * [[https://git.kernel.org/torvalds/c/efdfce2b7ff3205ba0fba10270b92b80bbc6187d|Pull ia64 paravirt removal ]] * [[https://git.kernel.org/torvalds/c/44d21c3f3a2ef2f58b18bda64c52c99e723f3f4a|Pull crypto update ]] * [[https://git.kernel.org/torvalds/c/c70c5fb2b96dae0996fb0877d996458d3ca57eda|Pull pwm updates ]] * [[https://git.kernel.org/torvalds/c/10b4b096d0c7e9f1b5f84c2a0658b2963e1e6ed0|Pull gpio updates ]] * [[https://git.kernel.org/torvalds/c/a57f14bac07f63118d947f53976d7f15c04b062a|Pull MMC updates ]] * [[https://git.kernel.org/torvalds/c/234a56c80a6aa7a05fec05d8b7184354d8765b48|Pull hwmon updates ]] * [[https://git.kernel.org/torvalds/c/d8133356e99713bd023b229de107ddd6dd6d375a|Pull PCI updates ]] * [[https://git.kernel.org/torvalds/c/a394c6a0b361fe7b6ffec0e33e9100db5e777b24|Pull PCMCIA update ]] * [[https://git.kernel.org/torvalds/c/67db8a8086e9b865533348954f5547f1e433101e|Pull HID updates ]] * [[https://git.kernel.org/torvalds/c/0faef837e431b4984652f4a14d2075bed108a04d|Pull livepatching fixes ]] * [[https://git.kernel.org/torvalds/c/cb8a4deaf9b2778653c4391d8ccb24c5ab159f9d|Pull trivial tree updates ]] * [[https://git.kernel.org/torvalds/c/43c9fad942b5afb9e03801c0721d83160fa5b0dd|Pull power management and ACPI updates ]] * [[https://git.kernel.org/torvalds/c/2ad7b44f5dd63a34c8853ce55f7d3d351b2cbd33|Pull clkdev updates ]] * [[https://git.kernel.org/torvalds/c/f9d1b5a31ab02208e29631756630739175cdaa02|Pull rdma updates ]] * [[https://git.kernel.org/torvalds/c/acd53127c4adbd34570b221e7ea1f7fc94aea923|Pull SCSI updates ]] * [[https://git.kernel.org/torvalds/c/5262f25f0983ff6f2c21e3dadcfd0c809e5aa286|Pull HSI updates ]] * [[https://git.kernel.org/torvalds/c/36a1624d8844b6c165daf61649e6b68c02d0835f|Pull power supply and reset updates ]] * [[https://git.kernel.org/torvalds/c/1a13e36a79f25f4cf506258637e96a07ac1451f2|Pull fbdev updates ]] * [[https://git.kernel.org/torvalds/c/e12bdf0d9265a90664a4767f4ffc20af06807278|Pull regmap updates ]] * [[https://git.kernel.org/torvalds/c/5a602e157a9d91d5ce98d07c404097edba8ec9f3|Pull spi updates ]] * [[https://git.kernel.org/torvalds/c/7fe0bf908d4f8f7d134cab280cac64fe65997ac1|Pull regulator updates ]] * [[https://git.kernel.org/torvalds/c/84e9c87e6ffc519fdf91949482a65672a7314c9a|Pull MFD updates ]] * [[https://git.kernel.org/torvalds/c/54245ed870c8cf9ff87fdf78955ffbc93b261e9f|Pull MTD updates ]] * [[https://git.kernel.org/torvalds/c/6eae81a5e2d6646a61146501fd3032a340863c1d|Pull IOMMU updates ]] * [[https://git.kernel.org/torvalds/c/aaa64485267c14e79382fbf7f4b0689a5de94fe9|Pull Microblaze updates ]] * [[https://git.kernel.org/torvalds/c/4b1f2af6752a4cc9acc1c22ddf3842478965f113|Pull s390 updates ]] * [[https://git.kernel.org/torvalds/c/08d183e3c1f650b4db1d07d764502116861542fa|Pull powerpc updates ]] * [[https://git.kernel.org/torvalds/c/4e241557fc1cb560bd9e77ca1b4a9352732a5427|Pull first batch of KVM updates ]] * [[https://git.kernel.org/torvalds/c/e3d8238d7f5c3f539a29f5ac596cd342d847e099|Pull arm64 updates ]] * [[https://git.kernel.org/torvalds/c/a262948335bc5359b82f0ed5ef35f6e82ca44d16|Pull locking updates ]] * [[https://git.kernel.org/torvalds/c/98ec21a01896751b673b6c731ca8881daa8b2c6d|Pull scheduler updates ]] * [[https://git.kernel.org/torvalds/c/e0456717e483bb8a9431b80a5bdc99a928b9b003|Pull networking updates ]] * [[https://git.kernel.org/torvalds/c/d59b92f93df2d545d87d2341eb0705cc926ea22a|Pull backlight updates ]] * [[https://git.kernel.org/torvalds/c/93a4b1b9465d92e8be031b57166afa3d5611e142|Pull pin control updates ]] * [[https://git.kernel.org/torvalds/c/45471cd98decae5fced8b38e46c223f54a924814|Pull EDAC updates ]] * [[https://git.kernel.org/torvalds/c/14738e03312ff1137109d68bcbf103c738af0f4a|Pull input subsystem updates ]] * [[https://git.kernel.org/torvalds/c/1e467e68e51b116e026247d0defc806b462c095e|Pull documentation updates ]] * [[https://git.kernel.org/torvalds/c/a7296b49fb40525a5c42f650617749def3d25bcc|Pull UDF fixes and cleanups ]] * [[https://git.kernel.org/torvalds/c/cfcc0ad47f4cbc19ddd057cfb39b144a3518c59e|Pull f2fs updates ]] * [[https://git.kernel.org/torvalds/c/266da6f14232638b9caafb7facf2a7333895dd05|Pull pstore updates ]] * [[https://git.kernel.org/torvalds/c/aefbef10e3ae6e2c6e3c54f906f10b34c73a2c66|Merge first patchbomb ]] * [[https://git.kernel.org/torvalds/c/55a7d4b85ca1f723d26b8956e8faeff730d0d240|Pull Renesas H8/300 architecture re-introduction ]] * [[https://git.kernel.org/torvalds/c/d857da7b70b3a38a846211b30442aad10ce577bd|Pull ext4 updates ]] * [[https://git.kernel.org/torvalds/c/bfffa1cc9db8a950dd4b1a09999f8a20e69a6652|Pull core block IO update ]] * [[https://git.kernel.org/torvalds/c/6a398a3ef404e661999cd4c58974cbceb52762e3|Pull block driver updates ]] * [[https://git.kernel.org/torvalds/c/e4bc13adfd016fc1036838170288b5680d1a98b0|Pull cgroup writeback support ]] * [[https://git.kernel.org/torvalds/c/6597ac8a514e2085cf19822a5783345c613312a5|Pull device mapper updates ]] * [[https://git.kernel.org/torvalds/c/64e22b86854227b4d13a57fa02f26472bc426812|Pull libata updates ]] * [[https://git.kernel.org/torvalds/c/f7b08217c755e88a29b5bd53b4a1d10cd8b3c5f8|Pull DMI updates ]] * [[https://git.kernel.org/torvalds/c/4570a37169d4b44d316f40b2ccc681dc93fedc7b|Pull sound updates ]] * [[https://git.kernel.org/torvalds/c/0db9723cacf4d62bc3685fb15179b39ee4e17679|Pull thermal management updates ]] * [[https://git.kernel.org/torvalds/c/5b4ca4447757019f11a601b0009534ef84bed801|Pull media updates ]] * [[https://git.kernel.org/torvalds/c/da996f7310eb7fa8d49223936111d3e86b72e2f3|Pull edac updates ]] * [[https://git.kernel.org/torvalds/c/9390bd0d14b4585f7ac2df15ff5f52af182251e1|Pull mailbox updates ]] * [[https://git.kernel.org/torvalds/c/24867481b8c0a3bc3ab53b634e3cc03680ac3ac6|Pull i2c updates ]] * [[https://git.kernel.org/torvalds/c/c13c81006314ad76c2b31824960a900385601b8b|Pull RTC updates ]] * [[https://git.kernel.org/torvalds/c/47a469421d792dcb91a1e73319d26134241953d2|Merge second patchbomb ]] * [[https://git.kernel.org/torvalds/c/c11d716218910c3aa2bac1bb641e6086ad649555|Pull ARM SoC cleanups ]] * [[https://git.kernel.org/torvalds/c/4aa705b18bf17c4ff33ff7bbcd3f0c596443fa81|Pull ARM SoC platform support updates ]] * [[https://git.kernel.org/torvalds/c/3d9f96d850e4bbfae24dc9aee03033dd77c81596|Pull ARM SoC DT updates ]] * [[https://git.kernel.org/torvalds/c/f5dcb68086ba2e033b2af32b0da0c7a7c7872a09|Pull ARM SoC driver updates ]] * [[https://git.kernel.org/torvalds/c/abea9629486cf973369a641e190e739b3010bb03|Pull ARM SoC defconfig updates ]] * [[https://git.kernel.org/torvalds/c/e8a0b37d28ace440776c0a4fe3c65f5832a9a7ee|Pull ARM updates ]] * [[https://git.kernel.org/torvalds/c/099bfbfc7fbbe22356c02f0caf709ac32e1126ea|Pull drm updates ]] * [[https://git.kernel.org/torvalds/c/fcbc1777ce8b5edf831c1eca16c1a63c1e4f39fb|Pull tracing fixes ]] * [[https://git.kernel.org/torvalds/c/e382608254e06c8109f40044f5e693f2e04f3899|Pull tracing updates ]] * [[https://git.kernel.org/torvalds/c/d87823813fe498fdd47894bd28e460a9dee8d771|Pull char/misc driver updates ]] * [[https://git.kernel.org/torvalds/c/8d7804a2f03dbd34940fcb426450c730adf29dae|Pull driver core updates ]] * [[https://git.kernel.org/torvalds/c/23908db413eccd77084b09c9b0a4451dfb0524c0|Pull staging driver updates ]] * [[https://git.kernel.org/torvalds/c/8c7febe83915332276cab49e89f6580bb963fb9a|Pull tty/serial driver updates ]] * [[https://git.kernel.org/torvalds/c/2a298679b41199ae742a77ce69766385dffe816f|Pull USB updates ]] * [[https://git.kernel.org/torvalds/c/bbe179f88d39274630823a0dc07d2714fd19a103|Pull cgroup updates ]] * [[https://git.kernel.org/torvalds/c/e0dd880a545c36bd56489a97bb1d337cb873a9d5|Pull workqueue updates ]] * [[https://git.kernel.org/torvalds/c/546fac60739ef8d7cbf8ce0b8251a519f68b2804|Pull GFS2 updates ]] * [[https://git.kernel.org/torvalds/c/d2c3ac7e7e39ec6d37e4114ae7444948561e59af|Pull nfsd updates ]] * [[https://git.kernel.org/torvalds/c/78c10e556ed904d5bfbd71e9cadd8ce8f25d6982|Pull MIPS updates ]] * [[https://git.kernel.org/torvalds/c/e22619a29fcdb513b7bc020e84225bb3b5914259|Pull security subsystem updates ]] * [[https://git.kernel.org/torvalds/c/4a10a91756ef381bced7b88cfb9232f660b92d93|Pull audit updates ]] * [[https://git.kernel.org/torvalds/c/b779157dd3db6199b50e7ad64678a1ceedbeebcf|Pull VFIO updates ]] * [[https://git.kernel.org/torvalds/c/21dc2e6c6d552702736ad3603fe9b074654d3932|Pull UML updates ]] * [[https://git.kernel.org/torvalds/c/d93a74a91b847b8098ebae749891c6f4fe563da0|Pull kselftest update ]] * [[https://git.kernel.org/torvalds/c/1bc5e157ed2b4f5b206155fc772d860158acd201|Pull dmaengine updates ]] * [[https://git.kernel.org/torvalds/c/88793e5c774ec69351ef6b5200bb59f532e41bca|Pull libnvdimm subsystem ]] * [[https://git.kernel.org/torvalds/c/6aaf0da8728c55ff627619f933ed161cc89057c6|Pull md updates ]] * [[https://git.kernel.org/torvalds/c/43baed34bc6b22fdd433b63ec6738f2d28925b1a|Pull more block layer patches ]] * [[https://git.kernel.org/torvalds/c/043cd04950431f206f784d1ed9b3fcc5993045f2|Pull btrfs updates ]] * [[https://git.kernel.org/torvalds/c/68b4449d79f00dc3cb6ea1f4bf54cf8e453a53c8|Pul xfs updates ]] * [[https://git.kernel.org/torvalds/c/94521ca3dfa6efd4ceb4f6746bf8ead58afb1490|Pull CIFS/SMB3 updates ]] * [[https://git.kernel.org/torvalds/c/0161b6e0d88e04f54ada7112bb2dad1f3ae472af|Pull more s390 updates ]] * [[https://git.kernel.org/torvalds/c/05a8256c586ab75bcd6b793737b2022a1a98cb1e|Pull arch/tile updates ]] * [[https://git.kernel.org/torvalds/c/0890a264794f33df540fbaf274699146903b4e6b|Pull ARC architecture updates ]] * [[https://git.kernel.org/torvalds/c/02201e3f1b46aed7c6348f406b7b40de80ba6de3|Pull module updates ]] * [[https://git.kernel.org/torvalds/c/7adf12b87f45a77d364464018fb8e9e1ac875152|Pull xen updates ]] * [[https://git.kernel.org/torvalds/c/5c3950970b91df6a15db66ec4498bac9b12f4002|Pull power management and ACPI fixes ]] * [[https://git.kernel.org/torvalds/c/2d01eedf1d14432f4db5388a49dc5596a8c5bd02|Merge third patchbomb ]] * [[https://git.kernel.org/torvalds/c/05fde26a943a9c55d8b498d97bb49d3d207e5069|Pull x86 platform driver updates ]] * [[https://git.kernel.org/torvalds/c/13d45f79a2af84de9083310db58b309a61065208|Pull LED subsystem updates ]] * [[https://git.kernel.org/torvalds/c/5f1201d515819e7cfaaac3f0a30ff7b556261386|Pull clock framework updates ]] * [[https://git.kernel.org/torvalds/c/93899e39e86bfc021a190a9c26e8e516561f2756|Pull watchdog updates ]] * [[https://git.kernel.org/torvalds/c/4da3064d1775810f10f7ddc1c34c3f1ff502a654|Pull devicetree updates ]] * [[https://git.kernel.org/torvalds/c/47f92418c7916a71c985444100bfe68aed61e247|Pull __cpuinit removal ]] * [[https://git.kernel.org/torvalds/c/2d4407079c604d70809ab424f79107770e28e80d|Pull module_init replacement part one ]] * [[https://git.kernel.org/torvalds/c/9d90f035310654bff86ccbccd8ccc7e0e313216d|Pull module_init replacement part two ]] * [[https://git.kernel.org/torvalds/c/75462c8a87ec229e6796df5075318d824df31ead|Pull module_platform_driver replacement ]] * [[https://git.kernel.org/torvalds/c/a7ba4bf5e7ff6bfe83e41c748b77b49297c1b5d9|Pull fuse updates ]] * [[https://git.kernel.org/torvalds/c/320cd413faefe2d30f4ee9651efddec5141bc95b|Pull overlayfs updates ]] * [[https://git.kernel.org/torvalds/c/8688d9540cc6e17df4cba71615e27f04e0378fe6|Pull NFS client updates ]] * [[https://git.kernel.org/torvalds/c/0c76c6ba246043bbc5c0f9620a0645ae78217421|Pull Ceph updates ]] * [[https://git.kernel.org/torvalds/c/a95cb3cd55c208372ca68d5e8a9923611fed7235|Pull kconfig updates ]] * [[https://git.kernel.org/torvalds/c/e965b8ce4215ac2b22b23ffc8a8dfbae964b9496|Pull kbuild updates ]] * [[https://git.kernel.org/torvalds/c/9bdc771f2c29a11920f477fba05a58e23ee42554|Pull ACPICA updates ]] * [[https://git.kernel.org/torvalds/c/9a3c284a6dc894af066bbd6238a37996bb156c40|Pull more hwmon updates ]] * [[https://git.kernel.org/torvalds/c/d033ed9eeafc3bf33ce2de286ea2fb2c63e1c183|Pull hwspinlock updates ]] * [[https://git.kernel.org/torvalds/c/2fee94b74b45681a09b1dac54cb615e02b7b30d0|Pull remoteproc updates ]] * [[https://git.kernel.org/torvalds/c/0cbee992696236227a7ea411e4b0fbf73b918b6a|Pull user namespace updates ]] * [[https://git.kernel.org/torvalds/c/5fc835284d45a10a181b5c3f149a701e0391d1b2|Pull virtio/vhost cross endian support ]] * [[https://git.kernel.org/torvalds/c/ec0337e089b21d1d81e23d31807a9b02df11daac|Pull second round of input updates ]] * [[https://git.kernel.org/torvalds/c/91cca0f0ffa3e485ad9d5b44744f23318c8f99ab|Pull max log buf size increase ]] * [[https://git.kernel.org/torvalds/c/6d7c8e1b3a1fae91daaf1bec4df694239c7a430b|Pull NTB updates ]] * [[https://git.kernel.org/torvalds/c/5c755fe142b421d295e7dd64a9833c12abbfd28e|Pull SCSI target updates ]] * [[https://git.kernel.org/torvalds/c/1dc51b8288007753ad7cd7d08bb8fa930fc8bb10|Pull more vfs updates ]] * [[https://git.kernel.org/torvalds/c/a585d2b738bfa26326b3f1f40f0f1eda0c067ccf|Pull late x86 platform driver updates ]] |
Line 306: | Line 443: |
* LWN merge window [https://lwn.net/Articles/648995/ part 1], [https://lwn.net/Articles/649652/ part 2], [https://lwn.net/Articles/650299/ part 3] * Phoronix [http://www.phoronix.com/scan.php?page=article&item=linux-42-features&num=1 New Features Of The Linux 4.2 Kernel] * linuxfr.org: [http://linuxfr.org/news/sortie-du-noyau-linux-4-2 Sortie du noyau Linux 4.2] |
* LWN merge window [[https://lwn.net/Articles/648995/|part 1]], [[https://lwn.net/Articles/649652/|part 2]], [[https://lwn.net/Articles/650299/|part 3]] * Phoronix [[http://www.phoronix.com/scan.php?page=article&item=linux-42-features&num=1|New Features Of The Linux 4.2 Kernel]] * linuxfr.org: [[http://linuxfr.org/news/sortie-du-noyau-linux-4-2|Sortie du noyau Linux 4.2]] |
Linux 4.2 has been released on 30 Aug 2015
Summary: This release adds a new amdgpu driver for modern AMD Radeon hardware, a virtio GPU driver to use the host GPU capabilities inside guests, the new atomic modesetting graphics API has been declared stable, support for stacking of security modules, a faster and more scalable spinlock implementation, cgroup writeback support, and reintroduction of the H8/300 architecture.There are also new drivers and many other small improvements.
Contents
1. Prominent features
1.1. New driver amdgpu for modern AMD Radeon hardware
This release includes the amdgpu driver, a new driver for VI+ AMD asics. It currently supports Tonga, Iceland, and Carrizo and also contains an option to build support for CI parts for testing. All major functionality is supported (displays, gfx, compute, dma, video decode/encode, etc.). Power management is working on Carrizo, but is still being worked on for Tonga and Iceland.
The purpose of this driver is to unify AMD's Linux offerings: the functionality that it's kept as private code in the Catalyst driver will be either ported to this driver or will run as a user-space private blob that uses the new driver.
Code: (merge)
1.2. Add virtio gpu driver
Virtio drivers are "fake" drivers that are used to make communication between virtualization guests and host faster, because emulating real hardware is complicated and ineficcient.
This release adds a virtual GPU driver for virtio. It can be used with QEMU based VMMs (like KVM or Xen). For now it supports kernel-modesetting: The xorg modesetting driver can handle the device just fine, the framebuffer for fbcon is there too. Qemu patches for the host side are under review currently. This initial revision has only 2d support, 3d (virgl) support requires some more work on the qemu side and will be added later.
Code: commit
1.3. Atomic modesetting API enabled by default
This release finally completes the atomic modesetting API and enables it by default. For details about the atomic modesetting API and why it is neccesary, read these recommended LWN articles: Atomic mode setting design overview, part 1, and part 2
Code: commit
1.4. Stacking of security modules
There are several security modules in the Linux kernel, but only one can be used. For a very long time, developers have wanted to be able to be able to use more than one at the same time ("stacking"). This release adds support for stacking of linux security modules
For more details, read Progress in security module stacking
Code: commit, commit, commit, commit, commit, commit, commit
1.5. Queued spinlocks become the default spinlock implementation
This release adds support in the x86 architecture for queue-based spinlocks that can replace the default ticket spinlock without increasing the size of the spinlock data structure.
The queue spinlock has slightly better performance than the ticket spinlock in uncontended case, and its performance can be much better with moderate to heavy contention. It is especially suitable for NUMA machines with at least 2 sockets. Though even at the 2-socket level, there can be significant speedup depending on the workload. It can also improve the performance of an I/O and interrupt intensive stress test with a lot of spinlock contention on a 2-socket system by up to 20%.
For more details, read this LWN article: MCS locks and qspinlocks
Code: commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
1.6. cgroup writeback support
The Linux kernel can throttle processes than are trying to write too many pages to the disk ("writeback"). But this control is global and doesn't allow per-cgroup limits. This release adds support for writeback control of processes inside a cgroup.
For more details, read this recommended LWN article: Writeback and control groups
Documentation: Updates to Documentation/cgroups/blkio-controller.txt
Code: (merge)
1.7. Reintroduction of the H8/300 architecture
Linux added support for the H8/300 architecture in Linux 2.5.68. But it got removed in Linux 3.13 due to lack of maintainance.
In this release, the H8/300 architecture has got support again, and it's being reincorporated to the tree
Code: arch/h8300
2. Drivers and architectures
All the driver and architecture-specific changes can be found in the Linux_4.2-DriversArch page.
3. Core (various)
futex: Implement lockless wakeups. At the lowest level,it can reduce latency of a single thread attempting to acquire hb->lock in highly contended scenarios up to 2x commit
mqueue: Implement lockless pipelined wakeups commit
Allow drivers request for their probe functions to be called asynchronously during driver and device registration (manual binding is still synchronous) commit, commit, commit
printk: implement support for extended console drivers commit
rcu: Provide diagnostic option to slow down grace-period scans commit
- task scheduler
Replace spinlocks with atomics in thread_group_cputimer(), to improve scalability commit
debug: Add sum_sleep_runtime to /proc/<pid>/sched when CONFIG_SCHEDSTATS is enabled commit
debug: Replace vruntime with wait_sum in /proc/sched_debug commit
numa: Show numa_group ID in /proc/sched_debug task listings to see how the numa groups have spread across the system commit
Implement lockless wake-queues API commit
Export the CPU list that actually got isolated in /sys/devices/system/cpu/isolated. This can be used by system management tools like libvirt, openstack, and others to ensure proper placement of tasks commit
Export the CPU list running in nohz_full mode in /sys/devices/system/cpu/nohz_full. This can be used by system management tools like libvirt, openstack, and others to ensure proper placement of tasks commit
* Allow the watchdog to run by default only on the housekeeping cores when nohz_full is in effect; this seems to be a good compromise short of turning it off completely (since the nohz_full cores can't tolerate a watchdog). To provide customizability, a /proc/sys/kernel/watchdog_cpumask file is added so that the set of cores running the watchdog can be tuned to different values after bootup commit, commit, commit
Add an escape sequence to specify the current console's cursor blink interval. The interval is specified as a number of milliseconds until the next cursor display state toggle, from 50 to 65535 commit
4. File systems
- BTRFS
- FUSE
Allow an open fuse device to be "cloned" with FUSE_DEV_IOC_CLONE ioctl commit
- CIFS
- EXT2
Enable cgroup writeback support commit
- EXT4
Add support FALLOC_FL_INSERT_RANGE for fallocate(2), which allows to insert a hole within the file without overwriting any existing data commit
- F2FS
Support FALLOC_FL_ZERO_RANGE in fallocate(2), which zeroes a part of the file commit
Support FALLOC_FL_COLLAPSE_RANGE in fallocate(2), which removes a range from a file, without leaving a hole commit
Support FALLOC_FL_INSERT_RANGE in fallocate(2), which inserts a range in a file without overwritting data commit
Support RENAME_WHITEOUT in renameat2(2), used for for overlay/union filesystem implementations commit
Support encryption of f2fs files and directories commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Add compat_ioctl to provide backward compatability commit
Add default mount options to remount commit
Recovers a broken superblock with the other valid one commit
- XFS
When the free space is low and it's fragmented, XFS can have problems allocating new "inode chunks", necessary to create new inodes. This release adds EXPERIMENTAL support for a new sparse inode that allows to use small extents, smaller than a "inode chunk", for inode allocation. This feature can be enabled at mkfs time and it will set a incompatible feature flag that will prevent prevent mount from kernels that don't support sparse inodes commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
- OVERLAYFS
Allow distributed filesystems as lower layer commit
- GFS2
Add support for rename2 and RENAME_EXCHANGE commit
- NFS
NFSv4.2 LAYOUTSTATS functionality for pnfs flexfiles (merge)
- NILFS2
Support NFSv2 export commit
- UDF
Support NFSv2 export commit
- FS-Cache
5. Memory management
memcg: add per cgroup dirty page accounting, which provides the ability for each memory cgroup to have independent dirty/writeback page statistics which can provide information for per-cgroup direct reclaim or some. The new memcg stat is visible in the per memcg memory.stat cgroupfs file. The new accounting supports future efforts to add per cgroup dirty page throttling and writeback commit
Try to allocate all boot time kernel data structures from mirrored memory to have a recovery path for unrecoverable memory errors encountered during kernel code execution commit, commit, commit
zswap: Support runtime enable/disable of zswap commit
6. Block layer
The libnvdimm sub-system introduces, in addition to the libnvdimm-core, 4 drivers / enabling modules (common code to all: (merge))
- NFIT: Add ACPI NVDIMM Firmware Interface Table (NFIT) support: It adds infrastructure to probe ACPI 6 compliant platforms for NVDIMMs (NFIT) and register a libnvdimm device tree. In addition to storage devices this also enables libnvdimm to pass ACPI._DSM messages for platform/dimm configuration.
- PMEM: Initially merged in v4.1 this driver for contiguous spans of persistent memory address ranges is re-worked to drive PMEM-namespaces emitted by the libnvdimm-core. In this update the PMEM driver, on x86, gains the ability to assert that writes to persistent memory have been flushed all the way through the caches and buffers in the platform to persistent media.
- BLK: This new driver enables access to persistent memory media through "Block Data Windows" as defined by the NFIT. The primary difference of this driver to PMEM is that only a small window of persistent memory is mapped into system address space at any given point in time. Per-NVDIMM windows are reprogrammed at run time, per-I/O, to access different portions of the media. BLK-mode, by definition, does not support DAX
- BTT: This is a library, optionally consumed by either PMEM or BLK, that converts a byte-accessible namespace into a disk with atomic sector update semantics (prevents sector tearing on crash or power loss)
Make CFQ default to IOPS mode on SSDs commit
zram: add dynamic device add/remove functionality commit
Addition of policy specific data to blkcg for block cgroups commit
Add support for DAX reads/writes to block devices commit
UBI: Dynamically allocate minor numbers commit
- Device mapper
dm raid: Add dm-raid access to the MD RAID0 personality to enable single zone striping commit
dm cache: Add fail io mode and needs_check flag: If a cache metadata operation fails (e.g. transaction commit) the cache's metadata device will abort the current transaction, set a new needs_check flag, and the cache will transition to "read-only" mode commit
dm cache: add stochastic-multi-queue (smq) policy, make it default: The stochastic-multi-queue (smq) policy addresses some of the problems with the current multiqueue (mq) policy (memory usage, level balancing, adaptability, performance) commit, commit
dm stats: add support for request-based DM devices (eg. multipath) commit
dm stats: add option to dm statistics to collect and report a histogram of IO latencies commit
dm stats: Make it possible to use precise timestamps with nanosecond granularity commit
dm thin: range discard support commit
rbd: queue_depth map option commit
7. Cryptography
Add jitterentropy RNG. The CPU Jitter RNG provides a source of good entropy by collecting CPU executing time jitter. The entropy in the CPU execution time jitter is magnified by the CPU Jitter Random Number Generator commit
drbg: use Jitter RNG to obtain seed commit
rng: Make DRBG the default crypto api RNG commit
New chacha20 cipher. ChaCha20 is a 256-bit high-speed stream cipher designed by Daniel J.Bernstein and further specified in RFC7539 for use in IETF protocols commit
Add Poly1305 authenticator algorithm. Poly1305 is an authenticator algorithm designed by Daniel J. Bernstein, it is used for the ChaCha20-Poly1305 AEAD, specified in RFC7539 for use in IETF protocols commit, commit, commit
rsa: add a new rsa generic implementation commit
Added support for SEC1 hardware to talitos commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
echainiv: Add Encrypted Chain IV Generator, which generates an IV based on the encryption of a sequence number xored with a salt. This is the default algorithm for CBC commit
seqiv: Add a new IV generator seqniv which is identical to seqiv except that it skips the IV when authenticating. This is intended to be used by algorithms such as rfc4106 that does the IV authentication implicitly commit
8. Security
selinux: enable genfscon labeling for sysfs and pstore files commit
selinux: enable per-file labeling for debugfs files. commit
Smack: allow multiple labels in onlycap commit
evm: permit the labeling of existing files on pseudo files systems commit
ima: add support for new "euid" policy condition commit
ima: extend "mask" policy matching support commit
ima: update builtin policies commit
9. Tracing and perf tool
Allow disabling/enabling events dynamically in 'perf top': a 'perf top' session can instantly become a 'perf report' one, i.e. going from dynamic analysis to a static one, returning to a dynamic one is possible, to toogle the modes, just press 'f' to 'freeze/unfreeze' the sampling commit, commit
Add Instruction Tracing support (--itrace) commit, commit, commit, commit, commit
perf probe: Accept multiple filter options. Each filters are combined by logical-or. E.g. --filter abc* --filter *def is same as --filter abc*|*def commit
perf kmem: Add --live option for current allocation stat commit
perf kmem: Add kmem.default config option to select the default value ('page' or 'slab') commit
perf kmem: Implement stat --page --caller, it shows caller statistics for page commit
perf kmem: Add new sort keys for page: page, order, migtype, gfp commit
perf probe: allows the user to pass the filter pattern directly to the --funcs option commit and --list option commit and --del option commit
perf record: Add AUX area tracing Snapshot Mode support (--snapshot) commit, commit
perf bench futex: A new benchmark 'wake-parallel' is added to measure parallel waker threads commit
perf probe: Add --no-inlines option to avoid searching inline functions commit
perf probe: Support $params special probe argument. $params is similar to $vars but matches only function parameters not local variables. Thus, this is useful for tracing function parameter changing or tracing function call with parameters commit
perf probe: Support glob wildcards for function name when adding new probes. This will allow us to build caches of function-entry level information with $params commit
perf probe: Add --range option to show a variable's location range commit
perf sched: Add option to merge like comms to lat output commit
perf record: Add a new branch sampling type support for indirect jumps: perf record -j ind_jmp .......It enables analysis of indirect jumps targets commit
perf tools: Make Ctrl-C stop processing on TUI commit
perf annotate: Display total number of samples with --show-total-period commit
perf probe: Speed up perf probe --list by caching debuginfo commit
perf tools: The time out to limit the individual proc map processing was hard code to 500ms. This patch introduce a new option --proc-map-timeout to make the time limit configurable commit
perf stat: Currently all the -p option PID arguments tasks values get aggregated and printed as single values. Adding --per-tasks option to print values per task commit
- BPF
tracing: add trace event for memory-failure commit
10. Virtualization
- KVM
Implement multiple address spaces commit
- Hyper-V
file copy service: full handshake support commit
vmbus: Implement NUMA aware CPU affinity for channels commit
vmbus: Implement the protocol for tearing down vmbus state commit
vss: full handshake support commit
Tools: kvp: use misc char device to communicate with kernel commit, vss: use misc char device to communicate with kernel commit
user mode linux: Remove hppfs (honeypot procfs) was an attempt to use UML as honeypot. It was never stable nor in heavy use commit
vhost: add max_mem_regions module parameter to specify the maximum number of memory regions in memory map (default 64) commit
vhost: allow vhost to support guests with a different byte ordering from host while using legacy virtio commit
vmxnet3: Make the driver understand adapter version 2 commit
xen: block: add multi-page ring support, so that more requests can be issued by using more than one pages as the request ring between blkfrontand backend. As a result, the performance can get improved significantly. If using 64 pages as the ring, the IOPS increased about 15 times for the throughput testing and above doubled for the latency testing commit
11. Networking
TCP: Add CAIA Delay-Gradient (CDG) congestion control. CDG modifies the TCP sender in order to: -Use the delay gradient as a congestion signal; -Back off with an average probability that is independent of the RTT; - Coexist with flows that use loss-based congestion control, i.e., flows that are unresponsive to the delay signal; Tolerate packet loss unrelated to congestion.(disabled by default. Its FreeBSD implementation was presented for the ICCRG in July 2012 commit
Add IP_BIND_ADDRESS_NO_PORT to overcome bind(0) limitations: When an application needs to force a source IP on an active TCP socket it has to use bind(IP, port=x). As most applications do not want to deal with already used ports, x is often set to 0, meaning the kernel is in charge to find an available port. But kernel does not know yet if this socket is going to be a listener or be connected. This patch adds a new SOL_IP socket option, asking kernel to ignore the 0 port provided by application in bind(IP, port=0) and only remember the given IP address. The port will be automatically chosen at connect() time, in a way that allows sharing a source port as long as the 4-tuples are unique commit
Introduce programable flow dissector commit
Introduce Flower classifier, which can classify packets based on a configurable combination of packet keys and masks commit
TCP: Add rfc3168, section 6.1.1.1. fallback for outgoing ECN connections. In other words, this work adds a retry with a non-ECN setup SYN packet, as suggested from the RFC on the first timeout. For users explicitly not wanting this which can be in DC use case, a net.ipv4.tcp_ecn_fallback knob is added that allows for disabling the fallback commit
switchdev: Add VLAN dump support to switchdev port's bridge_getlink. iproute2 "bridge vlan show" cmd already knows how to show the vlans installed on the bridge and the device , but (until now) no one implemented the port vlan part of the netlink message (merge)
Add a netdev driver for GENEVE (GEneric NEtwork Virtualization Encapsulation) tunnels. It allows one to create geneve virtual interfaces that provide Layer 2 Networks over Layer 3 Networks. GENEVE is often used to tunnel virtual network infrastructure in virtualized environments. For more information see http://tools.ietf.org/html/draft-gross-geneve-02 (merge)
ieee802154: adds transmission power setting support for IEEE-802.15.4 devices via nl802154 commit
Export the value of the linkdown sysctl to netconf commit
IPv6: IPv6 flow labels have been an unmitigated disappointment thus far. Support in HW devices to use them for ECMP is lacking, and OSes don't turn them on by default. This release splits the flow label space into two ranges: 0-7ffff is reserved for flow label manager, 80000-fffff will be used for creating auto flow labels (per RFC6438). This should give Linux a path to enabling auto flow labels by default for all IPv6 packets. It can be disabled with sysctl flowlabel_state_ranges commit
- RDS
- unix sockets
IPv4: sysctl option (ignore_routes_with_linkdown) to ignore routes when nexthop link is down commit
net scheduler: run ingress qdisc without locks commit
net scheduler :gred: Add a TCA_GRED_LIMIT attribute to set the GRED queue limit, in bytes, during qdisc setup commit
Implement extended console support commit
packet: add rollover statistics commit
vlan: Add GRO support for non hardware accelerated vlan commit
- netfilter
Add netfilter ingress hook, this allows to classify packets from ingress using the Netfilter infrastructure commit
nf_tables: add netdev table. It allows to create netdev tables that contain ingress chains. It provides access to the existing nf_tables features from the ingress hook commit
xt_MARK: Add ARP support commit
- nl802154
- openvswitch: If new optional attribute OVS_USERSPACE_ATTR_ACTIONS is added to an OVS_ACTION_ATTR_USERSPACE action, then include the datapath actions
in the upcall to userspace commit
pktgen: introduce xmit_mode '<start_xmit|netif_receive>' commit, add benchmark script pktgen_bench_xmit_mode_netif_receive.sh commit, add sample script pktgen_sample01_simple.sh commit, add sample script pktgen_sample02_multiqueue.sh commit, add sample script pktgen_sample03_burst_single_flow.sh commit,
tipc: add broadcast link window set/get to nl api commit
tipc: improve link congestion algorithm commit
- bonding
Add netlink support for sys prio, actor sys mac, and port key, until now they were only exported via bond's proc entry commit
Allow userspace to set actors' macaddr in an AD-system. commit
Allow userspace to set actors' system_priority in AD system commit
Implement user key part of port_key in an AD system. commit
bridge: allow setting hash_max + multicast_router if interface is down commit
Adds an optional ce_threshold to codel & fq_codel qdiscs, so that DCTCP can have feedback from queuing in the host commit
Add TCPWinProbe and TCPKeepAlive SNMP counters commit
- wireless
- Bluetooth
NFC: netlink: Implement vendor-specific command support commit
12. List of pull requests
13. Other news sites
Phoronix New Features Of The Linux 4.2 Kernel
linuxfr.org: Sortie du noyau Linux 4.2