KernelNewbies
  • Comments
  • Immutable Page
  • Menu
    • Navigation
    • RecentChanges
    • FindPage
    • Local Site Map
    • Help
    • HelpContents
    • HelpOnMoinWikiSyntax
    • Display
    • Attachments
    • Info
    • Raw Text
    • Print View
    • Edit
    • Load
    • Save
  • Login

Kernel Hacking

  • Frontpage

  • Kernel Hacking

  • Kernel Documentation

  • Kernel Glossary

  • FAQ

  • Found a bug?

  • Kernel Changelog

  • Upstream Merge Guide

Projects

  • KernelJanitors

  • KernelMentors

  • KernelProjects

Community

  • Why a community?

  • Regional Kernelnewbies

  • Personal Pages

  • Upcoming Events

References

  • Mailing Lists

  • Related Sites

  • Programming Links

Wiki

  • Recent Changes

  • Site Editors

  • Side Bar

  • Tips for Editors

  • Hosted by WikiWall

Navigation

  • RecentChanges
  • FindPage
  • HelpContents
Revision 7 as of 2016-01-06 18:42:53
KernelNewbies:
  • Linux_4.4

Summary: Linux 4.4 has not been released

1. Prominent features

2. Drivers and architectures

  • All the driver and architecture-specific changes can be found in the [http://kernelnewbies.org/Linux_4.4-DriversArch Linux_4.4-DriversArch] page

3. Core (various)

4. File systems

  • XFS
    • Add per-filesystem stats in /sys/fs/xfs/<block>/stats/stats, and a stats_clear file to clear them. Also, the global stats that are currently present in /proc are duplicated in /sys/fs/xfs/stats/stats (along with a stats_clear file) [https://git.kernel.org/torvalds/c/bb230c124730f21eea13deab433f9f8fc96bd5f3 commit], [https://git.kernel.org/torvalds/c/225e4635580ce9fb12f8a2dc88473161cd64dbf6 commit], [https://git.kernel.org/torvalds/c/ff6d6af2351caea7db681f4539d0d893e400557a commit]

  • CIFS
    • Allow duplicate extents (cp --reflink) in SMB3.0 not just SMB3.1.1 [https://git.kernel.org/torvalds/c/ca9e7a1c85594f61d7ffb414071e6cae82eae23a commit]

    • Add resilienthandles mount parameter. Since many servers (Windows clients, and non-clustered servers) do not support persistent handles but do support resilient handles, allow the user to specify a mount option "resilienthandles" in order to get more reliable connections and less chance of data loss (at least when SMB2.1 or later). Default resilient handle timeout (120 seconds to recent Windows server) is used [https://git.kernel.org/torvalds/c/592fafe644bf3a48b9e00e182a67d301493634fc commit]

    • Add support for persistent handles, which are like durable file handles with strong guarantees [https://git.kernel.org/torvalds/c/b2a3077414fd6ff1de8972ea55e91f27bcabd913 commit], [https://git.kernel.org/torvalds/c/f16dfa7cd1b588e5d7ef4b5a19ee579f11b7a41f commit], [https://git.kernel.org/torvalds/c/b618f001a20e44f691dd0e2ffea651a40a651871 commit]

    • Allow copy offload (copychunk) across shares [https://git.kernel.org/torvalds/c/7b52e2793a58af61b5d349c2c080437a437a4edb commit]

5. Memory management

6. Block layer

  • Add Persistent Reservations support. It includes a user space interface for simplified Persistent Reservations which map to block devices that support these (only SCSI for now). Persistent Reservations allow restricting access to block devices to specific initiators in a shared storage setup [https://git.kernel.org/torvalds/c/bbd3e064362e5057cc4799ba2e4d68c7593e490b commit], [https://git.kernel.org/torvalds/c/924d55b06347d813b38c51e75ce1a6666c113933 commit], [https://git.kernel.org/torvalds/c/71cdb6978a80f9f6c51bef0622388c1414c2fe32 commit]

  • Add support for polling for specific IO to complete. This will be combined with request latency tracking later, so that the kernel can make qualified decisions about when to poll and when not to. For now, for benchmark purposes, a sysfs file (io_poll) is added to control whether polling is enabled or not [https://git.kernel.org/torvalds/c/05229beeddf7e75e2e616ddaad4b70e7fca9528d commit]

  • Export integrity data interval size in /sys/block/<disk>/integrity/protection_interval_bytes, so that apps can tell whether the interval is different from the device's logical block size [https://git.kernel.org/torvalds/c/4c241d08dbfcbdc7a949b91d72707a289d464954 commit]

7. Cryptography

8. Security

9. Tracing and perf tool

  • Integration of perf with eBPF that, given an eBPF .c source file (or .o file built for the 'bpf' target with clang), will get it automatically built, validated and loaded into the kernel via the sys_bpf syscall, which can then be used and seen using 'perf trace' and other tools. Users can run commands like perf record --event bpf-file.c ls to try it [https://git.kernel.org/torvalds/c/69d262a93a25cf475012ea2e00aeb29f4932c028 commit], [https://git.kernel.org/torvalds/c/84c86ca12b2189df751eed7b2d67cb63bc8feda5 commit], [https://git.kernel.org/torvalds/c/ed63f34c026e9a60d17fa750ecdfe3f600d49393 commit], [https://git.kernel.org/torvalds/c/1f45b1d49073541947193bd7dac9e904142576aa commit], [https://git.kernel.org/torvalds/c/4edf30e39e6cff32390eaff6a1508969b3cd967b commit], [https://git.kernel.org/torvalds/c/71dc2326252ff1bcdddc05db03c0f831d16c9447 commit], [https://git.kernel.org/torvalds/c/d509db0473e40134286271b1d1adadccf42ac467 commit], [https://git.kernel.org/torvalds/c/aa3abf30bb28addcf593578d37447d42e3f65fc3 commit], [https://git.kernel.org/torvalds/c/1e5e3ee8ff3877db6943032b54a6ac21c095affd commit], [https://git.kernel.org/torvalds/c/ba1fae431e74bb427a699187434142fd3fe98390 commit]

  • Add a new branch type sampling filter to perf record, named 'call' (perf record -j call -e cycles .....), that samples only call branches (function calls), unlike 'any_call' that included direct, indirect calls and far jumps. Only x86 and PowerPC are supported in this release [https://git.kernel.org/torvalds/c/43e41adc9e8c36545888d78fed2ef8d102a938dc commit], [https://git.kernel.org/torvalds/c/c229bf9dc179d2023e185c0f705bdf68484c1e73 commit]

  • Add Intel cstate (aka idle states) Performance Monitoring Unit support. This allows perf to support cstate related free running (read-only and system-wide) counters. For example, to caculate the fraction of time when the core is running in C6 state: perf stat -x, -e"cstate_core/c6-residency/,msr/tsc/" -C0 -- taskset -c 0 sleep 5 [https://git.kernel.org/torvalds/c/7ce1346a6842550a3c4c453cdf1c7b81fb60b07e commit]

  • CPU socket filtering: perf tools introduce a new sort type "socket" for the processor socket, eg. perf report --stdio --sort socket,comm,dso,symbol [https://git.kernel.org/torvalds/c/2e7ea3ab8282f6bb1d211d8af760a734c055f493 commit]. Also, perf report introduces a --socket-filter option for 'perf report' to only show entries for a processor socket that match this filter [https://git.kernel.org/torvalds/c/21394d948a0c7c451d4a4d68afed9a06c4969636 commit]. perf hists browser can zoom in/out for processor socket [https://git.kernel.org/torvalds/c/84734b06b63093cd44533f4caa43d4452fb11ec3 commit]

  • perf tools: Introduce 'P' modifier, it will cause the event to get maximum possible detected precise level. For example, perf record -e cycles:P ... will detect maximum precise level for 'cycles' event and use it [https://git.kernel.org/torvalds/c/7f94af7a489fada17d28cc60e8f4409ce216bd6d commit]

  • perf tools: Add support for sorting on the iaddr. New sort option is: symbol_iaddr, header label is 'Code Symbol', eg perf mem report --stdio -F +symbol_iaddr [https://git.kernel.org/torvalds/c/28e6db205b3ed3f1d86a00c69b3304190377da5f commit]

  • perf tools: enables config terms for tracepoint perf events. Valid terms for tracepoint events are 'call-graph' and 'stack-size', so different callgraph settings can be used for each event and eliminate unnecessary overhead. An example for using different call-graph config for each tracepoint: perf record -e syscalls:sys_enter_write/call-graph=fp -e syscalls:sys_exit_write/call-graph=no dd if=/dev/zero of=test bs=4k count=10 [https://git.kernel.org/torvalds/c/e637d17757a10732fa5d573c18f20b3cd4d31245 commit]

  • perf script: Enable printing of branch stack viaa the 'brstack' and 'brstacksym' arguments to the field selection option -F. The option is off by default and operates only if the perf.data file has branch stack content [https://git.kernel.org/torvalds/c/dc323ce8e72d6d1beb9af9bbd29c4d55ce3d7fb0 commit]

  • perf auxtrace: Add AUX area tracing option 'l' to synthesize branch stacks on samples just like sample type PERF_SAMPLE_BRANCH_STACK [https://git.kernel.org/torvalds/c/601897b54c7ed492a89b262dccd7c6f7faf12b30 commit]

  • perf hists browser: Add 'm' key for context menu display [https://git.kernel.org/torvalds/c/31eb4360546b4bd890f349db01295a173c09b0fb commit]

  • perf inject: Add --strip option which is used with --itrace to strip out non-synthesized events [https://git.kernel.org/torvalds/c/f56fb9864c501dc85ebe40af5bf925dd07d990c0 commit]

  • perf script: Allow time to be displayed in nanoseconds [https://git.kernel.org/torvalds/c/83e1986032dfcd3f9e9fc0d06e11d9153edae19b commit]

  • Intel PT hardware tracer: Accept a zero --itrace period, meaning "as often as possible". In the case of Intel PT that is the same as a period of 1 and a unit of 'instructions' (i.e. --itrace=i1i)[https://git.kernel.org/torvalds/c/e1791347b5d57d13326cf0114df1a3f3b1c4ca24 commit]

  • Intel PT: Add support for generating branch stack context for PT samples. This is useful for: reporting accurate basic block edge frequencies through the perf report branch view or using with --branch-history to get the wider context of samples. Examples, record with Intel PT: perf record -e intel_pt//u ls

10. Networking

  • [http://kb.linuxvirtualserver.org/wiki/IPVS IP Virtual Server]

    • Support scheduling of ICMP packets to IPVS instances. A new sysctl net.ipv4.vs.schedule_icmp has been introduced, that will enable this feature if set to 1 (by default, it is set by default to 0 to retain the old behaviour) [https://git.kernel.org/torvalds/c/99cb99aa055a72d3880d8a95a71034c4d64bcf9a merge commit]

    • Allow to ignore tunnelled packets with new Sysctl net.ipv4.vs.ignore_tunneled. If set, ipvs will set the ipvs_property on all packets which are of unrecognised protocols. This prevents the kernel from routing tunnelled protocols like ipip, which is useful to prevent rescheduling packets that have been tunneled to the ipvs host (i.e. to prevent ipvs routing loops when ipvs is also acting as a real server) [https://git.kernel.org/torvalds/c/4e478098ac0ac1b6ef9a70fcdc2ec8b93f1b59a1 commit]

  • Provide FIB table ID in ipv4 route dumps just as ipv6 does [https://git.kernel.org/torvalds/c/b7503e0cdb5dbec5d201aa69d8888c14679b5ae8 commit]

  • Allow the user to ask for the statistics to be filtered out of ipv4/ipv6 address netlink dumps, because many commonly used functions like getifaddrs() invoke RTM_GETLINK to dump the interface information, and do not need the AF_INET6 statistics, which are expensive to calculate [https://git.kernel.org/torvalds/c/d5566fd72ec1924958fcfd48b65c022c8f7eae64 commit]

  • wireless: implement Very High Throughput support for mesh networks [https://git.kernel.org/torvalds/c/c85fb53c4fa6521352028c40ce096a808aabd389 commit]

  • bridge: Allow setting the bridge attribute ageing_time in rocker and switchdev [https://git.kernel.org/torvalds/c/c62987bbd8a1a1664f99e89e3959339350a6131e commit], [https://git.kernel.org/torvalds/c/d0cf57f9dddb50ea404bf747a3c6b22b29f82b9a commit], [https://git.kernel.org/torvalds/c/f55ac58ae64cbb0315382e738681fe31837dcac0 commit]

  • vxlan: support both IPv4 and IPv6 sockets in a single vxlan device [https://git.kernel.org/torvalds/c/b1be00a6c39fda2ec380e168d7bcf96fb8c9da42 commit]

tcp: track min RTT using windowed min-filter [https://git.kernel.org/torvalds/c/f672258391b42a5c7cc2732c9c063e56a85c8dbe commit] tcp: use RACK to detect losses [https://git.kernel.org/torvalds/c/4f41b1c58a32537542f14c1150099131613a5e8a commit]

net: Add support for filtering neigh dump by device index [https://git.kernel.org/torvalds/c/16660f0bd942cec203eaf4de0e2ac1695bd9d32d commit] net: Add support for filtering neigh dump by master device [https://git.kernel.org/torvalds/c/21fdd092acc7ebda0dfe682008592eb79c382707 commit]

mpls: flow-based multipath selection [https://git.kernel.org/torvalds/c/1c78efa8319cad2f10f421afa627745fb4d9b29f commit] mpls: multipath route support [https://git.kernel.org/torvalds/c/f8efb73c97e2fa0abbe2e07c5c5df07800312643 commit]

net/core: generic support for disabling netdev features down stack [https://git.kernel.org/torvalds/c/fd867d51f889aec11cca235ebb008578780d052d commit] net/ethoc: support big-endian register layout [https://git.kernel.org/torvalds/c/06e60e5912c0373b15143cc52e4a11fafeaafff3 commit] net/wireless: enable wiphy device to suspend/resume asynchronously [https://git.kernel.org/torvalds/c/9f0e13546ef5773b7059b531a667ec47a5f897ee commit] net: Add IPv6 support to VRF device [https://git.kernel.org/torvalds/c/35402e31366349a32b505afdfe856aeeb8d939a0 commit] net: Add IPv6 support to l3mdev [https://git.kernel.org/torvalds/c/ccf3c8c3fe1bd4828556650ae7928da6ffb4aaf6 commit] net: Add VRF support to IPv6 stack [https://git.kernel.org/torvalds/c/ca254490c8dfdaddb5df8a763774db0f4c5200c3 commit] net: Introduce L3 Master device abstraction [https://git.kernel.org/torvalds/c/1b69c6d0ae90b7f1a4f61d5c8209d5cb7a55f849 commit] net: SO_INCOMING_CPU setsockopt() support [https://git.kernel.org/torvalds/c/70da268b569d32a9fddeea85dc18043de9d89f89 commit]

net: dummy: add more features [https://git.kernel.org/torvalds/c/8f3af27786913851e720bc9466d1abffcfa7aff6 commit] net: tso: add support for IPv6 [https://git.kernel.org/torvalds/c/8941faa161b526199e55ca7764cf875383453612 commit]

netfilter: nfnetlink_log: allow to attach conntrack [https://git.kernel.org/torvalds/c/a29a9a585b2840a205f085a34dfd65c75e86f7c3 commit] nl80211: put current TX power in interface info [https://git.kernel.org/torvalds/c/d55d0d598e6610bbfcc1f2ecd6e8af669b94783b commit] nl80211: support vendor dumpit commands [https://git.kernel.org/torvalds/c/7bdbe400d1b2aac116513f90b75969ad2365fba6 commit] nl802154: add support for security layer [https://git.kernel.org/torvalds/c/a26c5fd7622d4951425131d54a8c99f076fe2068 commit] ipconfig: send Client-identifier in DHCP requests [https://git.kernel.org/torvalds/c/26fb342c734061859fec1bd9e987bb6b78061ef0 commit] ipv4: ICMP packet inspection for multipath [https://git.kernel.org/torvalds/c/79a131592dbb81a2dba208622a2ffbfc53f28bc0 commit] ipv4: L3 hash-based multipath [https://git.kernel.org/torvalds/c/0e884c78ee19e902f300ed147083c28a0c6302f0 commit] ipv4: implement support for NOPREFIXROUTE ifa flag for ipv4 address [https://git.kernel.org/torvalds/c/7b1311807f3d3eb8bef3ccc53127838b3bea3771 commit] ipv6: gro: support sit protocol [https://git.kernel.org/torvalds/c/feec0cb3f20b837f8ca36e974267918d7a4497f8 commit]

ieee802154: 6lowpan: add tx/rx stats [https://git.kernel.org/torvalds/c/1c64f147d3cc9bbafe091a7b335ea3ec700186f0 commit] if_link: Add control trust VF [https://git.kernel.org/torvalds/c/dd461d6aa894761fe67c30ddf81eec0d08be216b commit] IB/addr: Pass network namespace as a parameter [https://git.kernel.org/torvalds/c/565edd1d555513ab5d67a847d50d7c14c82ef6c3 commit] IB/cma: Add support for network namespaces [https://git.kernel.org/torvalds/c/fa20105e09e97e81aadf02f722c31195e4a75c84 commit] IB/cma: Separate port allocation to network namespaces [https://git.kernel.org/torvalds/c/4be74b42a6d05a74a21362010cd3920fa17f63c7 commit] IB/core: Add support of checksum capability reporting for RC and RAW [https://git.kernel.org/torvalds/c/470a55358186d0bb93558a87d13159dfbc989351 commit] bpf, seccomp: prepare for upcoming criu support [https://git.kernel.org/torvalds/c/bab18991871545dfbd10c931eb0fe8f7637156a9 commit] bpf: add support for persistent maps/progs [https://git.kernel.org/torvalds/c/b2197755b2633e164a439682fb05a9b5ea48f706 commit] bpf: enable non-root eBPF programs [https://git.kernel.org/torvalds/c/1be7f75d1668d6296b80bf35dcf6762393530afc commit] bridge: allow adding of fdb entries pointing to the bridge device [https://git.kernel.org/torvalds/c/3741873b4f73b572b8f8835e6bd114e08316a160 commit] bridge: netlink: add fdb flush [https://git.kernel.org/torvalds/c/150217c688217e549ef8a36ea4f6718977373765 commit] bridge: netlink: add group_addr support [https://git.kernel.org/torvalds/c/111189abc5c3f0ea6f516a6c3e8d8c3a2cf391d9 commit] bridge: netlink: add group_fwd_mask support [https://git.kernel.org/torvalds/c/7910228b6bb35f3c8e0bc72a8d84c29616cb1b90 commit] bridge: netlink: add support for default_pvid [https://git.kernel.org/torvalds/c/0f963b7592ef9e054974b6672b86ec1edd84b4bc commit] bridge: netlink: add support for igmp's hash_elasticity [https://git.kernel.org/torvalds/c/431db3c050af0be72b3b01fa7484982f35cb268f commit] bridge: netlink: add support for igmp's hash_max [https://git.kernel.org/torvalds/c/858079fdae16421d4908722140346cfdddedf343 commit] bridge: netlink: add support for igmp's intervals [https://git.kernel.org/torvalds/c/7e4df51eb35deedd3ba8d4db92a6c36fb7eff90a commit] bridge: netlink: add support for multicast_last_member_count [https://git.kernel.org/torvalds/c/79b859f573d6afa64e328cc7f50ad7a209e0c92d commit] bridge: netlink: add support for multicast_querier [https://git.kernel.org/torvalds/c/ba062d7cc6a09a8194eba975d5ee635378a55bfc commit] bridge: netlink: add support for multicast_query_use_ifaddr [https://git.kernel.org/torvalds/c/295141d9049bdf4fa316b325d2e2501b210dbe06 commit] bridge: netlink: add support for multicast_router [https://git.kernel.org/torvalds/c/a9a6bc70f5f70b3835b081e401b469b88c7c8a3a commit] bridge: netlink: add support for multicast_snooping [https://git.kernel.org/torvalds/c/89126327f921bd278c72284d38428443bbef344f commit] bridge: netlink: add support for multicast_startup_query_count [https://git.kernel.org/torvalds/c/b89e6babad4b7ca7298ad863c6c83dc76b0abdef commit] bridge: netlink: add support for netfilter tables config [https://git.kernel.org/torvalds/c/93870cc02a0af4392401713d14235accafc752bc commit] bridge: netlink: add support for port's multicast_router attribute [https://git.kernel.org/torvalds/c/5d6ae479ab7ddf77bb22bdf739268581453ff886 commit] bridge: netlink: allow to flush port's fdb [https://git.kernel.org/torvalds/c/9b0c6e4deb3df91bf0aea8158ea77dc58c9d90b6 commit] bridge: netlink: export all timers [https://git.kernel.org/torvalds/c/d76bd14e0f759040efc8ce142dd6d1f9eca33d39 commit] bridge: netlink: export bridge id [https://git.kernel.org/torvalds/c/7599a2201fc71cdca16a92d350f14cce8730e03f commit] bridge: netlink: export port's bridge id [https://git.kernel.org/torvalds/c/80df9a2692edf7afffda9282e716e7b1df198e07 commit] bridge: netlink: export port's designated cost and port [https://git.kernel.org/torvalds/c/96f94e7f4a216282a24819968184c881e6343692 commit] bridge: netlink: export port's root id [https://git.kernel.org/torvalds/c/4ebc7660ab4559cad10b6595e05f70562bb26dc5 commit] bridge: netlink: export port's timer values [https://git.kernel.org/torvalds/c/61c0a9a83e0b12c712cd686172446aba8ea48685 commit] bridge: netlink: export port's topology_change_ack and config_pending [https://git.kernel.org/torvalds/c/e08e838ac5707cb1f1294e0d53b31997a0367b99 commit] bridge: netlink: export root id [https://git.kernel.org/torvalds/c/5127c81f84de0dd643d5840a2c7de571bc6aceb3 commit] bridge: netlink: export root path cost [https://git.kernel.org/torvalds/c/684dd248bee8c73eadb90706123bf1494d3218b8 commit] bridge: netlink: export root port [https://git.kernel.org/torvalds/c/8762ba680fe8d41b444fc92f90ce7194b2b8303b commit] bridge: netlink: export topology_change and topology_change_detected [https://git.kernel.org/torvalds/c/ed4163098e3090bb7b51421bde977e355275a554 commit] cfg80211: allow changing station capabilities for unassociated stations [https://git.kernel.org/torvalds/c/47edb11b522561658fe719e56aa69a3c3098a3fe commit] cfg80211: reg: make CRDA support optional [https://git.kernel.org/torvalds/c/b68630369167a7fd2c4c3d1be96430defc59fb9a commit] mac80211: advertise support for full station state in AP mode [https://git.kernel.org/torvalds/c/44674d9c2267f454f38df7b2395939bfa911f92e commit] mac80211: allow the driver to advertise A-MSDU within A-MPDU Rx support [https://git.kernel.org/torvalds/c/99e7ca44bb910f0cbfda5d9008e8517df0ebc939 commit] mac80211: allow to transmit A-MSDU within A-MPDU [https://git.kernel.org/torvalds/c/e3abc8ff0fc18b3925fd5d5c5fbd1613856f4e7c commit] openvswitch: netlink attributes for IPv6 tunneling [https://git.kernel.org/torvalds/c/6b26ba3a7d952e611dcde1f3f77ce63bcc70540a commit] switchdev: Add support for flood control [https://git.kernel.org/torvalds/c/741af0053b43d8b9a688a12c57ece62338616ae8 commit] switchdev: Make flood to CPU optional [https://git.kernel.org/torvalds/c/371e59adcebf9953385bf46d5325ac39a53c5520 commit] tipc: introduce capability bit for broadcast synchronization [https://git.kernel.org/torvalds/c/fd556f209af53b9cdc45df8c467feb235376c4df commit] tipc: introduce jumbo frame support for broadcast [https://git.kernel.org/torvalds/c/959e1781aa230aecc90e4deb80117fd9a53dede7 commit]

11. Other news sites

  • MoinMoin Powered
  • Python Powered
  • GPL licensed
  • Valid HTML 4.01