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

Upload page content

You can upload content for the page named below. If you change the page name, you can also upload content for another page. If the page name is empty, we derive the page name from the file name.

File to load page content from
Page name
Comment

KernelNewbies:
  • Linux_4.8

Linux 4.8 has been released on Sun, 2 Oct 2016.

Shameless spam: LWN.net has published its coverage about the 2016 Linux Storage, Filesystem, and Memory-Management Summit.

Summary: This release adds support for using Transparent Huge Pages in the page cache, support for eXpress Data Path, a high performance, programmable network data path; support for XFS reverse mappings which is the building block of several upcoming features; stricter checking of memory copies with hardened usercopy; support IPv6 security labeling (CALIPSO, RFC 5570); GCC plugin support; virtio-vsocks for easier guest/host communication; the new Vegas TCP congestion control algorithm; the documentation has been moved to the reStructuredText format, and many other improvements and new drivers.

Contents

  1. Prominent features
    1. Support for using Transparent Huge Pages in the page cache
    2. Support for eXpress Data Path
    3. XFS reverse mapping
    4. Stricter checking of memory copies with hardened usercopy
    5. GCC plugin support
    6. virtio-vsocks for easier guest/host communication
    7. Support IPv6 security labeling (CALIPSO, RFC 5570)
    8. Add New Vegas TCP congestion control
    9. Documentation moved to the reStructuredText format
  2. Core (various)
  3. File systems
  4. Memory management
  5. Block layer
  6. Cryptography
  7. Tracing and perf tool
  8. Virtualization
  9. Security
  10. Networking
  11. Architectures
  12. Drivers
    1. Graphics
    2. Storage
    3. Staging
    4. Networking
    5. Audio
    6. Tablets, touch screens, keyboards, mouses
    7. TV tuners, webcams, video capturers
    8. USB
    9. Serial Peripheral Interface (SPI)
    10. Watchdog
    11. Serial
    12. ACPI, EFI, cpufreq, thermal, Power Management
    13. Real Time Clock (RTC)
    14. Voltage, current regulators, power capping, power supply
    15. Rapid I/O
    16. Pin Controllers (pinctrl)
    17. Memory Technology Devices (MTD)
    18. Multi Media Card
    19. Industrial I/O (iio)
    20. Multi Function Devices (MFD)
    21. Pulse-Width Modulation (PWM)
    22. Inter-Integrated Circuit (I2C)
    23. Hardware monitoring (hwmon)
    24. General Purpose I/O (gpio)
    25. Clocks
    26. Hardware Random Number Generator
    27. Various
  13. List of merges
  14. Other news sites

1. Prominent features

1.1. Support for using Transparent Huge Pages in the page cache

Huge pages allow to use pages bigger than 4K (in x86), when the system makes use of those pages automatically without user intervention we call it "transparent". Until now, Linux didn't support the use of transparent huge pages in the page cache (this is the cache of pages used for backing file system data). This release adds support for transparent huge pages in the page cache in tmpfs/shmem (other filesystems may be added in the future).

You can control hugepage allocation policy in tmpfs with mount option huge=. It can have following values: always (attempt to allocate huge pages every time it needs a new page); never (do not allocate huge pages - this is the default); within_size (only allocate huge page if it will be fully within i_size, also respect fadvise()/madvise() hints); advise (only allocate huge pages if requested with fadvise()/madvise());

There's also sysfs knob to control hugepage allocation policy for internal shmem mount: /sys/kernel/mm/transparent_hugepage/shmem_enabled. The mount is used for SysV SHM, memfds, shared anonymous mmaps (of /dev/zero or MAP_ANONYMOUS), GPU drivers' DRM objects, Ashmem. In addition to policies listed above, shmem_enabled allows two further values: deny (for use in emergencies, to force the huge option off from all mounts); force (force the huge option on for all - useful for testing).

Recommended LWN article: Two transparent huge page cache implementations

Code: commit 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 28, 29, 30, 31, 32

1.2. Support for eXpress Data Path

XDP or eXpress Data Path provides a high performance, programmable network data path in the Linux kernel. XDP provides bare metal packet processing at the lowest point in the software stack. Much of the huge speed gain comes from processing RX packet-pages directly out of drivers RX ring queue, before any allocations of meta-data structures like SKBs occurs. Its properties are:

  • XDP is designed for high performance. It uses known techniques and applies selective constraints to achieve performance goals.
  • XDP is also designed for programmability. New functionality can be implemented on the fly without needing kernel modification
  • XDP is not kernel bypass. It is an integrated fast path in the kernel stack
  • XDP does not replace the TCP/IP stack. It augments the stack and works in concert
  • XDP does not require any specialized hardware. It espouses the less is more principle for networking hardware

Use cases include pre-stack processing like filtering to do DOS mitigation; forwarding and load balancing; batching techniques such as in Generic Receive Offload; flow sampling, monitoring; ULP processing (e.g. message delineation).

Recommended LWN article: Early packet drop — and more — with BPF

IO Visor page: https://www.iovisor.org/technology/xdp

Prototype docs: prototype-kernel.readthedocs.io

PDF: Express_Data_Path.pdf

Code: (merge), commit 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12

1.3. XFS reverse mapping

Reverse mapping allows XFS to track the owner of a specific block on disk precisely. It is implemented as a set of btrees (one per allocation group) that track the owners of allocated extents. Effectively it is a "used space tree" that is updated when the file system allocates or free extents. i.e. it is coherent with the free space btrees that are already maintained and never overlaps with them.

This reverse mapping infrastructure is the building block of several upcoming features - reflink, copy-on-write data, dedupe, online metadata and data scrubbing, highly accurate bad sector/data loss reporting to users, and significantly improved reconstruction of damaged and corrupted filesystems. There's a lot of new stuff coming along in the next couple of cycles, and it all builds in the rmap infrastructure. As such, it's a huge chunk of new code with new on-disk format features and internal infrastructure. It warns at mount time as an experimental feature and that it may eat data (as XFS does with all new on-disk features until they stabilise). XFS maintainers have not released userspace suport for it yet - userspace support currently requires download from Darrick's xfsprogs repo and build from source, so the access to this feature is really developer/tester only at this point. Initial userspace support will be released at the same time kernel with this code in it is released.

Code: (merge)

1.4. Stricter checking of memory copies with hardened usercopy

This is a security feature ported from Grsecurity's PAX_USERCOPY. It checks for obviously wrong memory regions when copying memory to/from the kernel (via copy_to_user() and copy_from_user() functions) by rejecting memory ranges that are larger than the specified heap object, span multiple separately allocates pages, are not on the process stack, or are part of the kernel text. This kills entire classes of heap overflow exploits and similar kernel memory exposures. Performance impact is negligible.

Recommended LWN article: Hardened usercopy

Code: commit 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12

1.5. GCC plugin support

Like this previous one, this is a feature ported from Grsecurity. It enables the use of GCC plugins, which are loadable compiler modules that can be used for runtime instrumentation and static analysis, allowing to analyse, change and add further code during compilation. Grsecurity uses these mechanisms to improve security. Two plugins are included in this release: sancov, a plugin used as a helper for the kcov feature; and the Cyclomatic complexity plugin, which calculates the cyclomatic complexity of a function.

Recommended LWN article: Kernel building with GCC plugins

Code: commit 1, 2, 3, 4

1.6. virtio-vsocks for easier guest/host communication

This release adds virtio-vsock, which provides AF_VSOCK sockets that allow applications in the guest and host to communicate. This can be used to implement hypervisor services and guest agents (like qemu-guest-agent or SPICE vdagent). Unlike virtio-serial, virtio-vsock supports the POSIX Sockets API so existing networking applications require minimal modification. The Sockets API allows N:1 connections so multiple clients can connect to a server simultaneously. The device has an address assigned automatically so no configuration is required inside the guest.

Code: commit, commit, commit, commit

1.7. Support IPv6 security labeling (CALIPSO, RFC 5570)

This release implements RFC 5570 - Common Architecture Label IPv6 Security Option (CALIPSO). Its goal is to set Multi-Level Secure (MLS) sensitivity labels on IPv6 packets using a hop-by-hop option. It is intended for use only within MLS networking environments that are both trusted and trustworthy. CALIPSO is very similar to its IPv4 cousin CIPSO and much of this feature is based on that code. To use CALIPSO you'll need some patches to netlabel-tools that are available on the 'working-calipso-v3' branch at: https://github.com/netlabel/netlabel_tools.

Code: commit 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19

1.8. Add New Vegas TCP congestion control

This release adds a new congestion control, TCP New Vegas is a major update to TCP-Vegas. Like Vegas, NV is a delay based congestion avoidance mechanism for TCP. Its filtering mechanism is similar: it uses the best measurement in a particular period to detect and measure congestion. It develop to coexist with modern networks where links bandwidths are 10 Gbps or higher, where the RTTs can be 10’s of microseconds, where interrupt coalescence and TSO/GSO can introduce noise and nonlinear effects, etc.

A description of TCP-NV, including implementation details as well as experimental results, can be found at http://www.brakmo.org/networking/tcp-nv/

Code: commit

1.9. Documentation moved to the reStructuredText format

In an attempt to modernize it, the kernel documentation will be converted to the Sphinx system, which uses reStructuredText as its markup language.

Documentation: Documentation/kernel-documentation.rst

Recommended LWN articles: Kernel documentation with Sphinx, part 1: how we got here, Kernel documentation with Sphinx, part 2: how it works

Code: (merge)

2. Core (various)

  • random: make /dev/urandom scalable for silly userspace programs commit

  • random: replace non-blocking pool with a Chacha20-based CRNG. Recommended LWN article: Replacing /dev/urandom; Code: commit

  • cgroup: Add pids controller event when fork fails because of pid limit commitprintk: add kernel parameter to control writes to /dev/kmsg commit

  • cgroup: Introduce cpuacct.usage_all to show all CPU stats together commit

  • seccomp: remove 2-phase API commit

  • RCU locking: add sysctl kernel.panic_on_rcu_stall. If set to 1, the system will panic() when an RCU stall takes place, enabling the capture of a vmcore. The vmcore provides a way to analyze all kernel/tasks states, helping out to point to the culprit and the solution for the stall commit

  • binfmt_misc: Add a new flag 'F' to the binfmt handlers. If you pass in 'F' the binary that runs the emulation will be opened immediately and in future, will be cloned from the open file. The net effect is that the handler survives both changeroots and mount namespace changes, making it easy to work with foreign architecture containers without contaminating the container image with the emulator. Recommended LWN article: Architecture emulation containers with binfmt_misc; Code: commit, commit

  • (FEATURED) Gcc plugin support commit 1, 2, 3, 4

  • Rework of the timer wheel which addresses the shortcomings of the current wheel (cascading, slow search for next expiring timer, etc). Recommended LWN article: Reinventing the timer wheel. Code: merge

  • modules: add support for a ro_after_init section, and enable read-only protection for that section after the module init runs. Recommended LWN article: Post-init read-only memory; Code: commit

  • dynamic_debug: Although dynamic debug is often only used for debug builds, sometimes its enabled for production builds as well. Minimize its impact by using jump labels commit

  • kcov: allow more fine-grained coverage instrumentation commit

  • read-write semaphores: add a reader-owned state to the owner field, to allow for better optimistic spinning commit, commit, commit, commit

  • read-write semaphores: Enable lockless waiter wakeup(s) commit, commit

3. File systems

  • XFS
    • (FEATURED) Support for reverse mapping (merge)

    • Implement iomap based buffered write path commit

    • Use iomap fiemap implementation commit

    • Use iomap infrastructure for DAX zeroing commit

  • EXT4
    • Migrate into vfs's crypto engine commit

  • BTRFS
    • Enospc rework, which provides better throughput and latencies email, commit

  • F2FS
    • Add lazytime mount option commit

    • Add nodiscard mount option commit

    • Support an ioctl to move a range of data blocks from one file to another commit

    • Introduce mode=lfs mount option commit

    • Enable flush_merge option by default (can be disabled with noflush_merge option) commit

  • CEPH
    • mount non-default filesystem by name commit

    • rados pool namespace support commit, commit

  • ORANGEFS
    • Allow O_DIRECT in open commit

  • OCFS2
    • Improve recovery performance commit

  • SMB
    • Add MF-Symlinks support for SMB 2.0 commit

  • PSTORE
    • Add lzo/lz4 compression support commit

4. Memory management

  • (FEATURED) THP-enabled tmpfs/shmem using compound pages commit 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 28, 29, 30, 31, 32

  • Move LRUs from the zones to the node. For more details, benchmarks, and possible regression scenarios, see the first commit commit 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35

  • Implements per kmemcg accounting of page tables, pipe buffers, and unix socket buffers commit ,commit, commit, commit, commit, commit, commit, commit

  • zram: add more compression algorithms ("deflate", "lz4hc", "842") commit

  • Enable memory quarantine for SLUB (used to detect use-after-free errors) commit

  • SLUB freelist randomization commit, commit

  • zram: Add NR_ZSMALLOC to vmstat commit

  • Makes swap-in read ahead up to a certain number to gain more transparent-hugepage performance. It introduces a new sysfs integer knob /sys/kernel/mm/transparent_hugepage/khugepaged/max_ptes_swap which makes optimistic check for swapin readahead to increase thp collapse rate commit, commit

  • Move swap-in anonymous page into active list commit

  • Support migration of non-lru pages to solve fragmentation problems caused by zram and GPU driver mainly commit 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12

  • Introduce iomap infrastructure, for multipage buffered writes commit, commit, commit

5. Block layer

  • Expose QUEUE_FLAG_DAX in sysfs. It enables userspace to detect devices that support DAX commit, commit

  • cfq-iosched: Expose interfaces to tune time slices of CFQ IO scheduler in microseconds commit

  • Device mapper
    • Add DAX support for DM core and the linear, stripe and error targets commit, commit, commit, commit,

    • dm mpath: reinstante bio-based support. Users can specify an optional feature queue_mode <mode> where <mode> may be "bio", "rq" or "mq", which corresponds to bio-based, request_fn rq-based, and blk-mq rq-based respectively commit, commit

    • dm raid: Add reshaping and takeover support commit, commit, commit, commit, commit, commit

    • dm raid: allow resize during recovery commit

    • dm raid: support raid0 with missing metadata devices commit

    • raid10: improve random reads performance commit

  • drbd
    • Create the protocol feature THIN_RESYNC commit

    • Implement handling of thinly provisioned storage on resync target nodes commit

    • Introduce new disk config option rs-discard-granularity commit

  • dlm: add log_info config option to disable the LOG_INFO recovery messages commit

  • Add a generic NVMe over Fabrics library commit, commit

  • nvme-rdma: add a NVMe over Fabrics RDMA host driver commit

  • nvmet-rdma: add a NVMe over Fabrics RDMA target driver commit

  • nvme-loop: add a NVMe loopback host driver commit

  • nvme/pci: Provide SR-IOV support commit

  • nvmet: add a generic NVMe target commit

6. Cryptography

  • Add new crypto driver for SHA-256 implemented using multi-buffer technique, for x86 AVX2 commit, commit, commit, commit, commit

  • Add new crypto driver for SHA-512 implemented using multi-buffer technique, for x86 AVX2 commit, commit, commit, commit, commit

  • sha3: Add SHA-3 hash algorithm commit

  • caam - add support for RSA algorithm commit

  • dh: add software implementation commit

  • ecdh: add software support commit

  • marvell: add support for chaining crypto requests in TDMA mode commit

  • powerpc: Add POWER8 optimised crc32c commit

  • qat: Add DH support commit, add RSA CRT mode commit

  • vmx: Add XTS support commit, commit

7. Tracing and perf tool

  • Add per event callchain limit: Recently we introduced a sysctl (kernel.perf_event_max_stack) to tune the max-stack for all events for which callchains were requested. This release introduces a way to set maximum stack limits per event. i.e. this becomes possible: $ perf record -e sched:*/max-stack=2/ -e block:*/max-stack=10/ -a, allowing finer tuning of how much buffer space callchains use commit, commit

  • perf stat: Add support for TopDown. This implements a new --topdown mode in perf stat (similar to --transaction) that measures the pipe line bottlenecks. It is intended to replace the frontend cycles idle/backend cycles idle metrics in standard perf stat output. These metrics are not reliable in many workloads, due to out of order effects. The current version works on Intel Core CPUs starting with Sandy Bridge, and Atom CPUs starting with Silvermont commit, commit, commit, commit

  • Support cross-architecture unwinding, i.e. collecting --call-graph dwarf perf.data files in one machine and then doing analysis in another machine of a different hardware architecture commit, commit

  • Finish merging initial SDT (Statically Defined Traces) support. Several funcionality is added: perf probe --list shows all cached probes when --cache is given, perf probe --del removes caches when --cache is given, perf buildid-cache --add <binary> scans given binary and add the SDT events to probe cache. "sdt_" prefix is appended for all SDT providers to avoid event-name clash with other pre-defined events. It is possible to use the cached SDT events as other cached events, via perf probe --add "sdt_<provider>:<event>=<event>". To improve usability, support %[PROVIDER:]SDTEVENT format to add new probes on SDT and cached events. Glob wildcard is allowed for reusing cached/SDT events. E.g. perf probe -x /usr/lib64/libc-2.20.so -a %sdt_libc:\*. Support @BUILDID or @FILE suffix for SDT events. This allows perf to add probes on SDTs/pre-cached events on given FILE or the file which has given BUILDID (also, this complements BUILDID) commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit

  • Support eBPF program attach to tracepoints commit

  • Allows BPF programs to manipulate user memory during the course of tracing (merge) commit

  • Add BPF_MAP_TYPE_CGROUP_ARRAY. It is used to implement a bpf-way to check the cgroup2 membership of a skb commit, commit, commit, commit

  • Add demangling of symbols in programms written in Rust commit

  • Add support for tracepoints in the python binding commit, commit, commit, commit, commit, commit, commit, commit, commit, commit

  • Introduce --stdio-color to set up the color output mode selection in perf annotate' and perf report, allowing emit color escape sequences when redirecting the output of these tools commit, commit

  • Add callindent option to perf script -F, to indent the Intel PT call stack, making this output more ftrace-like commit

  • Allow dumping the object files generated by llvm when processing eBPF scriptlet events commit

  • Add stackcollapse.py script to help generating flame graphs commit

  • Add --ldlat option to perf mem to specify load latency for loads event (e.g. cpu/mem-loads/) commit

  • perf data ctf: Add --all option for perf data convert commit

  • perf probe: add signedness casting support. By specifying "s" or "u" as a type, perf-probe will investigate variable size as usual and use the specified signedness commit

  • perf record: Add --dry-run option to check cmdline options commit

  • perf record: Add --sample-cpu option to be able to explicitly enable CPU sample type. Currently it's only enable implicitly in case the target is cpu related commit

  • perf record: Add --tail-synthesize option, it allows perf to collect system status when finalizing output file. In resuling output file, the non-sample events reflect system status when dumping data commit

  • perf test: Add -F/--dont-fork option to bypass forking for each test. It's useful for debugging test commit

  • perf tools: Add AVX-512 instructions to the new instructions test commit

  • perf tools: Enable overwrite settings commit

8. Virtualization

  • (FEATURED) virtio-vsock: This features provides AF_VSOCK sockets commit, commit, commit, commit

  • user mode linux
    • Select HAVE_DEBUG_KMEMLEAK commit

    • Support kcov commit

  • vmxnet3: Add support for version 3 (merge)

  • Xen: Add IOCTL_EVTCHN_RESTRICT, which limits the file descriptor to being able to bind to interdomain event channels from a specific domain. This is useful as part of deprivileging a user space PV backend or device model (QEMU) commit

  • vfio: support No-IOMMU mode commit

9. Security

  • (FEATURED) Hardened usercopy commit 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12

  • Smack: Add support for unprivileged mounts from user namespaces commit

  • apparmor: add parameter to control whether policy hashing is used by default commit

  • apparmor: allow SYS_CAP_RESOURCE to be sufficient to prlimit another task commit

  • ima: defines a new IMA measurement policy rule option "pcr=", which allows extending different PCRs on a per rule basis commit

  • tpm: Proxy driver for supporting multiple emulated TPMs commit

10. Networking

  • (FEATURED) Support for eXpress Data Path (XDP) (merge), commit 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12

  • (FEATURED) Support IPv6 security labeling (CALIPSO, RFC 5570) commit 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19

  • IPv6 over Low power Wireless Personal Area Networks (6lowpan): introduces a layer for IPv6 neighbour discovery which allows to implement two use-cases: short address handling for 802.15.4, and 6CO handling as userspace option (merge)

  • Bluetooth
    • Add Authentication Failed reason to Disconnected Mgmt event commit

    • Add debugfs fields for hardware and firmware info commit

  • Near-Field Communication (NFC): Add support for NFC DEP Response Waiting Time commit

  • SUNRPC: Add a server side per-connection limit commit

  • Infiniband
    • Software RDMA over Ethernet (RoCE) driver. This driver implements the InfiniBand RDMA transport over the Linux network stack. It enables a system with a standard Ethernet adapter to interoperate with a RoCE adapter or with another system running the RXE driver commit

    • Add IPv6 support to flow steering commit

    • Export a common fw_ver sysfs entry commit

    • Support for send only multicast joins in the cma layer commit

    • Introduce some new objects and verbs in order to allow verbs based solutions to utilize the RSS offload capability which is widely supported today by many modern NICs. It extends the IB and uverbs layers to support the above functionality commit ,commit, commit, commit, commit, commit, commit, commit, commit, commit

  • Reliable Datagram Sockets (RDS): Enable multipath RDS for TCP commit

  • B.A.T.M.A.N
    • Adds a debugfs file named mcast_flags with originators and their according multicast flags to help users figure out why multicast optimizations might be enabled or disabled for them commit

    • Add multicast optimization support for bridged setups commit

    • Add generic netlink family for B.A.T.M.A.N., with the purpose of replacing the debugfs files commit, commit

    • Throughput meter implementation. It is invoked through batctl commit

    • Controller Area Network (can): Broadcast Manager CAN FD support commit, commit

  • cbq scheduler: remove TCA_CBQ_OVL_STRATEGY support commit, remove TCA_CBQ_POLICE support commit

  • fcoe: Add a new sysfs attribute fip_vlan_responder which will activate a FIP VLAN discovery commit

  • Generic Routing Encapsulation (gre): better support for ICMP messages for gre+ipv6 commit

  • Generic UDP Encapsulation (gue): implements direct encapsulation of IPv4 and IPv6 packets in UDP. This is done a version "1" of GUE and as explained in I-D draft-ietf-nvo3-gue-03 commit

  • 802.15.4: add networking namespace support commit

  • IP over IP: support MPLS over IPv4 commit

  • IPv6: RFC 4884 partial support for SIT/GRE tunnels commit

  • Wireless (802.11)
    • Add support for beacon report radio measurement commit

    • Support beacon report scanning commit

    • Add API to support VHT MU-MIMO air sniffer commit

    • Allow privileged netlink operations from user namespaces commit

    • Integrate FQ/codel with the mac80211 internal software queues commit, commit, commit

    • dd mesh peer AID setting API commit

    • Add vht cap decode to debugfs commit

  • MPLS
    • Allow routes on ipgre devices commit

    • Allow routes on ipip and sit devices commit

  • net scheduler
    • Add matchall classifier matches every packet and allows the user to apply actions on it. This filter is very useful in use cases such as packet mirroring (SPAN) commit

    • Add matchall classifier hardware offloading commit, commit

    • Add skbedit support for changing packet type commit

  • Introduces a new rule attribute l3mdev. The l3mdev rule means the table id used for the lookup is pulled from the L3 master device (e.g., VRF) rather than being statically defined. With the l3mdev rule all of the basic VRF FIB rules are reduced to 1 l3mdev rule per address family (IPv4 and IPv6) commit

  • bridge
    • Add support for IGMP/MLD stats and export them via netlink commit, commit

  • diag: Add support to filter on device index commit

  • pktgen: support injecting packets for qdisc testing commit

  • rtnetlink: add support for the IFLA_STATS_LINK_XSTATS_SLAVE attribute which allows to export per-slave statistics if the master device supports the linkxstats callback commit

  • Virtual Routing and Forwarding (VRF)
    • Add support for PREROUTING rules on vrf device commit

    • Handle ipv6 multicast and link-local addresses commit

    • ipv4 support for local traffic to local addresses commit

    • ipv6 support for local traffic to local addresses commit

  • net_sched: generalize bulk dequeue (brings between 35 and 80 % performance increase in HTB setup under pressure on a bonding setup) commit

  • nftables: allow to filter out rules by table and chain commit

  • netlabel: Add an address family to domain hash entries. commit

  • rxrpc: Limit the socket incoming call backlog queue size in /proc/sys/net/rxrpc/max_backlog so that a remote client can't pump in sufficient new calls that the server runs out of memory commit

  • SCTP
    • Add GSO support commit

    • Add SCTP_DEFAULT_PRINFO into sctp sockopt. It is used to set/get sctp Partially Reliable Policies' default params commit

    • Add SCTP_PR_ASSOC_STATUS on sctp sockopt, which is used to dump the prsctp statistics info from the asoc commit

    • Add SCTP_PR_SUPPORTED on sctp sockopt, which is used to modify prsctp_enable commit

    • Implement prsctp PRIO policy commit

    • Implement prsctp RTX policy commit

    • Implement prsctp TTL policy commit

    • Support ipv6 nonlocal bind commit

  • Simple Internet Transition (sit): support MPLS over IPv4 commit

  • (FEATURED) TCP: add TCP NV congestion control, a follow up to TCP Vegas. It has been modified to deal with 10G networks, measurement noise introduced by LRO, GRO and interrupt coalescence. In addition, it will decrease its cwnd multiplicatively instead of linearly. For further details see http://www.brakmo.org/networking/tcp-nv/ commit

  • TIPC
    • Add neighbor monitoring framework commit

  • tunnels: support MPLS over IPv4 tunnels commit

  • openvswitch: Add packet truncation support. commit

11. Architectures

  • ARM
    • It is becoming possible to run mainline kernels with Android, but the kernel defconfigs don't work as-is and debugging missing config options is a pain. This release adds the config fragments into the kernel tree, makes configuring a mainline kernel as simple as: make ARCH=arm multi_v7_defconfig android-base.config android-recommended.config commit

    • Add support for Broadcom BCM23550 SoC commit

    • BCM23550 SMP support commit

    • Xen: Document UEFI support on Xen ARM virtual platforms commit

    • bcm2835: Add devicetree for the Raspberry Pi 3. commit

    • Device Tree sources
      • BCM5301x: Add BCM953012ER board commit

      • NSP: Add new DT file for bcm958625hr commit

      • Add Qualcomm APQ8060-based Dragonboard commit

      • Add dts files for Hi3519 and tidy up the makefile entries commit

      • at91: Add DT support for Olimex SAM9-L9260 board. commit

      • at91: add at91sam9260ek board DT commit

      • bcm23550: Add device tree files commit

      • blanche: initial device tree commit

      • clps711x: Add DT Cirrus Logic EDB7211 Development board commit

      • exynos: Add initial support for Odroid XU board commit

      • imx6: add support for Auvidea H100 board commit

      • imx6q: add support for the Utilite Pro commit

      • imx7: add Toradex Colibri iMX7S/iMX7D support commit

      • mxs: Add Creative X-Fi3 support commit

      • mxs: Add SanDisk Sansa Fuze+ support commit

      • r8a7792: initial SoC device tree commit

      • sun7i: Add dts file for Bananapi M1 Plus board commit

      • sun8i-h3: Add dts file for Sinovoip BPI-M2+ commit

      • sun8i: Add dts file for Polaroid MID2407PXE03 tablet commit

      • sun8i: Add dts file for inet86dz board commit

      • sunxi: Add dtsi file for AXP809 PMIC commit

      • Add XMC board support commit

  • kexec: advertise location of bootable RAM commit

  • shmobile: r8a7792: basic SoC support commit

  • sun8i: Add Parrot Board DTS commit

  • tango: add HOTPLUG_CPU support commit

  • tango: add Suspend-to-RAM support commit

  • tegra: Initial support for Apalis TK1 commit

  • ARM64
    • Enable ACPI based NUMA on ARM64 commit, commit

    • Now that ACPI processor idle driver supports LPI(Low Power Idle), enable ACPI_PROCESSOR_IDLE for ARM64 commit

    • PCI: Support ACPI-based PCI host controller commit

    • XEN: Add a function to initialize Xen specific UEFI runtime services commit

    • Add core kexec support commit

    • Add HAVE_REGS_AND_STACK_ACCESS_API feature commit

    • Add kernel return probes support (kretprobes) commit

    • Implement optimised IP checksum helpers commit

    • Kprobes with single stepping support commit

    • add support for ACPI Low Power Idle(LPI) commit

    • allow building with kcov coverage on ARM64 commit

    • dts: Add dts files for LG Electronics's lg1313 SoC commit

    • dts: marvell: Add Aardvark PCIe support for Armada 3700 commit

    • dts: mediatek: add mt6755 support commit

    • dts: r8a7796: Add Renesas R8A7796 SoC support commit

    • dts: salvator-x: add Salvator-X board on R8A7796 SoC commit

    • mm: dump: make page table dumping reusable commit

  • S390
    • Add "drawer" scheduling domain level to reflect the unusual topology found on z13 machines. Performance tests showed up to 8 percent gain with the additional domain commit, commit

    • Add support for 2GB hugepages commit

    • Add new crc-32 checksum crypto module uses the vector-galois-field multiply and sum SIMD instruction to speed up crc-32 and crc-32c commit, commit

    • pgtable: add mapping statistics commit

    • /proc/cpuinfo: show dynamic and static cpu mhz commit and maximum thread id commit

    • Enable kcov support commit

    • Add proper ro_after_init support commit

    • oprofile: remove hardware sampler support (userspace uses perf these days) commit

    • Remove ETR clock synchronization, superseded by STP clock synchronization. commit

    • KVM
      • Add support for nested virtualization (vSIE) (merge)

      • Add sthyi instruction emulation commit

      • Interface to query and configure cpu features commit

      • Support for trapping software breakpoints commit

  • x86
    • KASLR: Remove hibernation restrictions commit

    • KASLR: Extend kernel image physical address randomization to addresses larger than 4G commit, Allow randomization below the load address commit, randomize virtual address separately commit, add memory hotplug support for KASLR memory randomization commit, enable KASLR for physical mapping memory regions commit, enable KASLR for vmalloc memory regions commit, implement ASLR for kernel memory regions commit

  • Microoptimizations to the syscall entry code commit, commit

  • platform
    • intel-vbtn: new driver for Intel Virtual Button. New Dell XPS 13 requires this driver for the power button commit

    • fujitsu-laptop: Add support for eco LED commit, support touchpad toggle hotkey on Skylake-based models commit

    • asus-wmi: Add ambient light sensor toggle key commit

    • toshiba_acpi: Add IIO interface for accelerometer axis data commit

    • punit: Enable support for Merrifield commit

    • intel-mid: Add Power Management Unit driver commit, add pinctrl for Intel Merrifield commit, enable GPIO expanders on Edison commit, enable spidev on Intel Edison boards commit, extend PWRMU to support Penwell commit

  • powercap, rapl: Add Skylake Server model number commit

  • perf
    • Add support for the Intel Skylake client uncore PMU commit

    • Add topdown events to Intel Atom commit and Intel Core commit

  • intel_th: Add runtime power management handling commit

  • intel_th: pci: Add Kaby Lake PCH-H support commit

  • KVM
    • Support up to 288 vcups commit

    • Add KVM_CAP_X2APIC_API commit

    • Support using the vmx preemption timer for tsc deadline timer (reduces vmexit latency for TSC deadline timer by about 30% on Intel hosts) commit

    • Support for execute-only mappings in nested EPT commit

  • PowerPC
    • 86xx: Add support for Emerson/Artesyn MVME7100 commit

    • Implement JIT compiler for extended BPF commit

    • Add support for HV virtualization interrupts commit

    • Add a kernel command line to disable radix MMU mode even if firmware indicates radix support commit

    • Add module autoloading based on CPU features commit

    • Add a parameter to disable 1TB segments commit

    • perf: Power9 PMU support commit

    • powernv: Add driver for operator panel on FSP machines commit

    • powerpc32: provide VIRT_CPU_ACCOUNTING commit

    • Add kconfig option to use jump labels for cpu/mmu_has_feature() commit

  • ptrace: Enable NT_PPC_TM_CTAR, NT_PPC_TM_CPPR, NT_PPC_TM_CDSCR commit, enable in transaction NT_PPC_VMX ptrace requests commit, enable in transaction NT_PPC_VSX ptrace requests commit,enable in transaction NT_PRFPREG ptrace requests commit, enable support for EBB registers commit, enable support for NT_PPC_CFPR commit, enable support for NT_PPC_CGPR commit, enable support for NT_PPC_CVMX commit, enable support for NT_PPC_CVSX commit, enable support for NT_PPPC_TAR, NT_PPC_PPR, NT_PPC_DSCR commit, enable support for Performance Monitor registers commit, enable support for TM SPR state commit

  • ibmvscsis: Initial commit of IBM VSCSI Tgt Driver. It provides a virtual SCSI device on IBM Power Servers commit

  • SH
    • Add support for J-Core J2 processor commit, commit

    • Add device tree source for J2 FPGA on Mimas v2 board commit

    • Add support for linking a builtin device tree blob in the kernel commit

  • ARC
    • Support syscall ABI v4 commit

  • MIPS
    • Add support for CPU hotplug of MIPSr6 processors commit

  • M68K
    • Enable binfmt_flat on systems with an MMU commit

  • UNICORE32
    • Remove pci=firmware command line parameter handling commit

12. Drivers

12.1. Graphics

  • Attach sw fences to exported vGEM dma-buf (ioctl). By allowing the user to create and attach fences to the exported vGEM buffers (on the dma-buf), the user can implement a deferred renderer and queue hardware operations like flipping and then signal the buffer readiness (i.e. this allows the user to schedule operations out-of-order, but have them complete in-order). This also makes it much easier to write tightly controlled testcases for dma-buf fencing and signaling between hardware drivers commit

  • Add support for generic plane's zpos property commit

  • Lockless GEM BO freeing (merge)

  • nonblocking commit support commit

  • ARM Mali display driver (not the 3D chip) commit

  • Add sii902x RGB->HDMI bridge commit

  • amdgpu
    • Add mclk overdrive support for Fiji commit, Polaris10 commit, and Tonga commit, CI commit

    • Add sclk overdrive support on Fiji commit, Polaris10 commit, Tonga commit

    • Add powerplay sclk overdrive support through sysfs entry pp_sclk_od, the entry is read/write, the value of input/output is an integer which is the over percentage of the highest sclk commit

    • Add powerplay mclk overdrive support through sysfs entry pp_mclk_od, the entry is read/write, the value of input/output is an integer of the overclocking percentage commit

    • Add powergating support for CZ/ST commit

    • Add disable_cu parameter to disable individual CUs on module load commit

    • Add powercontainment module parameter to make powercontainment feature configurable commit

    • Enable UVD VM only on polaris commit

    • Enable UVD context buffer for older HW commit

    • Implement UVD VM mode for Stoney v2 commit

    • introduce a firmware debugfs to dump all current firmware versions commit

  • nouveau
    • Initial support for GP100/GP104 GPUs commit, commit

    • Add glitchless and DFS support commit

  • vc4
    • Add support for branching in shader validation. commit, commit, commit

    • Enable XBGR8888 and ABGR8888 pixel formats commit

  • imx-drm
    • Atomic mode setting conversion commit, commit, commit, commit, commit, commit

    • Add bridge support commit

  • analogix-dp: Add rk3399 eDP support commit

  • i915
    • Introduce the basic architecture of GVT-g graphics virtualization host support. With GVT-g, it's possible to have one integrated graphics device shared by multiple VMs under different hypervisors commit

    • BXT support enabled by default
    • Add Broxton GuC firmware loading support commit

    • Enable GuC loading & submission by default commit, commit

    • Add more Kabylake PCI IDs. commit

    • Support for pread/pwrite from/to non shmem backed objects commit

  • fsl-dcu
    • Bridge support commit

    • Suspend/resume support commit

  • sti: Add ASoC generic hdmi codec support. commit

  • arc: commit

  • omapdrm: Gamma table support commit

  • tegra
    • runtime PM commit, commit, commit, commit

    • Enable audio over HDMI commit

  • msm
    • Shrinker and madvise support commit, commit

    • Add ASoC generic hdmi audio codec support. commit

    • Add module param to dump all bo's commit

  • bridge
    • Initial support for ADV7533 commit

    • tc358767: Add DPI to eDP bridge driver commit

  • etnaviv: enable GPU module level clock gating support commit

  • mediatek: Add HDMI support commit

  • panel
    • simple: Add support for LG LP079QX1-SP0V panel commit

    • simple: Add support for LG LP097QX1-SPA1 panel commit

    • simple: Add support for Samsung LSN122DL01-C01 panel commit

    • simple: Add support for Sharp LQ101K1LY04 commit

    • simple: Add support for Sharp LQ123P1JX31 panel commit

    • simple: Add support for Starry KR122EA0SRA panel commit

  • Nuke SET_UNIQUE ioctl commit

12.2. Storage

  • ata: ahci_brcm: Add support for Broadcom NSP SoC commit

  • ata: Handle ATA NCQ NO-DATA commands correctly commit

  • qla2xxx: Add bsg interface to support D_Port Diagnostics. commit and statistics counter reset. commit

  • qla2xxx: Add support to handle Loop Init error Asynchronus event. commit

  • qla2xxx: Remove sysfs node fw_dump_template. commit

  • lpfc: Add MDS Diagnostics Support commit

  • lpfc: Add support for XLane LUN priority commit

  • ipr: Add new CCIN for new adapters support commit

  • ufs: Add support for the Synopsys G210 Test Chip commit, commit, commit

  • ufs: add UFS 2.0 capabilities commit

  • ufs: add support for DesignWare Controller commit

12.3. Staging

  • comedi: dt2811: add async command support for AI subdevice commit

  • fsl-mc: add support for the modalias sysfs attribute commit

  • ks7010: add driver from Nanonote extra-repository commit

  • lustre: llite: remove lloop device commit

  • lustre: remove remote client support commit

  • iio: lis3l02dq drop separate driver commit

12.4. Networking

  • macsec: enable GRO and RPS on macsec devices commit

  • Add Killer E2500 device ID in alx driver. commit

    • mlx4: Add diagnostic hardware counters commit

    • mlx5: Add per port stats commit, commit

    • mlx5: Enable flow steering for IPv6 traffic commit

    • cxgb3i,cxgb4i,libcxgbi: remove iSCSI DDP support commit

    • cxgb3i: add iSCSI DDP support commit

    • cxgb4: Enable SR-IOV configuration via PCI sysfs interface commit

    • cxgb4i,libcxgbi: add iSCSI DDP support commit

  • Bluetooth
    • Add support for Intel Bluetooth device 3168 [8087:0aa7] commit

    • Add support of 13d3:3490 AR3012 device commit

    • btusb: add support for device 0489:e092 commit

  • Add driver for maxim ds26522 commit

  • ath10k: add pdev param support to enable/disable btcoex commit

  • ath10k: enable support for QCA9888 commit and QCA9984 commit and QCA9887 chipset support commit

  • ath10k: remove debugfs support for Per STA total rx duration commit

  • ath9k_hw: implement temperature compensation support for AR9003+ commit

  • bcma: add PCI ID for Foxconn's BCM43142 device commit

  • be2net: support asymmetric rx/tx queue counts commit

  • bgmac: Add support for ethtool statistics commit

  • bnxt_en: Add device ids for BCM5731X and BCM5741X commit, 57404 NPAR devices. commit, NPAR and dual media commit

  • bnxt_en: Add basic support for Nitro in North Star 2. commit, commit

  • bnxt_en: Add support for firmware updates for additional processors. commit

  • bnxt_en: Add support for updating flash more securely commit

  • bnxt_en: Allow promiscuous mode for VF if default VLAN is enabled. commit

  • bnxt_en: Allow statistics DMA to be configurable using ethtool -C. commit

  • bnxt_en: Increase maximum supported MTU to 9500. commit

  • bnxt_en: Support ETHTOOL_{G|S}LINKSETTINGS API commit

  • brcmfmac: add support for the PCIE devices 43525 and 43465 commit

  • brcmfmac: support removing AP interfaces with "interface_remove" commit

  • Add driver for Freescale QUICC Engine HDLC controllercommit

  • phy: xgene: Add MDIO driver commit

  • i40evf: add hyperv dev ids commit

  • iwlwifi: mvm: Support CSA countdown offloading commit

  • iwlwifi: Add a000 HW family support commit

  • iwlwifi: add new 8260 PCI IDs commit and 8265 commit

  • iwlwifi: mvm: add support for GCMP encryption commit

  • iwlwifi: mvm: support dqa queue sharing commit

  • iwlwifi: mvm: support dqa-enable hcmd commit

  • ixgbevf: add VF support for new hardware commit

  • mlxsw: Implement IPV4 unicast routing (merge)

  • mlxsw: implement port mirroring offload (merge)

  • mwifiex: add antenna info support commit

  • faraday: Support NCSI mode commit

  • mlx4_en: Add DCB PFC support through CEE netlink commands commit

  • mlx5: Bulk flow statistics and SRIOV TC offloads (merge)

  • mlx5: Mellanox 100G SRIOV E-Switch offload and VF representors (merge)

  • mlx5: TX Rate limiting, RX interrupt moderation, ethtool settings (merge)

  • mlx5: Ethernet ethtool ntuple steering, ethtool -N|U (merge)

  • Add NC-SI support. NC-SI ("Network Controller Sideband Interface") is an electrical interface and protocol defined by the Distributed Management Task Force (DMTF), which enables the connection of a Baseboard Management Controller (BMC) to a set of Network Interface Controller (NICs) in server computer systems for the purpose of enabling out-of-band remote manageability (merge)

  • Add MDIO bus driver for the Hisilicon FEMAC commit

  • dsa: b53: Add bridge support commit, add support for BCM585xx/586xx/88312 integrated switch commit, add support for Broadcom RoboSwitch commit, plug in VLAN support commit

  • dsa: bcm_sf2: Add VLAN support commit

  • dsa: mv88e6xxx: add support for DSA ageing time commit

  • dsa: support switchdev ageing time attr commit

  • stmicro: Add TSE PCS support to dwmac-socfpga commit

  • hisilicon: Add Fast Ethernet MAC driver commit

  • mdio-mux: Add MDIO mux driver for iProc SoCs commit

  • phy: micrel: Add KSZ8041FTL fiber mode support commit

  • qed: RocE & iSCSI infrastructure (merge)

  • rtl8xxxu: aggregation support (optional for now) commit, commit, enable aggregation for rtl8723au commit, commit, commit

  • wlcore/wl18xx: mesh: added initial mesh support for wl8 commit

  • wlcore: spi: add wl18xx support commit

  • phy: adds driver for Intel XWAY PHY commit

  • liquidio: MTU limits commit, Napi rx/tx traffic commit, New statistics support commit, New xaui info commit, Support priv flag commit, Vlan filtering commit, Vlan offloads changes commit, Vxlan support commit

  • sfc: Implement ndo_vlan_rx_{add, kill}_vid() callbacks commit

12.5. Audio

  • hda: realtek - ALC891 headset mode for Dell commit

  • hda: add AMD Bonaire AZ PCI ID with proper driver caps commit

  • ASoC
    • Add ADAU7002 Stereo PDM-to-I2S/TDM Converter driver commit

    • Intel: Add Broxton-P Dialog Maxim machine driver commit, commit

    • Intel: Add DMIC 4 channel support for bxt machine commit

    • Intel: Add surface3 entry in CHT-RT5645 machine commit

    • Intel: Kbl: add kabylake additional machine entries commit

    • Intel: Skylake: Add DSP muti-core infrastructure commit

    • Intel: Skylake: Support multi-core in Broxton commit amd Skylake commit

    • Intel: add kablake device IDs commit

    • Intel: board: add kabylake machine id commit, add kabylake nau88l25_max98357a machine id commit, add kabylake nau88l25_ssm4567 machine id commit

    • cs35l33: Initial commit of the cs35l33 CODEC driver. commit

    • cs53l30: Add codec driver support for Cirrus CS53L30 commit

    • cygnus: Add Cygnus audio DAI driver commit

    • cygnus: Add Cygnus audio DMA driver commit

    • hdac_hdmi: Add device id for Kabylake commit

    • max98504: Add max98504 speaker amplifier driver commit

    • max9860: new driver commit

    • mediatek: Add mt2701-cs42448 driver commit, commit

    • * rsnd: adg

      AUDIO-CLKOUTn asynchronizes support commit

    • rt5514: add rt5514 SPI driver commit

    • rt5645: Add ACPI ID 10EC5640 commit

    • sgtl5000: add Lineout volume control commit

    • sunxi: Add Allwinner A10 Digital Audio driver commit

    • tas571x: add biquads for TAS5717/19 commit

    • tas571x: add input channel mixer for TAS5717/19 commit

    • wm8985: add support for WM8758 commit

12.6. Tablets, touch screens, keyboards, mouses

  • add Atmel Captouch Button driver commit

  • add Pegasus Notetaker tablet driver commit

  • add Raydium I2C touchscreen driver commit

  • add driver for SiS 9200 family I2C touchscreen controllers commit

  • add driver for Silead touchscreens commit

  • add new driver for the Surface 3 commit

  • add powerkey driver for HISI 65xx SoC commit

  • edt-ft5x06 - add support for inverting / swapping axes commit

  • of_touchscreen - add support for inverted / swapped axes commit

  • pixcir_ts - add support for axis inversion / swapping commit

  • synaptics-rmi4 - support regulator supplies commit

  • HID
    • add Alps I2C HID Touchpad-Stick support commit

    • add usb device id for Apple Magic Keyboard commit

    • hid-led: add support for Delcom Visual Signal Indicator G2 commit

    • hid-led: add support for Greynut Luxafor commit

    • hid-led: add support for ThingM blink(1) commit

    • hid-led: add support for devices with multiple independent LEDs commit

    • hid-led: add support for reading from LED devices commit

    • migrate USB LED driver from usb misc to hid commit

    • remove ThingM blink(1) driver commit

12.7. TV tuners, webcams, video capturers

  • Add support Sony CXD2854ER demodulator commit

  • Add support Sony HELENE Sat/Ter Tuner commit

  • New hw revision 1.4 of NetUP Universal DVB card added commit

  • VPU: mediatek: support Mediatek VPU commit

  • cec: add HDMI CEC framework (adapter) commit

  • cec: add HDMI CEC framework (api) commit

  • cec: add HDMI CEC framework (core) commit

  • cec: adv7511: add cec support commit

  • cec: adv7604: add cec support commit

  • cec: adv7842: add cec support commit

  • cec: s5p-cec: Add s5p-cec driver commit

  • cx23885: Add support for Hauppauge WinTV quadHD DVB version commit

  • dw2102: add USB ID for Terratec Cinergy S2 Rev.3 commit

  • input: serio - add new protocol for the Pulse-Eight USB-CEC Adapter commit

  • media: rcar-vin: add DV timings support commit

  • mn88472: move out of staging to media commit

  • move s5p-cec to staging commit

  • pulse8-cec: new driver for the Pulse-Eight USB-CEC Adapter commit

  • rc: Add HDMI CEC protocol handling commit

  • rcar-vin: add Renesas R-Car VIN driver commit

  • si2168: add support for newer firmwares commit

  • staging/media: remove deprecated mx2 driver commit

  • staging/media: remove deprecated mx3 driver commit

  • staging/media: remove deprecated omap1 driver commit

  • staging/media: remove deprecated timb driver commit

  • support DVB-T2 for SONY CXD2841/54 commit

  • tw686x: Introduce an interface to support multiple DMA modes commit

  • tw686x: Support VIDIOC_{S,G}_PARM ioctls commit

  • tw686x: audio: Allow to configure the period size commit

  • v4l: Add Renesas R-Car FCP driver commit

  • v4l: mt9v032: Add V4L2 controls for AEC and AGC commit

  • v4l: vsp1: Add Cubic Look Up Table (CLU) support commit

  • v4l: vsp1: Add FCP support commit

  • v4l: vsp1: Implement runtime PM support commit

  • v4l: vsp1: wpf: Add flipping support commit

  • vcodec: mediatek: Add Mediatek H264 Video Encoder Driver commit

  • vcodec: mediatek: Add Mediatek V4L2 Video Encoder Driver commit

  • vcodec: mediatek: Add Mediatek VP8 Video Encoder Driver commit

  • vivid: add CEC emulation commit

  • vivid: support monitor all mode commit

  • s5p-mfc: add iommu support commit

12.8. USB

  • dwc3: implement runtime PM commit

  • dwc3: pci: add Intel Kabylake PCI ID commit

  • misc: remove outdated USB LED driver commit

  • serial: ftdi_sio: add PIDs for Ivium Technologies devices commit

  • serial: ftdi_sio: add device ID for WICED USB UART dev board commit

  • serial: option: add WeTelecom 0x6802 and 0x6803 products commit

  • serial: option: add WeTelecom WM-D200 commit

  • serial: option: add support for Telit LE910 PID 0x1206 commit

  • serial: option: add support for Telit LE920A4 commit

12.9. Serial Peripheral Interface (SPI)

  • Add support for ACPI reconfigure notifications commit

  • orion: Add direct access mode commit

  • pxa2xx-pci: Enable SPI on Intel Merrifield commit

  • pxa2xx: Add support for Intel Kaby Lake PCH-H commit

12.10. Watchdog

  • Add Aspeed watchdog driver commit

  • Add Meson GXBB Watchdog Driver commit

  • add support for MCP78S chipset in nv_tco commit

  • f71808e_wdt: Add F81866 support commit

  • max77620: Add support for watchdog timer commit

12.11. Serial

  • 8250_early: Add earlycon support for Synopsys DesignWare ABP UART commit

  • 8250_pci: Adds support for the WCH CH355 4S card commit

  • sh-sci: Add support for GPIO-controlled modem lines commit

12.12. ACPI, EFI, cpufreq, thermal, Power Management

  • ACPI
    • Add support for reacting to changes in the ACPI tables that happen after the initial enumeration commit

    • Add Boot Error Record Table (BERT) support commit

    • Add support for Dynamic Platform and Thermal Framework (DPTF) Platform Power Participant device (INT3407) support commit

    • Add opregion driver for Intel BXT WhiskeyCove PMIC commit

    • Support for platform initiated graceful shutdown commit

    • Add support for Low Power Idle(LPI) states commit

    • Add support for configfs commit

    • add support for loading SSDTs via configfs commit

    • nfit: allow an ARS scrub to be triggered on demand commit

  • EFI: load SSTDs from EFI variables commit

  • cpufreq
    • intel_pstate: Broxton support commit

    • intel_pstate: Add more out-of-band IDs commit

  • cpuidle
    • powernv: Add support for POWER ISA v3 idle states commit

  • idle_intel: Add Denverton commit

12.13. Real Time Clock (RTC)

  • Add support for Maxim max6916 commit

  • pcf85063: Add support for the PCF85063A device commit

12.14. Voltage, current regulators, power capping, power supply

  • regulator
    • axp20x: Add support for the (external) drivebus regulator commit

    • axp20x: support AXP809 variant commit

    • da9211: add descriptions for da9212/da9214 commit

    • mt6323: Add support for MT6323 regulator commit

    • pwm: Support for enable GPIO commit

    • qcom_spmi: Add support for S4 supply on pm8941 commit

    • rn5t618: Add RN5T567 PMIC support commit

  • powercap
    • intel_rapl: Add support for Ivy Bridge server commit and for Denverton commit

  • power supply
    • Introduce Broadcom kona reset driver commit

    • reset: add reboot mode driver commit

12.15. Rapid I/O

  • Add driver for IDT gen3 switches commit

  • Add RapidIO channelized messaging driver commit

12.16. Pin Controllers (pinctrl)

  • Add Oxford Semiconductor OXNAS pinctrl and gpio driver commit

  • Add STM32F746 MCU support commit

  • intel: Add Intel Merrifield pin controller support commit

  • iproc: Add NSP and Stingray GPIO support commit

  • max77620: add pincontrol driver for MAX77620/MAX20024 commit

  • nsp: add pinmux driver support for Broadcom NSP SoC commit

  • qcom-ssbi: support for PM8058 commit

  • qcom: Add support for MDM9615 TLMM commit

  • qcom: add support for EBI2 commit

  • sh-pfc: r8a7795: Add DRIF support commit

  • sh-pfc: r8a7795: add support for voltage switching commit

  • uniphier: add UniPhier PH1-LD11 pinctrl driver commit

  • uniphier: add UniPhier PH1-LD20 pinctrl driver commit

  • uniphier: support 3-bit drive strength control commit

12.17. Memory Technology Devices (MTD)

  • atmel-quadspi: add driver for Atmel QSPI controller commit

  • brcmnand: Add v7.2 controller support commit

  • mediatek: driver for MTK Smart Device commit

  • spi-nor: Add driver for Cadence Quad SPI Flash Controller commit

  • spi-nor: Added support for n25q00a. commit

  • spi-nor: add hisilicon spi-nor flash controller driver commit

  • spi-nor: support dual, quad, and WP for Gigadevice commit

12.18. Multi Media Card

  • core: implement enhanced strobe support commit

  • debugfs: add HS400 enhanced strobe description commit

  • sdhci-bcm2835: remove driver commit

  • sdhci-brcmstb: Add driver for Broadcom BRCMSTB SoCs commit

12.19. Industrial I/O (iio)

  • Add driver for Broadcom iproc-static-adc commit

  • Add support for creating IIO devices via configfs commit

  • accel: Add support for Bosch BMA220 commit

  • accel: Add support for Freescale MMA7660FC commit

  • accel: Add triggered buffer support for BMA220 commit

  • accel: st_accel: Add lis3l02dq support commit

  • adc: nau7802: Expose possible gains in sysfs commit

  • adc: ti-ads1015: add support for ADS1115 part commit

  • chemical: atlas-ph-sensor: add EC feature commit

  • iio_generic_buffer: Add --device-num option commit

  • iio_generic_buffer: Add --trigger-num option commit

  • magn: Add support for BMM150 magnetometer commit

  • magn: ak8975: add Vid regulator commit

  • max5487: Add support for Maxim digital potentiometers commit

  • mma8452: add support for oversampling ratio commit

  • ms5637 Add Measurement Specialties explicit MS5805 and MS5837 support commit

  • potentiometer: mcp4531: Add support for MCP454x, MCP456x, MCP464x and MCP466x commit

  • pressure: bmp280: add SPI interface driver commit

  • pressure: bmp280: add humidity support commit

  • pressure: bmp280: add power management commit

  • pressure: bmp280: support supply regulators commit

  • stx104: Add GPIO support for the Apex Embedded Systems STX104 commit

  • imu:mpu6050: icm20608 initial support commit

  • st_pressure:initial lps22hb sensor support commit

  • st_pressure:lps22hb: temperature support commit

  • trigger: Experimental kthread tight loop trigger (thread only) commit

  • imu: bmi160: Add avail frequency and scale attributes commit

12.20. Multi Function Devices (MFD)

  • Add support for COMe-cSL6 and COMe-mAL10 to Kontron PLD driver commit

  • altr_a10sr: Add Altera Arria10 DevKit System Resource Chip commit

  • rn5t618: Add Ricoh RN5T567 PMIC support commit

12.21. Pulse-Width Modulation (PWM)

  • Add ChromeOS EC PWM driver commit

  • Add PWM capture support commit

  • Add a driver for the STMPE PWM commit

  • Add support for Broadcom iProc PWM controller commit

  • lpss: pci: Enable PWM module on Intel Edison commit

  • sysfs: Add PWM capture support commit

  • tegra: Add support for Tegra186 commit

  • tegra: Add support for reset control commit

12.22. Inter-Integrated Circuit (I2C)

  • Add support for ACPI reconfigure notifications commit

  • designware-pci: Introduce Merrifield support commit

  • i801: add support of Host Notify commit

  • rk3x: add i2c support for rk3399 soc commit

  • smbus: add SMBus Host Notify support commit

12.23. Hardware monitoring (hwmon)

  • jc42: Add support for Microchip MCP9808 temperature sensor commit

  • sht3x: add humidity heater element control commit

  • tmp401: Add support for TI TMP461 commit

  • Add driver for FTS BMC chip "Teutates" commit

  • Add support for INA3221 Triple Current/Voltage Monitors commit

  • add support for Sensirion SHT3x sensors commit

12.24. General Purpose I/O (gpio)

  • tools/gpio: add the gpio-event-mon tool commit

  • tools/gpio: add the gpio-hammer tool commit

  • userspace ABI for reading GPIO line events commit

  • userspace ABI for reading/writing GPIO lines commit

  • Add ACPI support for XLP GPIO controller commit

  • max77620: add gpio driver for MAX77620/MAX20024 commit

  • mmio: add MyBook Live GPIO support commit

  • pca953x: Add support for TI PCA9536 commit

  • pca953x: enable driver on Intel Edison commit

  • xilinx: Add support to set multiple GPIO at once commit

12.25. Clocks

  • gxbb: add AmLogic GXBB clk controller driver commit

  • meson: add mpll support commit

  • meson: fractional pll support commit

  • renesas: Add R8A7792 support commit

  • renesas: cpg-mssr: Add support for R-Car M3-W commit

  • rockchip: add clock-ids for rk3228 MAC clocks commit

  • rockchip: add clock-ids for rk3228 audio clocks commit

  • sunxi-ng: Add M-P factor clock support commit

  • sunxi-ng: Add N-K-M Factor clock commit

  • sunxi-ng: Add N-K-M-P factor clock commit

  • sunxi-ng: Add N-K-factor clock support commit

  • sunxi-ng: Add N-M-factor clock support commit

  • sunxi-ng: Add common infrastructure commit

  • sunxi-ng: Add divider commit

  • sunxi-ng: Add fractional lib commit

  • sunxi-ng: Add gate clock support commit

  • sunxi-ng: Add mux clock support commit

  • sunxi-ng: Add phase clock support commit

  • clocksource
    • oxnas-rps: Add Oxford Semiconductor RPS Dual Timer commit

    • rockchip: Add support for the rk3399 SoC commit

12.26. Hardware Random Number Generator

  • bcm2835 - Add support for Broadcom BCM5301x commit

  • bcm2835 - Support Broadcom NSP SoC rng commit

  • chaoskey - Add support for Araneus Alea I USB RNG commit

  • meson - Add Amlogic Meson Hardware Random Generator commit

12.27. Various

  • cxl: Add mechanism for delivering AFU driver specific events commit

  • cxl: Add support for CAPP DMA mode commit

  • cxl: Add support for interrupts on the Mellanox CX4 commit

  • bus: Add support for Tegra ACONNECT commit

  • can: rcar_canfd: Add Classical CAN only mode support commit

  • can: rcar_canfd: Add Renesas R-Car CAN FD driver commit

  • EDAC, altera: Add Arria10 Ethernet EDAC support commit

  • EDAC, skx_edac: Add EDAC driver for Skylake commit

  • char/genrtc: remove the rest of the driver commit

  • dmaengine: Add Xilinx zynqmp dma engine driver support commit

  • dmaengine: mv_xor_v2: new driver commit

  • eeprom: at24: add support for at24mac series commit

  • extcon: adc-jack: add suspend/resume support commit

  • firmware: qcom: scm: Add support for ARM64 SoCs commit

  • firmware: qcom: scm: Peripheral Authentication Service commit

  • fsl/qe: setup clock source for TDM mode commit

  • iommu/mediatek: add support for mtk iommu generation one HW commit

  • irqchip/aspeed-vic: Add irq controller for Aspeed commit

  • irqchip/gic: Add platform driver for non-root GICs that require RPM commit

  • leds: LED driver for TI LP3952 6-Channel Color LED commit

  • mailbox: Add Broadcom PDC mailbox driver commit

  • memory/mediatek: add support for mt2701 commit

  • memory: add Atmel EBI (External Bus Interface) driver commit

  • misc: delete bh1780 driver commit

  • soc: renesas: rcar-sysc: Add support for R-Car M3-W power areas commit

  • soc: renesas: rcar-sysc: add R8A7792 support commit

  • regmap: Support bulk writes for devices without raw formatting commit

  • remoteproc: qcom: Driver for the self-authenticating Hexagon v5 commit

  • reset: Add support for the Amlogic Meson SoC Reset Controller commit

  • reset: add TI SYSCON based reset driver commit

  • reset: hisilicon: Add hi6220 media subsystem reset support commit

  • phy: Add Northstar2 PCI Phy support commit

  • phy: Add SATA3 PHY support for Broadcom NSP SoC commit

  • phy: da8xx-usb: new driver for DA8xx SoC USB PHY commit

  • ntb_perf: Allow limiting the size of the memory windows commit

  • ntb_tool: Add link status and files to debugfs commit

  • ntb_tool: Add memory window debug support commit

  • tpm/tpm_tis_spi: Add support for spi phy commit

  • tpm: Add TPM 2.0 support to the Nuvoton i2c driver (NPCT6xx family) commit

13. List of merges

  • Pull gfs2 updates

  • Pull char/misc driver updates

  • Pull staging and IIO driver updates

  • Pull tty/serial driver updates

  • Pull USB updates

  • Pull SH drivers updates

  • Pull hwmon updates

  • Pull RCU updates

  • Pull EFI updates

  • Pull locking updates

  • Pull RAS updates

  • Pull perf updates

  • Pull scheduler updates

  • Pull NOHZ updates

  • Pull x86/apic updates

  • Pull x86 mm updates

  • Pull x86 boot updates

  • Pull x86 build updates

  • Pull x86 cleanups

  • Pull x86 stackdump update

  • Pull x86 fpu updates

  • Pull x86 platform updates

  • Pull x86 timer updates

  • Pull timer updates

  • Pull irq updates

  • Pull KVM leftovers

  • Pull s390 updates

  • Pull documentation updates

  • Pull crypto updates

  • Pull cgroup updates

  • Pull libata updates

  • Pull core block updates

  • Pull block driver updates

  • Pull device mapper updates

  • Pull x8 platform driver updates

  • Pull power management updates

  • Pull ACPI updates

  • Pull ext4 updates

  • Pull orangefs updates

  • Pull pstore subsystem updates

  • Pull media updates

  • Pull GPIO updates

  • Pull regmap updates

  • Pull regulator updates

  • Pull power supply and reset updates

  • Merge updates from akpm

  • Pull xfs updates

  • Pull f2fs updates

  • Pull dlm updates

  • Pull tile architecture updates

  • Pull arm64 updates

  • Pull xen updates

  • Pull networking updates

  • Pull EDAC updates

  • Pull IPMI updates

  • Pull LED updates

  • Pull spi updates

  • Pull i2c updates

  • Pull input updates

  • Pull SCSI updates

  • Pull media documentation updates

  • Pull random driver updates

  • Pull HSI updates

  • This changes the vfs dentry hashing to mix in the parent pointer at the

  • Pull vfs updates

  • Pull quota update

  • Pull trivial tree updates

  • Pull HID updates

  • Pull remoteproc updates

  • Pull dmaengine updates

  • Merge more updates from akpm

  • Pull pin control updates

  • Pull libnvdimm updates

  • Pull MD updates

  • Pull VFIO updates

  • Pull tracing updates

  • Pull CIFS/SMB3 fixes

  • Pull freevxfs updates

  • Pull overlayfs update

  • Pull fuse updates

  • Pull ARM updates

  • Pull AVR32 updates

  • Pull sparc updates

  • Pull smp hotplug updates

  • Pull userns vfs updates

  • Pull security subsystem updates

  • Pull audit updates

  • Pull clk updates

  • Pull DeviceTree updates

  • Pull x86 cpufeature updates

  • Pull x86 microcode updates

  • Pull NFS client updates

  • Pull powerpc updates

  • Pull sound updates

  • Pull btrfs updates

  • Pull watchdog updates

  • Pull MMC updates

  • Pull mailbox updates

  • Pull IOMMU updates

  • Pull MFD updates

  • Pull backlight updates

  • Pull x86 header cleanups

  • Pull crypto fixes

  • Pull more hwmon updates

  • Pull kselftest fixes

  • Pull kselftest updates

  • Pull ARM SoC cleanups

  • Pull ARM SoC platform updates

  • Pull 64-bit ARM SoC updates

  • Pull ARM SoC defconfig updates

  • Pull ARM SoC driver updates

  • Pull ARM DT updates

  • Pull 64-bit ARM DT updates

  • Pull ia64 updates

  • Merge drm updates

  • Pull more s390 updates

  • Pull KVM updates

  • Pull kbuild updates

  • Pull misc kbuild updates

  • Pull MTD updates

  • Pull PCI updates

  • Pull Ceph updates

  • Pull orangefs update

  • Merge yet more updates from akpm

  • Merge even more updates from akpm

  • Pull module updates

  • Pull media DocBook removal and some fixups

  • Pull m68knommu updates

  • Pull parisc updates

  • Pull UML updates

  • Pull UBI/UBIFS updates

  • Pull more btrfs updates

  • Pull nfsd updates

  • Pull SCSI target updates

  • Pull base rdma updates

  • Pull second round of rdma updates

  • Pull metag architecture updates

  • Pull more powerpc updates

  • Pull RTC updates

  • Pull more USB updates

  • Pull more input updates

  • Pull more power management updates

  • Pull more ACPI updates

  • Pull NTB updates

  • Pull pwm updates

  • Pull arch/sh updates

  • Pull perf updates

  • Pull MIPS updates

  • Pull more KVM updates

  • Pull virtio/vhost updates

  • Pull qstr constification updates

  • Pull more xfs updates

  • Pull more vfs updates

  • Pull binfmt_misc update

  • Pull drm zpos property support

14. Other news sites

  • LWN's 4.8 Merge window, part 1, part 2, part 3

  • Phoronix.com The Many Exciting Features To The Linux 4.8 Kernel

  • security things in Linux v4.8

  • heise.de Die Neuerungen von Linux 4.8

  • linuxfr.org Sortie du noyau Linux 4.8

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