Linux 4.11 has been released on Sun, 30 Apr 2017.

Summary: This release adds support for pluggable IO schedulers framework in the multiqueue block layer, journalling support in the MD RAID5 implementation that closes the write hole, a more scalable swapping implementation for swap placed in SSDs, a new statx() system call that solves the deficiencies of the existing stat(), a new perf ftrace tool that acts as a frontend for the ftrace interface, support for drives that implement the OPAL Storage Specification, support for the Shared Memory Communications-RDMA protocol as defined in RFC7609, persistent scrollback buffers for all VGA consoles, and many new drivers and other improvements.

1. Prominent features

1.1. Pluggable IO schedulers framework in the multiqueue block layer

The Linux block layer is know to have different IO schedulers (deadline, cfq, noop, etc) with different performance characteristics each one, and users are allowed to switch between them on the fly. In Linux 3.13, the block layer added a new multiqueue design that performs better with modern hardware (eg. SSD, NVM). However, this new multiqueue design didn't include support for pluggable IO schedulers.

This release solves that problem with the merge of a multiqueue-ready IO scheduling framework. A port of the deadline scheduler has also been added (more IO schedulers will be added in the future)

Code: merge, commit

1.2. Scalable swapping for SSDs

Modern storage devices such as SSDs are making the usage of swapping attractive not just as a way to deal with excessive memory load, but also as a performance enhancement technique. Cloud providers, for example, can overcommit memory more aggressively and fit more VMs to a platform with a fast swap device. However, the swapping implementation was designed for traditional rotating hard disks, where the performance and latency of the swap did not matter as much as it does with modern storage. This release makes the swap implementation more scalable, making it more suitable for use with modern storage devices.

Recommended LWN article: Making swapping scalable

Code: commit, commit, commit, commit, commit, commit, commit, commit, commit

1.3. Journaled RAID5 to close the write hole

Based in work started in Linux 4.4, this release adds journalling support to RAID4/5/6 in the MD layer (not to be confused with btrfs RAID). With a journal device configured (typically NVRAM or SSD), the "RAID5 write hole" is closed - a crash during degraded operations cannot result in data corruption.

Recommended LWN article: A journal for MD/RAID5

Blog entry: Improving software RAID with a write-ahead log

Code: commit

1.4. statx(2), a modern stat(2) alternative

Due to several shortcomings in the stat(2) system call (like not being y2038 ready or not playing well with networking filesystems), a new system call has been worked through the years, with the final result being statx(2), a new system call that has been added in this release.

Recommended LWN article: statx() v3

Code: commit

1.5. New perf ftrace tool

A new tool has been added to the perf toolkit: perf ftrace. This tool intends to be a simple perf front-end for the already existing ftrace interface. In this release, it only supports two tracers, function_graph or function (default tracer is function_graph, it can be configured in the ftrace.tracer config key). Only single thread tracing and the tool just reads trace_pipe in text and then write it to stdout. More features are expected in future releases.

Code: commit, commit, commit

1.6. Support for OPAL drives

The Opal Storage Specification is a set of specifications for features of data storage devices (such as disk drives) that enhance their security. For example, it defines a way of encrypting the stored data so that an unauthorized person who gains possession of the device cannot see the data. That is, it is a specification for self-encrypting drives.

This release adds Linux support for Opal nvme enabled controllers. It enables users to setup/unlock/lock locking ranges for SED devices using the Opal protocol.

Code: commit, commit

1.7. Support for the SMC-R protocol (RFC7609)

This release includes the initial part of the implementation of the "Shared Memory Communications-RDMA" (SMC-R) protocol as defined in RFC7609. SMC-R is an IBM protocol that provides RDMA capabilities over RoCE transparently for applications exploiting TCP sockets. While SMC-R does not aim to replace TCP, it taps a wealth of existing data center TCP socket applications to become more efficient without the need for rewriting them. A new socket protocol family PF_SMC is introduced. There are no changes required to applications using the sockets API for TCP stream sockets other than the specification of the new socket family AF_SMC . Unmodified applications can be used by means of a dynamic preload shared library.

SMC-R uses RDMA over Converged Ethernet (RoCE) to save CPU consumption. SMC-R inherits TCP qualities such as reliable connections, host-based firewall packet filtering (on connection establishment) and unmodified application of communication encryption such as TLS (transport layer security) or SSL (secure sockets layer). Since original TCP is used to establish SMC-R connections, load balancers and packet inspection based on TCP/IP connection establishment continue to work for SMC-R.

RFC: RFC7609

Code: merge

1.8. Persistent scrollback buffers for all VGA consoles

Not an important feature, specially for tmux/screen users, but probably annoying for many others: this release adds optional support for scrollback history not being flushed when switching between consoles (this breaks tools like clear_console that rely on flushing the scrollback history by switching back and forth between consoles which is why this feature is disabled by default. Use the escape sequence \e[3J instead for flushing the buffer)

Code: commit, commit

2. Core (various)

statx: Add a system call to make enhanced file info available (FEATURED) commit

task scheduler: Show the current (leftover) runtime and absolute deadline of a SCHED_DEADLINE task through /proc/$PID/sched (entries dl.runtime and dl.deadline ), while debugging/testing commit

console: Add persistent scrollback buffers for all VGA consoles (FEATURED) commit, commit

Disable membarrier(2) when nohz_full is enabled commit

sigaltstack: support SS_AUTODISARM for CONFIG_COMPAT commit

Add grsecurity structleak GCC plugin. It zero-initializes data structures, which can prevent some classes of information exposures security bugs commit

cgroup Added rdma cgroup controller commit Drop the matching uid requirement on migration for cgroup v2 commit

timers: Remove CONFIG_TIMER_STATS , as the tracer can give the same information commit

rcu: Make RCU_EXPEDITE_BOOT be the default commit

rcutorture: Add CBMC-based formal verification for SRCU commit

slub: make sysfs directories for memcg sub-caches optional commit

IPC: add hysteresis to reduces how often the per-semaphore locks must be scanned commit

analyze_suspend.py: Update to upstream v4.5 commit, commit, commit

inotify: Convert to using per-namespace limits commit

namespaces Add an ioctl, NS_GET_OWNER_UID , that fetches the UID (as seen in the user namespace of the caller) of the creator of the user namespace referred to by the specified file descriptor commit Add an ioctl, NS_GET_NSTYPE , which, given a file descriptor that refers to a user namespace, returns the namespace type (one of the CLONE_NEW* constants) commit

BPF Add new bpf MAP, implementing a longest prefix match trie. This trie implements a longest prefix match algorithm that can be used to match IP addresses to a stored set of ranges commit Make jited programs visible in traces commit Add initial bpf tracepoints commit Enable load bytes helper for filter/reuseport progs commit Allow adjusted map element values to spill commit Allow helpers access to variable memory commit Allow helpers access to map element values commit Allow b/h/w/dw access for bpf's cb in ctx commit

binder Support multiple /dev instances commit, commit Add support for scatter-gather commit Add support for file-descriptor arrays commit

userfaultfd(2): Add support for 1) tmpfs non present userfault, 2) hugetlbfs non present userfault, 3) non cooperative userfault for fork/madvise/mremap commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit Add madvise() event for MADV_REMOVE request commit, commit, commit non-cooperative: better tracking for mapping changes commit, commit, commit, commit, commit Add UFFDIO_COPY support for shared mappings commit

lib: update LZ4 compressor module commit

3. File systems

AFFS Make affs exportable commit

BTRFS Btrfs: bulk delete checksum items in the same leaf commit

CIFS Per-share encryption merge SMB2.1/SMB3 enablement for DFS commit

EXT4 Add debug_want_extra_isize mount option: Useful to test the inode extra isize expansion code commit Add EXT4_IOC_SHUTDOWN ioctl, modeled after the XFS's XFS_IOC_GOINGDOWN ioctl commit, commit

F2FS Introduce noinline_xattr mount option commit Enable inline_xattr by default commit Support IO alignment for DATA and NODE writes, to eliminate underlying dummy page problem which FTL conducts in order to close MLC or TLC partial written pages commit debug: show # of APPEND and UPDATE inodes commit, show # of on-going flush and discard bios commit Add a kernel thread to issue discard commands asynchronously commit

ORANGEFS Support readahead_readcnt parameter commit

OVERLAYFS Copy up can take a long time, so serialized copy ups could be a big performance bottleneck. Allow concurrent copy up of regular files commit, commit, commit, commit, commit, commit



4. Memory management

Make memcg slab destruction scalable commit, commit, commit, commit, commit, commit, commit, commit, commit, commit

Add vmstats for kcompactd work commit

Alter the per-cpu alloctor to make it exclusive to !irq requests. This cuts allocation/free overhead by roughly 30% commit, commit, commit

Transparent Huge Pages: add new defer+madvise defrag option commit

HWPOISON: Extend soft offlining framework to support non-lru page commit

Enable memory hotplug for non-lru movable pages commit

KSM: improve deduplication of zero pages with colouring commit

Make swap more scalable (FEATURED) commit, commit, commit, commit, commit, commit, commit, commit, commit

zram: remove obsolete sysfs attrs commit

5. Block layer

blk-mq io scheduling framework, with a port of the deadline scheduler for this framework (FEATURED) merge, commit

Opal support for the block layer commit

blk-mq: add extra request information to debugfs commit, commit, commit, commit, commit, commit, commit, commit, commit

Device Mapper dm cache metadata: add "metadata2" feature, a new version of the metadata. It stores the dirty bits in a separate btree, which improves speed of shutting down the cache commit dm raid: Add raid4/5/6 journaling support (FEATURED) commit A new I/O barrier implementation to remove resync window commit

rbd: support for data-pool feature commit

6. Tracing and perf tool

perf Introduce 'perf ftrace' a perf front end to the kernel's ftrace function and function_graph tracer, defaulting to the "function_graph" tracer, more work will be done to improve this tool in the future commit, commit, commit perf diff: Add 'delta-abs' compute method to --compute . The 'delta-abs' compute method is same as 'delta' but shows entries with bigger absolute delta first instead of sorting numerically. It is the default compute method now, but it can be configured with the diff.compute configuration option commit, commit, commit Add -q/--quiet option to annotate commit, record commit, diff commit, report commit Add 'e' and 'c' hotkeys to expand/collapse call chains for a single hist entry in the 'perf report' and 'perf top' TUI commit perf sched: Add --state option to show task state when switched out. Thread wait time is divided into 3 parts - sleep, iowait and preempt commit, commit, commit In addition to switching to a different output file (perf.data.TIMESTAMP) when receiving a SIGUSR2 signal, one can also specify file size and time based triggers. For example, perf record -a --switch-output=2G will break the perf.data output into multiple files limited to 2GB of samples,and perf record -a --switch-output=1m will limit perf.data output files to 1 minute. Previous behaviour ( --switch-output alone is now equivalent to perf record -a --switch-output=signal commit, commit New 'perf kallsyms' toy tool to look for extended symbol information on the running kernel. Its similar to doing grep on a /proc/kallsyms, but it also shows extra information like the path to the kernel module and the unrelocated addresses in it, to help in diagnosing problems commit perf diff: Add diff.order config option commit perf list: Add --debug support for outputing alias string commit perf probe: Add option --symfs as other tools commit Add -a as default target to perf record commit and perf stat commit perf trace: Allow specifying list of syscalls and events in -e/--expr/--event commit

ftrace: Add ftrace_graph_max_depth kernel parameter. This is the max depth it will trace into a function commit

perf_event cgroup controller: make perf_event controller work on cgroup2 hierarchy commit

7. Virtualization

Add kvm PTP driver commit

XEN privcmd: add IOCTL_PRIVCMD_RESTRICT to allow a user of privcmd to restrict its operation such that it will no longer service arbitrary hypercalls commit, and add IOCTL_PRIVCMD_DM_OP to provide a mechanism for restricting device emulators (such as QEMU) to a limited set of hypervisor operations, and being able to audit those operations in the kernel of the domain in which they run commit

vhost: introduce O(1) vq metadata cache commit

hv_utils: implement Hyper-V PTP source commit

virtio: support crypto engine framework commit

virtio_blk: make SCSI passthrough support configurable commit

8. Cryptography

Add siphash, a cryptographically secure PRF commit, commit

aes: Add generic time invariant AES cipher commit

9. Security

audit: Add a method to reset the audit_lost value commit

random: use chacha20 for get_random_int/long commit

LSM: Add /sys/kernel/security/lsm to know which LSMs are active commit

Introduce STATIC_USERMODEHELPER to route all calls to usermode helpers through the binary specified in this option commit

Apparmor Add policy namespaces commit, commit Add support for force complain flag to support learning mode commit Provide userspace flag indicating binfmt_elf_mmap change commit Remove paranoid load switch commit Allow introspecting the policy namespace name commit and the loaded policy pre internal transform commit Support querying extended trusted helper extra data commit Make computing policy hashes conditional on apparmor.hash_policy kernel parameter commit

Selinux: support distinctions among all network address families commit

tpm Add securityfs support for TPM 2.0 firmware event log commit Enhance TPM 2.0 PCR extend to support multiple banks commit



10. Networking

Initial part of the implementation of the "Shared Memory Communications-RDMA" (SMC-R) protocol as defined in RFC7609 (FEATURED) merge

Use newly added SipHash algorithm for secure sequence numbers, instead of MD5, and for syncookies, instead of SHA1 commit, commit

TCP Enables RACK loss detection (draft-ietf-tcpm-rack-01) to trigger fast recovery with a reordering timer. A few similar heuristics are no longer needed and are either removed or disabled to reduce the complexity of the Linux TCP loss recovery engine: 1) FACK (Forward Acknowledgement), 2) Early Retransmit (RFC5827), 3) thin_dupack (fast recovery on single DUPACK for thin-streams), 4) NCR (Non-Congestion Robustness RFC4653), and 5) Forward Retransmit. After this change, Linux's loss recovery algorithms consist of: 1) Conventional DUPACK threshold approach (RFC6675), 2) RACK and Tail Loss Probe (draft-ietf-tcpm-rack-01), 3) RTO plus F-RTO extension (RFC5682) commit, commit ,commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit TCP fast open: Adds a new socket option, TCP_FASTOPEN_CONNECT , as an alternative way to perform Fast Open on the active side (client) commit Add two stats in SCM_TIMESTAMPING_OPT_STATS : TCP_NLA_DATA_SEGS_OUT : total data packets sent including retransmission, TCP_NLA_TOTAL_RETRANS : total data packets retransmitted commit, include locally failed retries in retransmission stats commit

ipv4 Namespaceify knobs tcp_max_syn_backlog commit, tcp_tw_recycle and tcp_max_tw_buckets commit Introduce a sysctl, ip_unprivileged_port_start , that modifies the value of PROT_SOCK commit

ipv6 Add support to dump multipath routes via RTA_MULTIPATH attribute commit Allow shorthand delete of all nexthops in multipath route commit Allow sysctl to change link-local address generation mode commit

bridge Implements an optional, per bridge port flag and feature to deliver multicast packets to any host on the according port via unicast individually commit Adds support to attach per vlan tunnel info dst metadata commit Add per vlan tunnel info commit

Wireless (802.11) Add support to use a random local address for Public Action frames in order to improve privacy of WLAN clients commit When NL80211_ATTR_SOCKET_OWNER flag is supplied to CMD_CONNECT , disconnect or deauthenticate when the owning socket is closed. This may be used to ensure userspace daemon doesn't leave an unmanaged connection behind commit Enhance the connect timeout API to also carry the reason for the timeout. These reason codes are passed to user space through a new attribute NL80211_ATTR_TIMEOUT_REASON commit Add the ability for an AP (and associated VLANs) to perform multicast-to-unicast conversion for ARP, IPv4 and IPv6 frames (possibly within 802.1Q) commit Enhance sched scan to support option of finding a better BSS while in connected state commit

netfilter Allow logging from non-init namespaces commit nf_tables: add bitmap set type commit nfnetlink: allow to check for generation ID commit nft_ct: add average bytes per packet support commit nft_exthdr: add TCP option matching commit

SCTP Add support for SCTP checksum commit Add sender-side procedures for stream reconf ssn reset request chunk commit, commit, commit, commit, commit, commit Add sender-side procedures for stream reconf asoc reset and add streams, commit, commit, commit, commit, commit, commit Add receiver-side procedures for stream reconf ssn reset request chunk commit, commit, commit, commit,commit Add support for MSG_MORE commit

RDS: add receive message trace used by application commit, add stat for socket recv memory usage commit

af_packet: TX_RING support for TPACKET_V3 commit

Encapsulating Security Payload (ESP): Add a software GRO for ESP on ipv4 and ipv6 commit

ipmr: improve hash scalability commit

mpls: Packet stats commit, add support for netconf commit

net sched actions: Add support for user cookies commit

act_pedit: Introduce 'add' operation commit, support using offset relative to the conventional network headers commit

Introduce psample, a general way for kernel modules to sample packets, without being tied to any specific subsystem. This netlink channel can be used by tc, iptables, etc. and allow to standardize packet sampling in the kernel commit

sched: Introduce sample tc action. This action allows the user to sample traffic matched by tc classifier. The sampling consists of choosing packets randomly and sampling them using the psample module. The user can configure the psample group number, the sampling rate and the packet's truncation (to save kernel-user traffic) commit

sched: cls_flower: Support matching on ARP, and hardware and protocol addresses for Ethernet hardware and IPv4 protocol addresses commit, commit

netlink: Add the functionality for including address-family-specific per-link stats in RTM_GETSTATS messages. This is done through adding a new IFLA_STATS_AF_SPEC attribute under which address family attributes are nested and then the AF-specific attributes can be further nested commit

Avoid receiving packets with an l3mdev on unbound UDP sockets. Also add a sysctl, udp_l3mdev_accept, to control this behaviour with it being analgous to the existing tcp_l3mdev_accept, namely to allow a process to have a VRF-global listen socket. Have this default to off as this is the behaviour that users will expect commit

Introduce IFE encapsulation module. For details refer to this paper commit

SNMP: Add LINUX_MIB_PFMEMALLOCDROP counter commit

dsa: Remove hwmon support commit

openvswitch: Add force commit commit

rfkill: Add a new "global" (i.e. not per-rfkill device) LED trigger, rfkill-any, which may be useful on laptops with a single "radio LED" and multiple radio transmitters commit, remove rfkill-regulator (has no users) commit

tipc: Introduce replicast as transport option for multicast commit, commit

unix sockets: add ioctl to open a unix socket file with O_PATH commit

vxlan: support fdb and learning in COLLECT_METADATA mode commit

xprtrdma: Per-connection pad optimization commit, commit

11. Architectures

12. Drivers

12.1. Graphics

Add tinydrm, a driver that provides helpers to make easier to create drivers for very simple displays that can use CMA backed framebuffers and need flushing on changes commit, commit, commit

Allow to use mmuless SoC commit

Intel Add Geminilake PCI IDs commit Enable framebuffer compression on gen9+ too commit Enable DP MST audio commit, commit HuC loading support commit, commit, commit, commit, commit Add i915 perf interface to retrieve Gen performance metrics commit, commit, commit, commit Add dev.i915.oa_max_sample_rate sysctl commit Add dev.i915.perf_stream_paranoid sysctl to optionally allow non-root users to access system wide OA counter metrics from Gen graphics hardware commit Setup bridge for HDMI LPE audio driver commit

amdgpu/radeon Preliminary SR-IOV support merge, commit, commit, commit, commit Add PCI info to gca_config debugfs commit Add POLARIS12 PCI ID commit Extend profiling mode commit

nouveau Initial power budget code commit

exynos decon5433: add support for interlace modes commit mic: Add runtime PM support commit hdmi: add bridge support commit

rockchip Add cdn DP support for rk3399 commit

msm Support for HW cursor on MDP5 devices commit, commit dsi: Add PHY/PLL for 8x96 commit

bridge/sii8620 Enable interlace modes commit Enable MHL3 mode if possible commit Initial support for eCBUS-S mode commit

vc4 Add DSI driver commit

zte HDMI audio via SPDIF interface commit Video Layer overlay plane support commit Add interlace mode support commit Add tvenc driver support commit

ast Base support for AST2500 commit

bochs Implement nomodeset commit

mgag200 Added support for the new device G200eH3 commit

panel, simple Add Netron DY E231732 commit Add support BOE NV101WXMN51 commit Add support for Tianma TM070JDHG30 commit



12.2. Storage

ahci imx: Add imx53 SATA temperature sensor support commit qoriq: added ls2088a platforms support commit Add Atari Falcon PATA controller driver commit

lightnvm: add ioctls for vector I/Os commit

nvme Add Support for Opal commit Enable autonomous power state transitions commit Make controller state visible via sysfs commit Detect NVMe controller in recent MacBooks commit Support ranged discard requests commit nvme-rdma: add support for host_traddr commit

SCSI aacraid: Added ioctl to trigger IOP/IWBR reset commit, added new IWBR reset commit, added sa firmware support commit, added support for hotplug commit, added support for periodic wellness sync commit, added support for read medium error commit, added support for response path commit, added support to abort cmd and reset lun commit, added support to set QD of attached drives commit, added sysfs for driver version commit, include HBA direct interface commit, VPD 83 type3 support commit cxlflash: Enable PCI device ID for future IBM CXL Flash AFU commit, support SQ Command Mode commit

cxgbit: add T6 iSCSI DDP completion feature commit qla2xxx Add DebugFS node to display Port Database commit Add Dual mode support in the driver commit Add framework for async fabric discovery commit Export DIF stats via debugfs commit Remove SRR code commit ufs Add sysfs node to dynamically control clock gating commit Add sysfs node to dynamically control clock scaling commit Provide sysfs attribute to select the PM level commit Set default UFS power management level commit Add time profiling support commit

lpfc: NVME Initiator/Target commit, commit, commit, commit, commit, commit, commit, commit

megaraid_sas 128 MSIX Support commit Add new pci device Ids for SAS3.5 Generic Megaraid Controllers commit Add the Support for SAS3.5 Generic Megaraid Controllers Capabilities commit Dynamic Raid Map Changes for SAS3.5 Generic Megaraid Controllers commit EEDP Escape Mode Support for SAS3.5 Generic Megaraid Controllers commit Implement the PD Map support for SAS3.5 Generic Megaraid Controllers commit NVME fast path io support commit

qedf: Add QLogic FastLinQ offload FCoE driver framework commit

qedi: Add PCI device-ID for QL41xxx adapters commit

scsi_debug: Add OPTIMAL TRANSFER LENGTH GRANULARITY option commit

storvsc Enable multi-queue support commit Use tagged SRB requests if supported by the device commit

sunvdc: Add support for setting physical sector size commit

12.3. Drivers in the Staging area

lirc_bt829: remove commit

lirc_parallel: remove commit

lirc_imon: port remaining usb ids to imon and remove commit

i4l: delete the whole thing commit

comedi: ni_pcimio: Support more PXI cards commit, ni_660x: Support PCI-6224 commit

greybus: remove timesync protocol support commit

Import the BCM2835 MMAL-based V4L2 camera driver commit

12.4. Networking

Bluetooth Add another AR3012 04ca:3018 device commit btusb: Add out-of-band wakeup support commit, add support for 413c:8143 commit, add support for 0bb4:0306 commit hci_bcm: Add support for BCM2E95 and BCM2E96 commit

Infiniband Add default RoCE TOS to CMA configfs commit Added support to use rdma cgroup controller commit mlx4: Support raw packet protocol commit mlx5 Enable QP creation with cvlan offload commit Enable WQ creation and modification with cvlan offload commit Expose vlan offloads capabilities commit Remove deprecated module parameter commit Support 4k UAR for libmlx5 commit Support raw packet protocol commit Add support for flow tag commit Enable QP creation with cvlan offload commit Enable WQ creation and modification with cvlan offload commit Expose vlan offloads capabilities commit Add MPCNT register infrastructure commit Expose PCAM, MCAM registers infrastructure commit Add PPCNT physical layer statistical group infrastructure commit Add MTPPS and MTPPSE registers infrastructure commit

RDMA/bnxt_re: Add bnxt_re RoCE driver commit, commit

alx: add feature flag for rx checksumming commit

amd8111e: add GRO support commit

ath10k: add VHT160 support commit, add debugfs support to get per peer tids log via tracing commit

ath9k: Introduce airtime fairness scheduling between stations commit

atl1e: add GRO support commit

bnxt_en: Add IPV6 hardware RFS support commit, add basic XDP support commit, add new hardware RFS mode commit, add support for ethtool -p commit, added PCI IDs for BCM57452 and BCM57454 ASICs commit

brcmfmac: add support for BCM43455 with modalias sdio:c00v02D0dA9BF commit

can Add CAN interface API for fixed bitrates commit Add CAN interface termination API commit flexcan: add support for timestamp based rx-offload commit, make TX mailbox selectable during runtime commit rx-offload: Add support for HW fifo based irq offloading commit, add support for timestamp based irq offloading commit Add support of PCAN-Chip USB stamp module commit

cxgb4: Add new T5 and T6 pci device id's commit

dsa b53: Add support for port mirroring commit bcm_sf2: Add support for BCM7278 integrated switch commit, add support for ethtool::rxnfc commit, add support for port mirroring commit mv88e6xxx: Add support for ethernet switch 88E6141 commit, add support for ethernet switch 88E6341 commit, add EEPROM support to 6390 commit

enic: add vxlan offload on tx path commit

ep93xx_eth: add GRO support commit

aquantia: driver for quantia AQC107/AQC108 chipset commit, add 2500/5000 mbit link modes support commit

gtp: let userspace handle packets for invalid tunnels commit

i40e: Remove FPK HyperV VF device ID commit, save more link abilities when using ethtool commit

i40evf: remove unused device ID commit

ipvtap: IP-VLAN based tap driver commit

iwlwifi: mvm: support new alive notification commit, support new scan API commit, support new statistics APIs commit, support unification of INIT and RT images commit, support v2 of mfuart load notification commit, support two phys for a000 devices commit

ixgbe: Add PF support for VF promiscuous mode commit, implement support for firmware-controlled PHYs commit, support 2.5Gb and 5Gb speed commit

ixgbevf: Add support for VF promiscuous mode commit

ks8695net: add GRO support commit

liquidio: improve UDP TX performance commit

macb: Common code to enable ptp support for MACB/GEM commit

mlx4_en: Adding support of turning off link autonegotiation via ethtool commit

mlx5 Activate support for 4K UARs commit Add support for setting VF min rate commit Add support to s-tag in mlx5 firmware interface commit Implement PCAM, MCAM access register commands commit Query and cache PCAM, MCAM registers on initialization commit

mlx5e Expose PCIe statistics to ethtool commit Expose physical layer statistical counters to ethtool commit Implement 1PPS support commit Support SRIOV TC encapsulation offloads for IPv6 tunnels commit

mlxsw: Offload MC flood for unregister MC merge

mlxsw: Introduce TC Flower offload using TCAM merge

mvneta: add BQL support commit, add xmit_more support commit

mwifiex: Enable dynamic bandwidth signalling commit

emac: add support for device-tree based PHY discovery and setup commit

ti: cpsw: add support for descs pool size configuration commit

qmi_wwan: Add USB IDs for MDM6600 modem on Motorola Droid 4 commit

netvsc: add ethtool ops to get/set RSS key commit, report per-channel stats in ethtool statistics commit

nfp: add CPP access core commit

nfp: Netronome NFP4000 and NFP6000 PF driver merge

phy Add LED mode driver for Microsemi PHYs commit bcm7xxx: Add BCM74371 PHY ID commit, add entry for BCM7278 commit broadcom: add support for BCM54210E commit dp83867: Add lane swapping support in the DP83867 TI's PHY driver commit marvell: Add support for 88e1545 PHY commit, add support for temperature sensor commit

qcom/emac: add ethool support for setting pause parameters commit, add ethtool support commit, add ethtool support for reading hardware registers commit, add ethtool support for setting ring parameters commit

qed Add support for ndo_set_vf_trust commit Add infrastructure for PTP support commit Add support for hardware offloaded FCoE commit Support Multicast on Tx-switching commit

qede: Add driver support for PTP commit

qla3xxx: add GRO support commit

qmi_wwan: add Dell DW5811e commit

ravb: Support 1Gbps on R-Car H3 ES1.1+ and R-Car M3-W commit

rt2800usb: remove watchdog commit

rt2x00: add support for RT5350 WiSoC commit, add support for RT3352 with 20MHz crystal commit, support for for RT3352 with external PA commit

rtl8xxxu: Add USB ID for D-Link DWA-131 rev E1 (rtl8192eu) commit, add additional USB IDs for rtl8192eu devices commit, add another 8192eu device to the USB list commit

rtlwifi: Remove debugging entry in sysfs commit

sfc: read back RX hash config from the NIC when querying it with ethtool -x commit, support setting RSS hash key through ethtool API commit

sh_eth: add generic wake-on-lan support via magic packet commit, enable wake-on-lan for R-Car Gen2 devices commit, enable wake-on-lan for r8a7740/armadillo commit, enable wake-on-lan for sh7734 commit, enable wake-on-lan for sh7763 commit

stmmac: adding EEE to GMAC4 commit, enable rx queues commit

synopsys: remove dwc_eth_qos driver commit

systemport: Add support for SYSTEMPORT Lite commit

thunderx: Support to configure queue sizes from ethtool commit

ti: cpsw: add support for ringparam configuration commit

tun: rx batching commit

virtio_net: XDP support for adjust_head commit

vxlan: add changelink support commit

wcn36xx: Implement firmware assisted scan commit

wil6210: add disable_ap_sme module parameter commit, report association ID (AID) per station in debugfs commit, support new WMI-only FW capability commit

12.5. Audio

oxfw: add support for Mackie Onyx 1640i commit

hda realtek: Add support headphone Mic for ALC221 of HP platform commit, new codec support of ALC1220 commit, add new codec ID ALC299 commit Add DP MST audio support commit Add DP mst verb support commit Add Geminilake HDMI codec ID commit Add Geminilake PCI ID commit Add support for docking station for HP 820 G2 commit, add support for docking station for HP 840 G3 commit

ASoC Intel: add support for Realtek 5651 on Cherrytrail commit rt5640: Add "10EC3276" ACPI ID commit rt5645: add support for RT5648 commit, add ACPI ID 10EC3270 commit Intel: cht_bsw_rt5645: add Baytrail MCLK support commit Intel: Atom: Add HP Pavilion x2 10-p000 machine entry commit nau8540: new codec driver commit Add sun8i digital audio codec commit sun4i-spdif: Add support for the H3 SoC commit hdac_hdmi: Add device id for Geminilake commit Intel: add support for ALC3270 codec commit Intel: Skylake: Add Geminlake IDs commit Intel: Atom: add machine driver for baytrail-rt5645 hardware commit

add Intel HDMI LPE audio driver for BYT/CHT-T commit

hdmi: Add audio support for BYT and CHT commit

12.6. Tablets, touch screens, keyboards, mouses

cros_ec_keyb: Add non-matrix buttons and switches commit

intel-mid-touch: remove driver commit

tm2-touchkey: add touchkey driver support for TM2 commit

synaptics-rmi4: add sysfs interfaces for hardware IDs commit

Add driver for Zeitec ZET6223 commit

Delete MPU3050 driver commit

gpio-keys: add support for setkeycode commit

mousedev: stop offering PS/2 to userspace by default commit

synaptics-rmi4: add sysfs attribute update_fw_status commit

xpad: add support for Razer Wildcat gamepad commit

HID hid-mf: add force feedback support for Mayflash DolphinBar and GameCube commit Add device ID for updated Mayflash/Dragonrise GameCube adapter commit wacom: Support 2nd-gen Intuos Pro's Bluetooth classic interface commit wacom: generic: support generic touch switch commit, add vendor defined touch commit, support LEDs commit, add support for touchring commit rmi: Support the Lenovo Thinkpad X1 Tablet dock using hid-rmi commit corsair: Add driver Scimitar Pro RGB gaming mouse 1b1c:1b3e support to hid-corsair commit chicony: Add support for another ASUS Zen AiO keyboard commit uclogic: add support for Ugee Tablet EX07S commit



12.7. TV tuners, webcams, video capturers

vivid: Enable 4k resolution for webcam capture device commit

mn88473: add DVB-T2 PLP support commit

rc: add support for IR LEDs driven through SPI commit, add driver for IR remote receiver on MT7623 SoC commit, add a keytable for the GeekBox remote control commit

coda: add i.MX6 VDOA driver commit, support YUYV output if VDOA is used commit

si2168: implement ucb statistics commit, implement ber statistics commit

Driver for Toshiba et8ek8 5MP sensor commit

zd1301: ZyDAS ZD1301 DVB USB interface driver commit, zd1301_demod: ZyDAS ZD1301 DVB-T demodulator driver commit

st-hva: add debug file system commit

em28xx: support for Hauppauge WinTV-dualHD 01595 ATSC/QAM commit

lgdt3306a: support i2c mux for use by em28xx commit

st-delta: EOS (End Of Stream) support commit

Add Hama Hybrid DVB-T Stick support commit

cx231xx: Initial support Evromedia USB Full Hybrid Full HD commit

usbtv: add sharpness control commit

st-delta: STiH4xx multi-format video decoder v4l2 driver commit, add mjpeg support commit, rpmsg ipc support commit

12.8. Universal Serial Bus

cp210x: add new IDs for GE Bx50v3 boards commit

Add uPD78F0730 USB to Serial Adaptor Driver commit, commit

chipidea: Add support for ULPI PHY bus commit

dwc2: Add debugfs file to show params commit, show dr_mode via debugfs commit

qcserial: add Dell DW5811e commit

option: add Quectel UC15, UC20, EC21, and EC25 modems commit

misc: add USB251xB/xBi Hi-Speed Hub Controller Driver commit

plusb: Add support for PL-27A1 commit

12.9. Serial Peripheral Interface (SPI)

pxa2xx: Add support for Intel Gemini Lake commit, pca2xx-pci: Allow MSI commit

lantiq-ssc: add support for Lantiq SSC SPI controller commit

12.10. Watchdog

nic7018_wdt: Add NIC7018 watchdog driver commit

Add driver for Cortina Gemini watchdog commit

zx2967: add watchdog controller driver for ZTE's zx2967 family commit

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

cpufreq Add the cpufreq.off=1 boot option to disable cpufreq commit powernv: Add boost files to export ultra-turbo frequencies commit Remove CONFIG_CPU_FREQ_STAT_DETAILS config option commit ti: Add cpufreq driver to determine available OPPs at runtime commit intel_pstate: Operation mode control from sysfs commit bmips-cpufreq: CPUfreq driver for Broadcom's BMIPS SoCs commit

tools/power/turbostat Debug utility for intel_pstate driver commit Add --cpu parameter commit Add --list option to show available header names commit Move --Package and --processor into the --cpu option commit Add --show and --hide parameters commit Support --hide C1 etc commit Initial Gemini Lake SOC support commit Print sysfs C-state stats commit Baytrail c-state support commit

thermal: zx2967: add thermal driver for ZTE's zx2967 family commit

thermal: rcar_gen3_thermal: Add R-Car Gen3 thermal driver commit

12.12. Real Time Clock (RTC)

mcp795: add alarm support commit, commit

m48t86: add NVRAM support commit

armada38x: Add support for Armada 7K/8K commit

Add STM32 RTC driver commit

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

power supply Add sbs-charger driver commit Remove Intel Moorestown battery support commit Add support for MAX14656 USB charger detector commit Add AC power supply driver for AXP20X and AXP22X PMICs commit bq27xxx: adds specific support for bq27510-g3 revision commit, add specific support for bq27500/1 revision commit, add specific support for bq27510-g1 revision commit, add specific support for bq27520-g4 revision commit, add specific support for bq27520-g1 revision commit, add specific support for bq27520-g2 revision commit, add specific support for bq27520-g3 revision commit, add specific support for bq27510-g2 revision commit

power: reset: at91-reset: add samx7 support commit

12.14. Pin Controllers (pinctrl)

amd: Add support for additional GPIO commit

sh-pfc: r8a7796: Add CAN support commit, add CAN FD support commit

Introduce TI IOdelay configuration driver commit

samsung: Remove support for Exynos4415 (SoC not supported anymore) commit

intel: Add support for 1k additional pull-down commit, add support for hardware debouncer commit

sunxi: Add common sun5i pinctrl driver commit, add driver for V3s SoC commit, support A31/A31s with pinctrl variants commit, remove old sun5i pinctrl drivers commit, remove redundant A31s pinctrl driver commit

Add driver for Allwinner H5 SoC commit

intel: Add Intel Gemini Lake pin controller support commit

stm32: Add STM32H743 MCU support commit

mvebu: pinctrl driver for 98DX3236 SoC commit

12.15. Multi Media Card (MMC)

sh_mobile_sdhi: enable HS200 commit

mxs-mmc: Implement CMD23 support commit

dw_mmc: zx: Initial support for ZX mmc controller commit

sdhci-pci: Add support for HS200 tuning mode on AMD, eMMC-4.5.1 commit

pwrseq: add support for Marvell SD8787 chip commit

sdhci-msm: Provide enhanced_strobe mode feature support commit

meson-gx: add support for HS400 mode commit

12.16. Memory Technology Devices (MTD)

spi-nor Add support for gd25q16 commit Add support for S3AN spi-nor devices commit Add memory controllers for the Aspeed AST2500 SoC commit Add support for Intel SPI serial flash controller commit

aspeed: add memory controllers for the Aspeed AST2400 SoC commit

bcm47xxpart: support layouts with multiple TRX partitions commit

nand: Add Winbond manufacturer id commit

12.17. Industrial I/O (iio)

Add channel for Gravity commit

temperature: Add support for TI TMP007 sensor commit

adc hx711: Add IIO driver for AVIA HX711 commit tlc4541: add support for TI tlc4541 adc commit Add Maxim MAX11100 driver commit spmi-vadc: Changes to support different scaling commit New driver for TI ADS7950 chips commit Add Renesas GyroADC driver commit add a driver for the SAR ADC found in Amlogic Meson SoCs commit stm32: add optional dma support commit, add support for triggered buffer mode commit

imu: add support to lsm6dsx driver commit

Add gravity sensor support commit

light: add driver for Capella CM3605 commit

cros_ec: Add cros_ec barometer driver commit

max5481: Add support for Maxim digital potentiometers commit

distance: srf08: add IIO driver for us ranger commit

Add STM32 timer trigger driver commit

12.18. Multi Function Devices (MFD)

lpc_ich: Add support for Intel Apollo Lake SoC commit, add support for SPI serial flash host controller commit, enable watchdog on Intel Apollo Lake PCH commit

intel-lpss: Add Intel Gemini Lake PCI IDs commit

cpcap: Add minimal support commit

Add STM32 Timers driver commit

12.19. Pulse-Width Modulation (PWM)

Add driver for STM32 plaftorm commit

lpss: Add Intel Gemini Lake PCI ID commit

imx: Add polarity inversion support to i.MX's PWMv2 commit

12.20. Inter-Integrated Circuit (I2C)

mux: pca954x: Add interrupt controller support commit

Add Tegra BPMP I2C proxy driver commit

i801: Add support for Intel Gemini Lake commit

stm32f4: add driver commit

12.21. Hardware monitoring (hwmon)

lm70: Add support for TI TMP122/124 commit

it87: Add support for IT8622E commit, add support for IT8792E commit, improve IT8622 support commit

New driver for ST stts751 thermal sensor commit

12.22. General Purpose I/O (gpio)

Add a driver for Cortina Systems Gemini GPIO commit

Add GPIO support for the ACCES PCI-IDIO-16 commit

gpio: mockup: implement event injecting over debugfs commit, add a dummy irqchip commit

12.23. Leds

class: Add new optional brightness_hw_changed attribute commit

tools/leds: Add led_hw_brightness_mon program commit

12.24. DMA engines

stm32-dma: Add synchronization support commit, add max_burst support commit

dw: add support of iDMA 32-bit hardware commit

12.25. Cryptography hardware acceleration

mediatek: Add crypto driver support for some MediaTek chips commit, add support to CTR mode commit, add support to GCM mode commit

atmel-sha: add support to hmac(shaX) commit

atmel-authenc: add support to authenc(hmac(shaX), Y(aes)) modes commit

brcm: Add Broadcom SPU driver commit

cavium: Add Support for Octeon-tx CPT Engine commit, commit, commit

12.26. PCI

ASPM: Add support for L1 substates commit

12.27. Clock

cdce925: add support for CDCE913, CDCE937, and CDCE949 commit

vc5: Add support for IDT VersaClock 5P49V5923 and 5P49V5933 commit

rockchip: add clock controller for rk3328 commit

hisilicon: Add clock driver for hi3660 SoC commit

stm32f7: Introduce stm32f7 clocks for STM32F746 boards commit

Add Atom PMC platform clocks commit

samsung: Add enable/disable support for PLL35XX clocks commit, remove Exynos4415 driver (SoC not supported anymore) commit

mvebu: support for 98DX3236 SoC commit

sunxi-ng: Add A80 Display Engine CCU commit, add support for V3s CCU commit

renesas: r8a7796: Add IIC-DVFS clock commit, r8a7795: Add IIC-DVFS clock commit, cpg-mssr: Add support for reset control commit

tegra: Add BPMP clock driver commit

zte: add i2s clocks for zx296718 commit

sunxi-ng: Add A80 CCU commit, add A80 USB CCU commit, add sun5i CCU driver commit

gemini: Add driver for the Cortina Gemini commit

ostm: Add renesas-ostm timer driver commit

12.28. Various

EDAC: Expose per-DIMM error counts in sysfs commit

EDAC, pnd2_edac: Add new EDAC driver for Intel SoC platforms commit

extcon: int3496: Add Intel INT3496 ACPI device extcon driver commit

drivers/fsi: Add empty fsi bus definitions commit

iommu/arm-smmu: Support for Extended Stream ID (16 bit) commit

iommu: Implement reserved_regions iommu-group sysfs file commit

irqchip/qcom: Add IRQ combiner driver commit

irqchip: Add a driver for Cortina Gemini commit

via-cuda: Add support for Egret system controller commit

eeprom: Add IDT 89HPESx EEPROM/CSR driver commit

misc: sram: Integrate protect-exec reserved sram area type commit

misc: sram: Introduce support code for protect-exec sram type commit

perf: add qcom l2 cache perf events driver commit

phy: Add support for Qualcomm's USB HSIC phy commit

phy: sun4i-usb: add support for V3s USB PHY commit

phy: Add support for Qualcomm's USB HS phy commit

regulator: qcom-smd: Add PM8994 regulator support commit

regulator: cpcap: Add basic regulator support commit

remoteproc: st: add virtio communication support commit

reset: zx2967: add reset controller driver for ZTE's zx2967 family commit

reset: hisilicon: add reset-hi3660 commit

phy: phy-exynos-pcie: Add support for Exynos PCIe PHY commit

soc: rockchip: add driver handling grf setup commit

soc: zte: pm_domains: Add support for zx296718 commit

tty: serial: lantiq: implement earlycon support commit

serial: 8250_pci: Add MKS Tenta SCOM-0800 and SCOM-0801 cards commit

serdev: Introduce new bus for serial attached devices commit

serdev: add a tty port controller driver commit

serial: exar: Enable MSI support commit

w1: add DS2405 addressable switch driver commit

rpmsg: Driver for user space endpoint interface commit

13. List of merges

14. Other news sites