Linux 4.18 has been released on 12 August, 2018.
Summary: This release includes the new "Restartable sequences" system call, which makes easier to write scalable userspace code; support for unprivileged mounts; the beginning of bpfilter project that aims to provide netfilter functionality using BPF; a zero-copy TCP receive API; a new AF_XDP address family for high performance networking; support for the future AMD ATI Vega20; support for the qualcomm Snapdragon 845 SoC; and many new drivers and other improvements.
Contents
- Prominent features
- Core (various)
- File systems
- Memory management
- Block layer
- Tracing and perf
- 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)
- 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)
- Pulse-Width Modulation (PWM)
- Inter-Integrated Circuit (I2C)
- Hardware monitoring (hwmon)
- Leds
- Cryptography hardware acceleration
- PCI
- Clock
- Various
- List of merges
- Other news sites
1. Prominent features
1.1. Restartable sequences for easier lockless concurrency in user space
Synchronizing per-cpu operations from user-space is hard, because processes are liable to be pre-empted or change cpus at any time. Adding safety to the user-space code (atomic operations) is expensive, and disabling preemption in user space is not an option.
Restartables sequences allow user-space to perform update operations on per-cpu data without requiring heavy-weight atomic operations. Each thread is allowed to register one userspace memory area that should be run by the same CPU; if the thread is preempted the thread can restart the operation. Using rseq with per-cpu memory pools in jemalloc at Facebook improved the production workload response-time 1-2% gain avg. latency, and the P99 overall latency drops by 2-3%.
Recommended LWN article: Restartable sequences
Slides: LPC - PerCpu Atomics.pdf
Code: commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
1.2. Support for unprivileged mounts
In this release, root users inside a private namespace (eg. container) are allowed to mount file systems.
Recommended LWN article: Unprivileged file system mounts
Code: commit, commit, commit, commit, commit, commit, commit
1.3. bpfilter, BPF based networking filtering
The bpfilter project aims to implement netfilter compatible functionality using the BPF machinery. This release adds the first skeleton of kernel code.
Recommended LWN article: BPF comes to firewalls
1.4. Zero-copy TCP receive API
Linux 4.14 added support for zero-copy of data when sending to the network, this release adds a zero-copy API for the receiving side.
Recommended LWN article: Zero-copy TCP receive, A reworked TCP zero-copy receive API
Code: commit, commit, commit, commit, commit, commit
1.5. AF_XDP for high performance networking
Introduce AF_XDP support, a new address family that is optimized for high performance packet processing and zero-copy semantics. Programs using AF_XDP sockets will now receive RX packets without any copies and can also transmit packets without incurring any copies.
Recommended LWN article: Accelerating networking with AF_XDP
Code: commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit zero-copy commit, commit, commit, commit, commit, commit, commit, commit, commit
1.6. Support for the future AMD ATI Vega20
This release includes support for the future Vega 20.
1.7. Qualcomm Snapdragon 845 support
The convergence between vendor Android kernel code and the mainline kernel is improving; as proof of that this release adds support for Qualcomm SDM845, a.k.a Snapdragon 845, an 4+4-core Kryo 385/845 (Cortex-A75/A55 derivative) SoC that's one of the current high-end mobile SoCs. A lot of peripherals are not yet in the DTs but driver support for USB, GPU and other pieces are starting to trickle in. It also adds support for the MTP development board
Code: commit
2. Core (various)
(FEATURED) Add support for restartable sequences commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
(FEATURED) Asynchronous I/O: add workqueue based fsync offload commit, commit, commit, commit, commit, commit, commit
(FEATURED) Add support for unprivileged mounts commit, commit, commit, commit, commit, commit, commit
task scheduler: Stagger NUMA balancing scan periods for new threads commit
scripts: Add SPDX checker script commit
Align the seccomp logging behavior for both audited and unaudited processes. It also emits an audit record, if auditing is enabled, when the kernel.seccomp.actions_logged sysctl is written to so that there's a paper trail when entire actions are quieted commit, commit, commit
Add support to collect hardware logs in crash recovery kernel commit, commit, commit
signalfd: Add support for SIGSYS commit
connector: add parent pid and tgid to coredump and exit events commit
3. File systems
- BTRFS
Add support for the FS_IOC_FSGETXATTR ioctl commit
Allow users to enumerate subvolumes with 3 new unprivileged ioctls commit, commit, commit
Allow empty subvol= again commit
dedupe_file_range ioctl: remove 16MiB restriction commit
Allow rmdir(2) to delete an empty subvolume commit
send: improved speed when dealing with a large removed directory, measurements show decrease from 2000 minutes to 2 minutes on a directory with 2 million entries commit
Pre-commit check of superblock to detect a mysterious in-memory corruption commit
sysfs: Add entry which shows if rmdir can work on subvolumes commit
- XFS
Add mount delay debug option, similar to log_recovery_delay, this delay occurs between the VFS superblock being initialised and the xfs_mount being fully initialised commit
Support fallocated swapfiles commit
Ability to relabel mounted filesystems commit
Implement the metadata repair ioctl flag commit
Use FUA for pure data O_DSYNC DIO writes commit
- CIFS
- AFS
- UDF
- FSCRYPT
Add Speck128/256 support commit
- F2FS
Add fsync_mode=nobarrier for non-atomic files commit
4. Memory management
Restructuration of struct page, to give more contiguous usable space to users who have allocated a struct page for their own purposes. Recommended LWN article: Willy's memory-management to-do list. commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
memcg: introduce the memory.min interface. It works very similarly to memory.low (sharing the same hierarchical behavior), except that it's not disabled if there is no more reclaimable memory in the system commit
memcg: allow lowering memory.swap.max below the current usage commit
memcg: implement memory.swap.events. Add swap max and fail events so that userland can monitor and respond to running out of swap commit, commit
shmem: make stat.st_blksize return huge page size if THP is on commit
Reduce the number of TLB shootdowns commit
Take better advantage of general huge page clearing optimization commit
5. Block layer
Add sysfs entry for fua support commit
dm: add writecache target. The writecache target caches writes on persistent memory or SSD. It is intended for databases or other programs that need extremely low commit latency commit
loop: Add LOOP_SET_BLOCK_SIZE in compat ioctl commit
zram: zram memory tracking. It provides a debugfs /sys/kernel/debug/zram/zram0/block_state to represent each block's state so admin can investigate what memory is cold|incompressible|same page with using pagemap once the pages are swapped out commit, commit, commit, commit
6. Tracing and perf
Support perf annotate --group for non-explicit recorded event "groups", showing multiple columns, one for each event, just like when dealing with explicit event groups commit
perf buildid-cache: Support --list option option to list all valid cached files commit
perf buildid-cache: Support --purge-all option to remove all files from cache commit
perf script: Show symbol offsets by default commit
perf script: Show virtual addresses instead of offsets commit
perf stat: Add --interval-clear option to clear the screen before next interval commit
perf stat: Add --table option to display time of each run commit
perf stat: Display user and system time commit
Add infrastructure to help in writing eBPF C programs to be used with '-e name.c' type events in tools such as 'record' and 'trace', with headers for common constructs and an examples directory that will get populated as we add more such helpers and the 'perf bpf' commit, commit, commit, commit, commit
tracing: Allow writing to the trace_markers file initiate triggers defined in tracefs/ftrace/print/trigger file. This will allow of user space to trigger the same type of triggers (including histograms) that the trace events use commit
7. Virtualization
Enable virtio_net to act as a standby for a passthru device. The main motivation for this patch is to enable cloud service providers to provide an accelerated datapath to virtio-net enabled VMs in a transparent manner with no/minimal guest userspace changes. This also enables hypervisor controlled live migration to be supported with VMs that have direct attached SR-IOV VF devices commit, commit, commit, commit, commit
xen-front: Add support for Xen para-virtualized frontend display driver commit
virtio_pci: support enabling VFs commit
xen: add IOCTL_PRIVCMD_MMAP_RESOURCE, a new HYPERVISOR_memory_op to support direct priv-mapping of certain guest resources (such as ioreq pages, used by emulators) by a tools domain, rather than having to access such resources via the guest P2M commit
xen-front: Add Xen sound para-virtualized frontend driver commit, commit, commit, commit, commit
8. Cryptography
zstd: Add zstd support commit
aegis: Add the AEGIS family of AEAD algorithms (AEGIS-128, AEGIS-128L, and AEGIS-256) commit
9. Security
apparmor: add support for mapping between the secid and the label, and along with it a basic ability to provide secctx conversion commit
apparmor: add the ability to get a task's secid commit
EVM: Allow runtime modification of the set of verified xattrs commit
integrity: Add an integrity directory in securityfs commit
allocation overflow detection helpers commit
Remove open-coded multiplication from memory allocation arguments commit, commit
10. Networking
- TCP
(FEATURED) Add zero copy receive commit, commit, commit, commit, commit, commit
Implement SACK compression commit, commit, commit, commit, commit, commit
Default RACK loss recovery (implements the features correspond to the draft-ietf-tcpm-rack-03 version of the RACK draft) commit, commit, commit, commit, commit, commit, commit
Tracking TCP data delivery and ECN stats commit, commit, commit, commit
Add the TCP_INQ socket option to TCP. When this socket option is set, recvmsg() relays the number of bytes available on the socket for reading to the application via the TCP_CM_INQ control message. This way applications with many concurrent connections, high variance in receive queue length and tight memory bounds can allocate worst-case buffer size to drain sockets. Knowing the size of receive queue length, applications can optimize how they allocate buffers to read from the socket commit
Extend tcp_tw_reuse sysctl to enable loopback only optimization commit
- UDP:
Generic Segmentation Offload support. Segmentation offload reduces cycles/byte for large packets by amortizing the cost of protocol stack traversal. A process can concatenate and submit multiple datagrams to the same destination in one send call by setting socket option SOL_UDP/UDP_SEGMENT with the segment size, or passing an analogous cmsg at send time commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Enable UDP checksum offload for ESP commit
- BPF
(FEATURED) Add skeleton of bpfilter kernel module: it builds experimental bpfilter framework that is aiming to provide netfilter compatible functionality via BPF commit, commit
Introduce BTF: BPF Type Format. It is the meta data format which describes the data types of BPF program/map. Hence, it basically focus on the C programming language which the modern BPF is primary using. The first use case is to provide a generic pretty print capability for a BPF map commit, commit, commit, commit, commit, commit, commit, commit, commit
Introduce BTF ID - an ID for each loaded BTF program commit, commit, commit, commit, commit, commit
Enhancements for multi-function programs commit, commit, commit, commit, commit, commit, commit, commit
Introduce seg6local End.BPF action with the corresponding new BPF program type BPF_PROG_TYPE_LWT_SEG6LOCAL commit, commit, commit, commit, commit, commit
Hooks for sys_sendmsg similar to existing hooks for sys_bind and sys_connect commit, commit, commit, commit
Allows the BPF loader to figure out the btf_key_id and btf_value_id from a map's name by using BPF_ANNOTATE_KV_PAIR commit, commit
Allow map helpers access to map values directly commit
Introduce bpf subcommand BPF_TASK_FD_QUERY to show which bpf program is attached to which tracepoint/kprobe/uprobe commit, commit, commit, commit, commit
Support offload of bpf_event_output() commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
(FEATURED) Introducing AF_XDP support, a new address family that is optimized for high performance packet processing and zero-copy semantics. Programs using AF_XDP sockets will now receive RX packets without any copies and can also transmit packets without incurring any copies commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit zero-copy commit, commit, commit, commit, commit, commit, commit, commit, commit
- Wireless (802.11)
- packet scheduler
cls_flower: Support multiple masks per priority commit
ipconfig: NTP server support commit, commit, commit, commit, commit, commit, commit, commit
IPv4/v6: extends ip route get to match on sport and dport commit, commit
IPv6: send netlink notifications for manually configured addresses commit
Introduce adaptive TX interrupt moderation to net Dynamic Interrupt Moderation library commit, commit
routing: Add address attribute (IFA_RT_PRIORITYto control metric of prefix route. For use cases such as VRR (Virtual Router Redundancy) interface managers want efficient control over the order of prefix routes when multiple interfaces have addresses with overlapping/duplicate subnets commit, commit, commit, commit, commit, commit, commit
Add a generic infrastructure to offload TLS crypto to a network devices. It enables the kernel TLS socket to skip encryption and authentication operations on the transmit side of the data path. Leaving those computationally expensive operations to the NIC commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
IPv6 GRE tunnel: Add GRO support, significantly improves performance in case GRO in native interface is disabled commit
- netfilter
Add NAT support for shifted portmap ranges commit
ipvs: Implement the Google's Maglev hashing algorithm as a IPVS scheduler. Basically it provides consistent hashing but offers some special features about disruption and load balancing commit, commit, commit
nf_tables: add support for native socket matching commit
nf_tables: Add audit support to log statement commit
nf_tables: add connlimit support commit
nf_tables: initial support for extended ACK reporting commit
Add support for map lookups to numgen, random and hash expressions commit, commit, commit
Extend availability of PHY statistics commit, commit, commit, commit, commit, commit, commit, commit
bridge: add support for port isolation. Isolated ports cannot communicate between each other, but they can still communicate with non-isolated ports commit
Distributed Switch Architecture: adds PHYLINK support to DSA which is necessary to support more complex PHY and pluggable modules setups commit, commit, commit, commit, commit, commit, commit, commit, commit
virtual routing and forwarding: add CRC32c offload to device features commit
tun: allow ethtool to change tun link settings commit
qrtr: Expose tunneling endpoint to user space commit
SCTP: allow unsetting sockopt MAXSEG commit
TIPC: Confifuration of MTU for media UDP commit, commit, commit
TIPC: introduce ioctl for fetching node identity commit
rfkill: Create rfkill-none LED trigger commit
- Infiniband
Add verbs flow counters support. It allows user space applications to monitor real time traffic activity and events of the verbs objects it manages, e.g.: ibv_qp, ibv_wq, ibv_flow commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
MPLS and GRE flow specifications commit, commit, commit, commit, commit, commit, commit
- SMC
11. Architectures
- ARM
- Device Tree Sources
SoC: Amlogic Meson 8M2 SoC, a.k.a. S812. A quad Cortex-A9 SoC used in some set top boxes and other products commit
SoC: Mediatek MT7623A, which is a flavor of the MT7623 family with other on-chip ethernet options commit
(FEATURED) SoC: Qualcomm SDM845, a.k.a Snapdragon 845, an 4+4-core Kryo 385/845 (Cortex-A75/A55 derivative) SoC that's one of the current high-end mobile SoCs. A lot of peripherals are not yet in the DTs but driver support for USB, GPU and other pieces are starting to trickle in. Add also support for the MTP development board commit
SoC: Renesas R8A77990, a.k.a R-Car E3, a new automotive entertainment-targeted SoC commit
SoC: Renesas R8A77470, a.k.a. RZ/G1C, a new dual Cortex-A7 SoC with PowerVR GPU commit
Allwinner A20: Olimex A20-SOM-EVB-eMMC variant commit
Allwinner H2+: Libre Computer ALL-H3-CC (h2+ version) commit
Allwinner A33: Nintendo NES/SuperNES Classic Edition commit
Aspeed: S2600WF, Inventec Lanyang BMC, Portwell Neptune commit
Berlin2CD: Valve Steam Link commit
Broadcom BCM5301X: Luxul XAP-1610 and XWR-3150 V1 commit
Broadcom: Raspberry Pi 3 B+ commit
Meson 8M2: Tronsmart MXIII Plus commit
NXP i.MX: Engicam i.CoreM6, DHCOM iMX6 SOM, BTicino i.MX6DL Mamoj commit
Mediatek MT7623N and MT7623A: reference boards commit, commit
Qualcomm MSM8974: Sony Xperia Z1 Compact support commit
Renesas RZ/G1C: iwg23s: iWave G235-SDB commit
TI am335x: Pocketbeagle support commit
aspeed: Add Inventec Lanyang BMC commit
aspeed: Add Portwell Neptune machine commit
i.MX6: Add BTicino i.MX6DL Mamoj initial support commit
imx6q: Add support for the DHCOM iMX6 SoM and PDK2 commit
ipq4019: Add qcom-ipq4019-ap.dk07.1-c2 board file commit
tpc: Device tree description of the iMX6Q TPC board commit
allwinner: Add dts file for Libre Computer Board ALL-H3-CC H5 ver commit
renesas: initial V3HSK board device tree commit
renesas: salvator-common: Add ADV7482 support commit
sun8i: smp: Add support for A83T commit
KVM: Add KVM_VGIC_V3_ADDR_TYPE_REDIST_REGION commit
Port KCOV to arm commit
NOMMU: Support PMSAv8 MPU commit
B15: Update to support Brahma-B53 commit
- Device Tree Sources
- ARM64
- POWERPC
Support for split PMD page table lock on 64-bit Book3S (Power8/9) commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
livepatch: Implement reliable stack tracing for the consistency model commit
Add support for patching barrier_nospec in copy_from_user() and syscall entry commit, commit, commit, commit, commit, commit
Implement csum_ipv6_magic in assembly commit
perf script powerpc: Python script for hypervisor call statistics commit
KVM: Book3S HV: Add 'online' register to ONE_REG interface commit
misc: IBM Virtual Management Channel Driver (VMC) commit
Removal of support for two old machines, "SBC834xE" and "C2K" commit, commit, commit, commit, commit, commit
- X86
Introduce the no5lvl kernel parameter to disable 5-level page tables at boot time commit
bpf: add eBPF JIT compiler for ia32 commit
crypto: Add optimized AEGIS implementations commit, MORUS implementations commit, remove salsa20 implementations commit
intel_rdt: Memory bandwidth allocation software controller commit, commit, commit, commit, commit, commit
pci-dma: remove the experimental forcesac boot option commit
pci-dma: remove the explicit nodac and allowdac option commit
platform/UV: Add kernel parameter to set memory block size commit
- platform
ideapad-laptop: Add fn-lock setting commit
mlx-platform: Add LED platform driver activation commit
silead_dmi: Add entry for Chuwi Hi8 tablet touchscreen commit
silead_dmi: Add info for the PoV mobii TAB-P800W (v2.0) commit
silead_dmi: Add touchscreen info for the Jumper EZpad 6 Pro commit
silead_dmi: Add touchscreen info for the Onda V891w tablet commit
chrome: Add Tablet Switch ACPI driver commit
Hyper-V: APIC enlightenments commit, commit, commit, commit, commit
- RISCV
- S390
- sparc64
char: Add privileged ADI driver commit
- MIPS
BCM47XX: Add support for Netgear WNR1000 V3 commit
12. Drivers
12.1. Graphics
New v3d driver for broadcom V3D V3.x+ hardware commit
Aspect ratio support for 64:27 and 256:135 commit, commit, commit, commit
blend: Add a generic alpha property commit
- Intel
- amdgpu
- amdkfd
GFX9 dGPU support and userptr memory mapping commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
GFXv9/Vega10 support for KFD commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
- nouveau
- tda998x
HDMI i2c CEC support commit
- tegra
- vc4
- sun4i
Add Allwinner A31 MIPI-DSI controller support commit
- rcar-du
- exynos
backlight: Add RAVE SP backlight driver commit
backlight: otm3225a: Add support for ORISE OTM3225A LCD SoC commit
pl111: Support the Versatile Express commit
bridge: Add Cadence DSI driver commit
bridge: Add thc63lvd1024 LVDS decoder driver commit
video: fbdev: remove unused auo_k190xfb drivers commit
video: fbdev: remove unused sh_mobile_meram driver commit
video: fbdev: sh_mobile_lcdcfb: remove unused MERAM support commit
12.2. Storage
ahci: Add Intel Ice Lake LP PCI ID commit
lightnvm: pblk: add possibility to set write buffer size manually commit
nvme-loop: add support for multiple ports commit
nvmem: Add RAVE SP EEPROM driver commit
nvmet: add AEN configuration support commit
nvmet: simple file backed namespace support for NVMeOF target commit
- scsi
hisi_sas: Add LED feature for v3 hw commit
libsas: Add transport class for the ata devices attached with sas controller. The /sys/class directory will show the infomation of the ata devices commit
mpt3sas: Added support for SAS Device Discovery Error Event commit
target: target/file: Add support of direct and async I/O commit
zorro_esp: New driver for Amiga Zorro NCR53C9x boards commit
12.3. Drivers in the Staging area
Android: Add 'vsoc' driver for cuttlefish commit
fsl-dpaa2/rtc: add rtc driver commit
iio: tsl2x7x/tsl2772: move out of staging commit
ipx: delete it from the tree commit
ncpfs: delete it commit
typec: rt1711h typec chip driver commit
iio:meter: Drop ADE7753 driver commit, ADE7754 driver commit, ADE7758 driver commit, ADE7759 driver commit
imx: add 16-bit grayscale support commit
zoran: move to staging in preparation for removal commit
atomisp: Remove driver commit
Delete the goldfish_nand driver commit
12.4. Networking
- Bluetooth
- Infiniband
amd-xgbe: Add ethtool: show/set channels support commit, show/set ring parameter support commit, support to retrieve SFP module info commit
- ath10k
Support MAC address randomization in scan commit
Support for STA idle mode power save(IMPS) commit, commit, commit, commit
DFS Host Confirmation commit
Add WMI_SERVICE_AVAILABLE_EVENT support commit
Add memory dump support for QCA9888 and QCA99X0 commit
Add quiet mode support for QCA6174/QCA9377 commit
Add support to configure channel dwell time (NL80211_EXT_FEATURE_SET_SCAN_DWELL) commit
Add support of WCN3990 bus layer support commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
bnxt_en: add debugfs support for DIM commit
- brcmfmac
- cxgb4
hv_netvsc: Add handlers for ethtool get/set msg level commit
- i40e
ibmvnic: Introduce hard reset recovery commit
- igb
- iwlwifi
Add more card IDs for 9000 series commit
- lan78xx
- liquidio
microchip_t1: Add driver for Microchip LAN87XX T1 PHYs commit
mlxsw: Support VLAN devices in mirroring offloads commit, commit, commit, commit
hinic: add pci device ids for 25ge and 100ge card commit
New ax88796 platform driver for Amiga X-Surf 100 Zorro board (m68k) commit
mlx4: Use msi_x module param to limit num of MSI-X irqs commit
mlx5: basic XDP_REDIRECT forward support commit
mlx5: PPTB and PBMC register firmware command support commit
mlx5e: Enable adaptive-TX moderation commit
mlx5e: Support configurable MTU for vport representors commit
mlx5e: Support offloaded TC flows with no matches on headers commit
dsa: mv88e6xxx: 88E6141/6341 SERDES support commit
dsa: qca8k: Add support for QCA8334 switch commit
- hns3
- lan78xx
mscc: Add initial Ocelot switch support commit
- mvpp2
- netcp
- phy
qualcomm: rmnet: Add support for ethtool private stats commit
- stmmac
- nfp
abm: add basic support for advanced buffering NIC commit, commit, commit, commit, commit, commit, commit, commit ,commit, commit, commit, commit, commit
abm: RED/MQ qdisc offload commit, commit, commit, commit, commit, commit commit, commit, commit, commit, commit, commit, commit, commit
bpf: complete shift supports on NFP JIT commit, commit, commit
Offload LAG for tc flower egress commit, commit, commit, commit, commit, commit, commit, commit
- qed*
qed: Add configuration information to register dump and debug data commit, commit
qed: Add srq core support for RoCE and iWARP commit
qmi_wwan: add support for Quectel EG91 commit
qtnfmac: add DFS offload support commit
sh_eth: add RGMII support commit
stmmac: added support for 802.1ad vlan stripping commit
wcn36xx: Add support for Factory Test Mode (FTM) commit
12.5. Audio
- dice
- hda/ca0132
- usb-audio
- ASoC
AMD: Support headset button on Stoney DA7219 commit
Intel: bytcr_rt5640: Enable jack detection commit
TSCS454: Add Support commit
atmel-i2s: add driver for the new Atmel I2S controller commit
mediatek: add MT7622 AFE support commit
Add support for mt6797 SoC commit, commit, commit, commit, commit, commit, commit
pcm512x: Add ACPI support commit
qcom: Add support to QDSP based Audio commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
rsnd: Enable IPMMU v2 commit
rt1305: Add RT1305/RT1306 amplifier driver commit
rt5640: Add button press support commit
rt5640: Add jack-detect support commit
rt5668: add rt5668B codec driver commit
ssm2305: Add amplifier driver commit
uniphier: add digital output volume for UniPhier sound system commit
Support for SoundWire Streaming commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
12.6. Tablets, touch screens, keyboards, mouses
- HID
Add driver for Valve Steam Controller commit
google: Add support for whiskers commit
multitouch: implement precision touchpad latency and switches commit
redragon: Fix modifier keys for Redragon Asura Keyboard commit
steam: add battery device commit
wacom: Support "in range" for Intuos/Bamboo tablets where possible commit
Add Spreadtrum vibrator driver commit
- elan_i2c
elantech: add support for SMBus devices commit
goodix: add new ACPI id for GPD Win 2 touch screen commit
silead: add MSSL0002 ACPI HID commit
usbtouchscreen: add sysfs attribute for 3M MTouch firmware rev commit
xpad: add GPD Win 2 Controller USB IDs commit
12.7. TV tuners, webcams, video capturers
video-i2c: add video-i2c driver commit
Add a driver for the ov7251 camera sensor commit
cx88: enable IR transmitter on HVR-1300 commit
ddbridge: support for the new MCI card types, and namely the new MaxSX8 cards commit, commit
ddbridge: support dummy tuners with 125MByte/s dummy data stream commit
dvb-frontends/dvb-pll: add i2c driver support commit
dvb: add alternative USB PID for Hauppauge WinTV-soloHD commit
em28xx: Add new dvb-t board ":Zolid Hybrid Tv Stick" commit
imx258: Add imx258 camera sensor driver commit
rc: add ioctl to get the current timeout commit
rc: imon decoder: support the stick commit
rcar-csi2: add Renesas R-Car MIPI CSI-2 receiver driver commit
rcar-vin: enable support for r8a7795 commit, support for r8a7796 commit, support for r8a77970 commit
tuners: add new i2c driver for Sharp qm1d1b0004 ISDB-S tuner commit
usbtv: Add SECAM support commit
uvcvideo: Support realtek's UVC 1.5 device commit
cadence: Add Cadence MIPI-CSI2 RX driver commit, TX driver commit
vsp1: Add support for the DISCOM entity commit
12.8. Universal Serial Bus
USB 3.2: Add sysfs entries for a usb device rx_lanes and tx_lanes commit, commit, commit
typec: adds sink side support for the PPS feature introduced in the USB PD 3.0 specification commit, commit, commit, commit, commit, commit
gadget: Add driver for Aspeed SoC virtual hub commit
- serial
dwc2: Add Interpacket Gap(IPG) feature support commit
dwc3: Add Qualcomm DWC3 glue driver commit
- xhci
12.9. Serial Peripheral Interface (SPI)
Extend the core to ease integration of SPI memory controllers commit
s3c64xx: samsung: Remove support for Exynos5440 commit
spi-s3c64xx: Allow higher transfer lengths in polling IO mode commit
12.10. ACPI, EFI, cpufreq, thermal, Power Management
- ACPI
tools: pm-graph: upgrade to v5.1 commit
- cpufreq
EFI: Add decoding for the IA32/X64 Common Platform Error Record commit, commit, commit, commit, commit, commit, commit, commit
- thermal
- tools/power turbostat
12.11. Real Time Clock (RTC)
12.12. Voltage, current regulators, power capping, power supply
- power
- regulator
12.13. Pin Controllers (pinctrl)
actions: Add Actions S900 pinctrl driver commit
actions: Add gpio support for Actions S900 SoC commit
qcom: qdf2xxx: add support for new ACPI HID QCOM8002 commit
rockchip: Add pinctrl support for PX30 commit
samsung: Remove support for Exynos5440 commit
sh-pfc: Add r8a77470 PFC support commit
sunxi: add support for H6 R_PIO pin controller commit
12.14. Multi Media Card (MMC)
renesas_sdhi: Add r8a77965 support commit
jz4740: Add support for the JZ4780 commit
meson-axg: add support for the Meson-AXG platform commit
12.15. Memory Technology Devices (MTD)
Add sysfs attribute for mtd OOB available size commit
spi-nor: Add Micron MT25QU02 support commit
spi-nor: Add support for XM25QH64A and XM25QH128A commit
spi-nor: Add support for is25wp series chips commit
spi-nor: fsl-quadspi: add support for ls2080a/ls1080a commit
12.16. Industrial I/O (iio)
Move adis16201 driver out of staging commit
Move adis16209 driver out of staging commit
accel: st_accel: Add support for the SMO8840 ACPI id commit
adc: stm32-adc: add support for STM32MP1 commit
dac: add TI DAC5571 family support commit
imu: st_lsm6dsx: add support to ism330dlc commit
dac:ad5686: Add AD5671R/75R/94/94R/95R/96/96R support commit, AD5672R/76/76R/84R/86R support commit, AD5681R/AD5682R/AD5683/AD5683R support commit, AD5691R/AD5692R/AD5693/AD5693R support commit
staging: iio: ad2s1200: Move driver out of staging commit
12.17. Pulse-Width Modulation (PWM)
stm32: Add capture support commit
12.18. Inter-Integrated Circuit (I2C)
i2c-stm32f7: Add initial SMBus protocols support commit
i2c-stm32f7: Add slave support commit
xlp9xx: Add support for SMBAlert commit
qup: Add support for Fast Mode Plus commit
tda9950: add CEC driver commit
12.19. Hardware monitoring (hwmon)
ibmpowernv: Add energy sensors commit
k10temp: Add support for Stoney Ridge and Bristol Ridge CPUs commit
k10temp: Display both Tctl and Tdie commit
ltc2990: support all measurement modes commit
MC13783: Add uid and die temperature sensor inputs commit
12.20. Leds
Add Spreadtrum SC27xx breathing light controller driver commit
add LED driver for CR0014114 board commit
lm3601x: Introduce the lm3601x LED driver commit
12.21. Cryptography hardware acceleration
ccree: enable support for hardware keys commit
crypto4xx: add aes-ctr support commit
inside-secure: authenc(hmac(sha224), cbc(aes)) support commit, authenc(hmac(sha256), cbc(aes)) support commit, authenc(hmac(sha1), cbc(aes)) support commit
12.22. PCI
Add pci=noats boot parameter. When supplied, all ATS related functions fail immediately and the IOMMU is configured to not use device-IOTLB commit
PCI/IOV: Add pci-pf-stub driver for PFs that only enable VFs commit
dwc: Add support for EP mode commit
mobiveil: Add MSI support commit
mobiveil: Add Mobiveil PCIe Host Bridge IP driver commit
rcar: Add R-Car gen3 PHY support commit
Add Intel VMD devices to pci ids commit
rockchip: Add EP driver for Rockchip PCIe controller commit
12.23. Clock
actions: Add clock driver for Actions S900 SoC commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
imx6: add EPIT clock support commit
meson-axg: Add AO Clock and Reset controller driver commit
npcm7xx: add clock controller commit
qcom: Add Global Clock controller (GCC) driver for SDM845 commit
qcom: Add support for controlling Fabia PLL commit
renesas: cpg-mssr: Add r8a77470 support commit
renesas: cpg-mssr: Add support for R-Car E3 commit
sunxi-ng: add support for H6 PRCM CCU commit
12.24. Various
EDAC, altera: Add support for Stratix10 SDRAM EDAC commit
EDAC, ghes: Add DDR4 and NVDIMM memory types commit
HISI LPC: Add ACPI UART support commit
Remove jsflash driver commit
qcom: add command DB driver commit
firmware: coreboot: Add coreboot framebuffer driver commit
fpga: lattice machxo2: Add Lattice MachXO2 support commit
ipmi: Add a maintenance mode for IPMB messages commit
ipmi: Add a way to tune some timeouts commit
ipmi: Remove the proc interface commit
ipmi: add an NPCM7xx KCS BMC driver commit
- irqchip
mailbox: add STMicroelectronics STM32 IPCC driver commit
ocxl: Add an IOCTL so userspace knows what OCXL features are available commit, commit
phy: Add a driver for the ATH79 USB phy commit
phy: cp110-comphy: 2.5G SGMII mode commit
phy: mediatek: add XS-PHY driver commit
phy: qcom-qmp: Add QMP V3 USB3 UNI PHY support for sdm845 commit
phy: qcom-qusb2: Add QUSB2 PHYs support for sdm845 commit
regulator: tps6586x: Add support for TPS658624 commit
remoteproc: q6v5: Add support for mss remoteproc on SDM845 commit
soc: qcom: Add APR bus driver commit
soc: qcom: Add GENI based QUP Wrapper driver commit
soc: renesas: rcar-sysc: Add r8a77470 support commit
soc: renesas: rcar-sysc: Add support for R-Car E3 power areas commit
soc: ti: K2G: enhancement to support QMSS in K2G NAVSS commit
serial: qcom_geni_serial: Add early console support commit
13. List of merges
14. Other news sites
LWN's merge window part 1, part 2, Statistics from the 4.18 development cycle
Phoronix The Changes & New Features For Linux 4.18, Benchmarks Are Incoming
In German: Die Neuerungen von Linux 4.18