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.
Contents
-
Prominent features
- Pluggable IO schedulers framework in the multiqueue block layer
- Scalable swapping for SSDs
- Journaled RAID5 to close the write hole
- statx(2), a modern stat(2) alternative
- New perf ftrace tool
- Support for OPAL drives
- Support for the SMC-R protocol (RFC7609)
- Persistent scrollback buffers for all VGA consoles
- Core (various)
- File systems
- Memory management
- Block layer
- Tracing and perf tool
- Virtualization
- Cryptography
- Security
- Networking
- Architectures
-
Drivers
- Graphics
- Storage
- Drivers in the Staging area
- Networking
- Audio
- Tablets, touch screens, keyboards, mouses
- TV tuners, webcams, video capturers
- Universal Serial Bus
- Serial Peripheral Interface (SPI)
- Watchdog
- ACPI, EFI, cpufreq, thermal, Power Management
- Real Time Clock (RTC)
- Voltage, current regulators, power capping, power supply
- Pin Controllers (pinctrl)
- Multi Media Card (MMC)
- Memory Technology Devices (MTD)
- Industrial I/O (iio)
- Multi Function Devices (MFD)
- Pulse-Width Modulation (PWM)
- Inter-Integrated Circuit (I2C)
- Hardware monitoring (hwmon)
- General Purpose I/O (gpio)
- Leds
- DMA engines
- Cryptography hardware acceleration
- PCI
- Clock
- Various
- List of merges
- Other news sites
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)
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.
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.
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)
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
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
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
- EXT4
- 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
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
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
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 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_policykernel parameter commit
Selinux: support distinctions among all network address families commit
- tpm
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
- ipv6
- bridge
- 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
- 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
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
11. Architectures
- ARM
Add support for CONFIG_DEBUG_VIRTUAL commit
aes: replace scalar AES cipher that originates in the OpenSSL project with a new implementation that is ~15% faster commit
aes: replace bit-sliced OpenSSL NEON code commit
OMAP2+: omap_hwmod: Add support for earlycon commit
- KVM
mvebu: support for SMP on 98DX3336 SoC commit
- device tree sources
Add phyCORE-AM335x System on Module: am335x-boneblack-wireless commit, add am335x-bonegreen-wireless commit
Add support for phyCORE-AM335x PCM-953 carrier board commit
BCM5301X: Add DT for Luxul XAP-1410 wireless access point commit, add DT for Luxul XWR-1200 wireless access point commit
Add Armadeus Systems OPOS6UL and OPOS6ULDEV support commit
Add DTSI for AXP223 commit
armada388-clearfog: add base model DTS file commit, add pro model DTS file commit
aspeed: Add Romulus BMC platform commit
at91: add devicetree for the Axentia TSE-850 Data Radio Channel (DARC) encoder commit, add dts file for sama5d36ek CMP board commit
exynos: remove Exynos4212 support (dead code) commit
imx6dl: Add Engicam i.CoreM6 DualLite/Solo RQS initial support commit
imx6q: Add mccmon6 board support commit
imx6ul: Add Engicam Is.IoT MX6UL initial support commit
mvebu: Add device tree for 98DX3236 SoCs commit, add device tree for db-dxbc2 and db-xc3-24g4xg boards commit
socfpga: Add NAND device tree for Arria10 commit
sun5i: add support for Lichee Pi One board commit
sun8i-h3: Add dts for the Beelink X2 STB Android Media Box commit
sunxi: add dtsi file for V3s SoC commit, commit, add support for Lichee Pi Zero board commit, add support for Orange Pi Zero board commit
vf610-zii-dev: Add .dts file for revision C of Zodiac Inflight Innovations board commit
- ARM64
Add support for CONFIG_DEBUG_VIRTUAL commit
efi: arm64: Add vmlinux debug link to the Image binary commit
aes: add scalar implementation commit, reimplement the bit-sliced ARM/NEON implementation for arm64 commit, add NEON/Crypto Extensions CBCMAC/CMAC/XCBC driver commit
Add THUNDER2 processor family commit
- device tree sources
- MIPS
Add IRQ stacks commit
Add cacheinfo support commit
Disable stack checks on MIPS kernels commit
BMIPS: Enable prerequisites for CPUfreq in MIPS Kconfig commit
zboot: Add "uzImage.bin" target commit
Octeon: Enable KASLR commit
img: add device tree for Marduk board commit
Add support for ARCH_MMAP_RND_{COMPAT_}BITS commit
Add base device tree for Pistachio SoC commit
BCM47XX: Add Luxul devices to the database commit
OCTEON: Platform support for OCTEON III USB controller commit
- OPENRISC
- POWERPC
Enable support for GCC plugins commit
- KVM
Enable use of radix MMU under hypervisor on POWER9 commit
kprobes: Implement Optprobes commit
pseries: Add support for hash table resizing commit
Add support for non-PCI ISA bridges commit
85xx: Enable display support for t1042rdb commit
pseries: Implement indexed-count hotplug memory commit, commit
corenet: add support for the kmcent2 board commit
8xx: Implement hw_breakpoint commit
8xx: Perf events on PPC 8xx commit
64s: POWER9 machine check handler commit
- S390
- SPARC
- X86
Enable Ring 3 MONITOR/MWAIT feature for Knights Landing. This feature allows userspace application to use more efficient synchronization operations, which improves performance and energy efficiency commit, commit, commit, commit, commit
Add AVX512_VPOPCNTDQ feature commit
efi: Add support for EFI_MEMORY_ATTRIBUTES_TABLE commit
Remove CONFIG_DEBUG_NX_TEST commit
- platforms
SGI UV: Add basic CPU NMI health check commit, add Support for UV4 Hubless systems commit, add Support for UV4 Hubless NMIs commit
Support Turbo Boost Max 3.0 for non HWP systems commit
hp_accel: Add support for HP ZBook 17 commit
intel_pmc_ipc: Add APL PMC PCI Id commit
acer-wmi: add another KEY_WLAN keycode commit
Add support for devices with Silead touchscreens commit
intel_mid_powerbtn: Enable driver for Merrifield commit
intel-mid: Add power button support for Merrifield commit
intel_th: pci: Add Denverton SOC support commit, add Gemini Lake support commit
- perf
- KVM
- M68K
Replace via-maciisi driver with via-cuda driver commit
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
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
- nouveau
Initial power budget code commit
- exynos
- rockchip
Add cdn DP support for rk3399 commit
- msm
- bridge/sii8620
- vc4
Add DSI driver commit
- zte
- ast
Base support for AST2500 commit
- bochs
Implement nomodeset commit
- mgag200
- panel, simple
12.2. Storage
- ahci
lightnvm: add ioctls for vector I/Os commit
- nvme
- 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
- ufs
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
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
12.4. Networking
- Bluetooth
- 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
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
- mlx5e
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
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
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
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)
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
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
Phoronix's The New Features Of The Linux 4.11 Kernel