1055
Comment: Linux 5.17 changelog
|
1054
Linux 6.1
|
Deletions are marked like this. | Additions are marked like this. |
Line 7: | Line 7: |
<<Include(Linux_5.17)>> | <<Include(Linux_6.1)>> |
Changes done in each Linux kernel release. Other places to get news about the Linux kernel are LWN kernel status or the Linux Kernel mailing list (there is a web interface in www.lkml.org or lore.kernel.org/lkml). The lore.kernel.org/lkml/ archive is also available via NTTP if you prefer to use a newsreader: use nntp://nntp.lore.kernel.org/org.kernel.vger.linux-kernel for that. List of changes of older releases can be found at LinuxVersions. If you're going to add something here look first at LinuxChangesRules!
You can discuss the latest Linux kernel changes on the New Linux Kernel Features Forum.
Linux 6.1 was released on Sun, 11 December 2022.
Summary: This release includes initial support for the Rust programming language; an optional MGLRU memory management algorithm that provides better memory management performance; a kernel memory sanitizer for improved memory safety debugging; memory tiering improvements; allow processes to voluntary collapse memory into a transparent hugepage; new BPF features such as a panic helper; better Btrfs performance overall; a Maple tree data structure with better algorithmic properties than red-black trees; support for per-cgroup Pressure Stall Information and a new IRQ/SoftIRQ PSI indicator. As always, there are many other features, new drivers, improvements and fixes.
Contents
-
Prominent features
- Initial support for the Rust programming language
- Multi-generational LRU for better memory management
- KMSAN, a kernel memory sanitizer
- Support for KCFI, a forward-edge control-flow integrity scheme
- Memory tiering improvements
- BPF features: panic helper, PKCS#7 signature verification, memory allocator
- Maple trees, a more efficient tree data structure
- Allow a process to induce collapsing of memory into transparent hugepages
- PSI improvements: per-cgroup PSI, IRQ/SoftIRQ PSI, optimizations
- Btrfs performance improvements
- Core (various)
- File systems
- Memory management
- Block layer
- Tracing, perf and BPF
- Virtualization
- Security
- Networking
- Architectures
-
Drivers
- Graphics
- Power Management
- 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
- Serial
- CPU Frequency scaling
- 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)
- Inter-Integrated Circuit (I2C + I3C)
- Hardware monitoring (hwmon)
- General Purpose I/O (gpio)
- Leds
- DMA engines
- Cryptography hardware acceleration
- PCI
- Thunderbolt
- Clock
- PHY ("physical layer" framework)
- EDAC (Error Detection And Correction)
- Various
- List of Pull Requests
- Other news sites
1. Prominent features
1.1. Initial support for the Rust programming language
This release adds support for the Rust programming language. Rust aims to provide a modern system programming language with provable memory safety, without the use of a garbage collector, thus eliminating an entire class of bugs, which are the most common source of security vulnerabilities.
This release includes some initial support for Rust, which will be improved in later releases.
1.2. Multi-generational LRU for better memory management
When programs try to use more memory than what it's available, the Linux kernel needs to take a decision about which parts of memory, and from which program(s), move to swap or evict from memory. This process decides the kernel’s caching policy and ability to overcommit memory.
The current memory management subsystem in Linux attempts to make the right decision by keeping LRU (Least Recently Used) lists of pages. However, this method does not always make the best decisions. The multi-generation LRU is an alternative LRU implementation that optimizes page reclaim and improves performance under memory pressure. This implementation does not replace the current memory management scheme, it can be configured at compilation time.
Another recommended LWN article
1.3. KMSAN, a kernel memory sanitizer
KMSAN is a dynamic error detector aimed at finding uses of uninitialized values. It is based on compiler instrumentation, and is quite similar to the userspace MemorySanitizer tool.
An important note is that KMSAN is not intended for production use, because it drastically increases kernel memory footprint and slows the whole system down.
1.4. Support for KCFI, a forward-edge control-flow integrity scheme
Add support for KCFI, a forward-edge control-flow integrity scheme in the upcoming Clang 16 release, which is more suitable for kernel use than the existing CFI scheme used by CONFIG_CFI_CLANG. KCFI doesn't require LTO, doesn't alter function references to point to a jump table, and won't break function address equality. This replaces the current arm64 CFI implementation with KCFI and adds support for x86_64.
1.5. Memory tiering improvements
In modern systems, RAM can be distributed in several chips that can be accessed at a faster or slightly slower speed depending on the CPU accessing it. Modern systems are adding even more RAM tiers. This means that placement of a memory page that belongs to one node or another can severly impact performance.
This release includes a couple of improvements to the memory management subsystem. The first one is a new algorithm that helps to identify which pages are "hot" in a node so the system can promote/demote hot/cold pages to the appropriate nodes. The second change makes the tiering information available to userspace, and lets users configure it.
1.6. BPF features: panic helper, PKCS#7 signature verification, memory allocator
As usual, this release includes a few BPF features:
Some debugging techniques require a memory dump, this release allows to trigger a panic from eBPF so that the memory state can be dumped at the right moment Recommended LWN article
Because some type of BPF programs can attach to kprobe and fentry, they can run in unknown context where calling plain kmalloc() might not be safe. For this reason a small buffer of memory is reserved to allow allocation in these contexts Recommended LWN article
- There also other features, like functions PKCS#7 signature verification or an user-space-publisher ring buffer map type.
1.7. Maple trees, a more efficient tree data structure
The maple tree is an RCU-safe range based B-tree designed to use modern processor cache efficiently. There are a number of places in the kernel that a non-overlapping range-based tree would be beneficial, especially one with a simple interface. Users of an rbtree with other data structures to improve performance or an interval tree to track non-overlapping ranges will benefit the most from maple trees.
1.8. Allow a process to induce collapsing of memory into transparent hugepages
This release provides a mechanism for userspace to induce a collapse of eligible ranges of memory into transparent hugepages in process context, thus permitting users to more tightly control their own hugepage utilization policy at their own expense. The proposed interface adds a new madvise(2) mode, MADV_COLLAPSE, and leverages the new process_madvise(2) call.
1.9. PSI improvements: per-cgroup PSI, IRQ/SoftIRQ PSI, optimizations
The Pressure Stall Information provides a detailed view of the current resource usage in the system. This release includes support for optional per-cgroup PSI accounting (with some overhead), a new PSI_IRQ to IRQ/SOFTIRQ pressure, and some optimizations
1.10. Btrfs performance improvements
This release incorporates a few changes that will make Btrfs much faster when doing asynchronous buffered I/O using io_uring, also improved performance during normal buffered I/O, drastically faster lseek and FIEMAP (extent mapping information), preparations for a separate block group tree that will speed up mount times, improved inode logging (+25% faster dbench performance, -21% max latency), and other changes
2. Core (various)
(FEATURED) Initial support for the Rust programming language 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
cgroup/cpuset: cpu partition code enhancements: 1) allow partitions that have no task to have empty effective cpus 2) relax the constraints on what changes are allowed in cpuset.cpus and cpuset.cpus.partition 3) Add a new "isolated" partition type for partitions with no load balancing which is available in v1 but not yet in v2 4) allow the reading of cpuset.cpus.partition to include a reason string as to why the partition remain invalid commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
cgroup: add pids.peak interface for pids controller commit
Dynamic debugging: opt-in class'd debug for modules commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Remove the a.out implementation commit
fortify: Add run-time WARN for cross-field memcpy() commit
fortify: Explicitly check bounds are compile-time constants commit
- io_uring
zerocopy sendmsg commit
Support non-zerocopy sendto commit
Add an option to defer async work until user space calls io_uring_enter with the GETEVENTS flag. This allows the workload to choose when to schedule async work and have finer control (at the expense of complexity of managing this) of scheduling commit, commit, commit, commit, commit, commit, commit
kunit: add boot time parameter to enable KUnit commit, commit
Add sysfs entry "patched" for each klp_object commit
- rwsem: enable true lock handoff (the waiter optimistic spinning code did not work that well if we have RT tasks in the mix)
module: Add debugfs interface to view unloaded tainted modules commit
random: restore O_NONBLOCK support commit
(FEATURED) PSI: some optimizations, introduce a new PSI resource PSI_IRQ to track IRQ/SOFTIRQ pressure stall information, and introduce a per-cgroup interface "cgroup.psi" to disable or re-enable PSI stats accounting in the cgroup level commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
string: Introduce strtomem() and strtomem_pad(), to avoid the weaknesses and ambiguity of intent when using strncpy() commit
userfaultfd: add /dev/userfaultfd for fine grained access control commit, commit, commit, commit, commit
userfaultfd: open userfaultfds with O_RDONLY commit
3. File systems
- BTRFS
(FEATURED) Make lseek and fiemap much more efficient commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
(FEATURED) Support io_uring async buffered writes commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
(FEATURED) scrub: reduce memory usage commit, commit, commit, commit, commit, commit
(FEATURED) Some updates to delayed items and inode logging, brings some optimizations to inode logging, especially for logging directories, but also when logging a regular file that happens to have the name of another file that was previously deleted in the current transaction (triggered very often by the workloads simulated by dbench) commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
I/O completion cleanup and single device I/O optimizations commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
qgroup: address the performance penalty for subvolume dropping by introducing a user configurable sysfs interface, to allow certain high subtree dropping to mark qgroup inconsistent, and skip the whole accounting commit, commit, commit, commit, commit
Separate BLOCK_GROUP_TREE feature from extent-tree commit, commit, commit
fixes and cleanups around extent maps commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
send: add support for fs-verity commit
send: allow protocol version 3 with CONFIG_BTRFS_DEBUG commit, commit
- CIFS
- EROFS
- EXT4
- F2FS
- GFS2
- UDF
Support splicing to file commit
4. Memory management
(FEATURED) Multi-Gen LRU Framework commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
(FEATURED) Add Maple Tree 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, 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
(FEATURED) Add KernelMemorySanitizer infrastructure 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, commit, commit
kasan: switch tag-based modes to stack ring from per-object metadata 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
kfence: add sysfs interface to disable kfence for selected slabs commit
Folio changes: this round has focused on shmem 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, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
ksm: count allocated rmap_items and expose in proc commit, commit
memcg: reduce memory overhead of memory cgroups commit, commit, commit
- Memory tiering
(FEATURED) Memory tiers and demotion. This patch series make the creation of memory tiers explicit under the control of device driver, exposes the tiers to userspace and allows configuring them commit, commit, commit, commit, commit, commit, commit, commit, commit
(FEATURED) New algorithm that allows for better hot page selection so the right pages can be moved to the right nodes commit, commit, commit
(FEATURED) Provides a mechanism for userspace to induce a collapse of eligible ranges of memory into transparent hugepages in process context, thus permitting users to more tightly control their own hugepage utilization policy at their own expense. The proposed interface adds a new madvise(2) mode, MADV_COLLAPSE, and leverages the new process_madvise(2) call commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Add file/shmem support to MADV_COLLAPSE commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
delayacct: support re-entrance detection of thrashing accounting commit, commit
slub: enable debugging memory wasting of kmalloc commit
Try to remember the young/dirty bits in the migration entries and carry them over when recovering the ptes commit, commit, commit, commit, commit, commit, commit
memcontrol: cleanup and optimize for two accounting params commit, commit
Improve pagecache PSI annotations commit, commit, commit, commit, commit, commit
Remove EXPERIMENTAL flag for zswap commit
tmpfs: add support for an i_version counter commit
5. Block layer
nvmet: expose max queues to configfs commit
Enable alloc caching and batched freeing for passthrough commit, commit, commit, commit, commit
iopoll support for io_uring/nvme passthrough commit, commit, commit, commit
ublk_drv: add USER_RECOVERY support; if the process or any ubq_daemon(pthread) crashes(exits accidentally), we allow user to provide new process and ubq_daemons commit, commit, commit, commit, commit, commit
sed-opal: Add ioctl to return device status commit
virtio_blk: add SECURE ERASE command support commit
6. Tracing, perf and BPF
- BPF
(FEATURED) BPF specific memory allocator commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
(FEATURED) Add user-space-publisher ring buffer map type commit, commit, commit, commit
(FEATURED) Add kfuncs for PKCS#7 signature verification commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Support direct writes to nf_conn:mark commit, commit, commit, commit, commit, commit
Support struct argument for trampoline base progs commit, commit, commit, commit, commit, commit, commit, commit
Allow for using bpf to collect hierarchical cgroup stats efficiently by integrating with the rstat framework. The rstat framework provides an efficient way to collect cgroup stats percpu and propagate them through the cgroup hierarchy commit, commit, commit, commit, commit
Add the invocation for cgroup/connect{4,6} programs to unprivileged ICMP ping (i.e. ping sockets created with SOCK_DGRAM IPPROTO_ICMP(V6) as opposed to SOCK_RAW) commit, commit, commit
Parameterize task iterators commit, commit, commit, commit, commit
Support getting tunnel flags commit
(FEATURED) Destructive bpf_kfuncs (bpf_panic) commit, commit, commit
libbpf: Allows disabling auto attach commit
libbpf: Support raw BTF placed in the default search path commit
- perf
inject: Add a command line option to specify build ids commit
lock: Add -E/--entries option commit
lock: Add -q/--quiet option to suppress header and debug messages commit
mem/c2c: Add support for AMD (tools changes) commit, commit, commit, commit, commit, commit, commit, commit
Show per-event lost sample count commit, commit, commit, commit, commit
stat: Support old kernels for bperf cgroup counting commit
tools: Add 'addr' sort key commit
Add speculation info to branch entries commit
hw_breakpoint: Optimize for thousands of tasks commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Capture branch privilege information commit, commit, commit, commit, commit, commit, commit, commit
- tracing
7. Virtualization
xen/virtio: enable grant based virtio on x86 commit, commit, commit
Fix dirty-ring ordering on weakly ordered architectures commit, commit, commit, commit, commit, commit
8. Security
(FEATURED) Add support for KCFI, a forward-edge control-flow integrity scheme in the upcoming Clang 16 release, which is more suitable for kernel use than the existing CFI scheme used by CONFIG_CFI_CLANG. KCFI doesn't require LTO, doesn't alter function references to point to a jump table, and won't break function address equality. This replaces the current arm64 CFI implementation with KCFI and adds support for x86_64 commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
9. Networking
- TCP
Add generic support for the Ethernet Power Sourcing Equipment commit, commit, commit, commit, commit, commit, commit
RDMA: Support multiple path records commit, commit, commit, commit
Remove DECnet support from kernel commit
can: support CAN XL commit, commit, commit, commit, commit, commit, commit
gro: add support of (hw)gro packets to gro stack commit
macsec: Lay the ground for MACsec hw offload commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
- mptcp
Add tc-taprio support for queueMaxSDU commit, commit, commit, commit, commit, commit, commit, commit
smc: Support SO_REUSEPORT commit
DSA changes for multiple CPU ports (part 4) commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
- TLS
netlink: support reporting missing attributes commit, commit, commit, commit, commit
openvswitch: allow specifying ifindex of new interfaces commit, commit
rtnetlink: advertise allmulti counter commit
seg6: add NEXT-C-SID support for SRv6 End behavior commit, commit, commit
vsock: updates for SO_RCVLOWAT handling commit, commit, commit, commit, commit, commit, commit, commit, commit
- phy
- wifi
Adds support for "collect_md" mode in XFRM interfaces. This feature is useful for maintaining a large number of IPsec connections with the benefits of using a network interface while reducing the overhead of maintaining a large number of devices commit, commit, commit
xfrm: start adding netlink extack support commit, commit, commit, commit, commit, commit
10. Architectures
10.1. ARM
Device Tree Sources: New SoCs
Mediatek MT8186, a Chromebook/Tablet type SoC, similar to the MT65xx series of phone SoCs, with two Cortex-A76 and six Cortex-A55 cores commit
TI AM62A, another member of the K3 family with Cortex-A53 cores, this one is targetted at Video/Vision processing for industrial and automotive applications commit, commit, commit, commit, commit
NXP i.MX8DXL is another chip for this market in the ever-growing i.MX8 family, this one again with two Cortex-A35 cores commit, commit, commit, commit, commit
Renesas R-Car H3Ne-1.7G (R8A779MB) commit, commit, commit, commit, commit, commit, commit, commit, commit and R-Car V3H2 (R8A77980A) commit, commit are minor updates of R8A77951 and R8A77980, respectively
Qualcomm IPQ8064-v2.0, IPQ8062 and IPQ8065 are all variants of the IPQ8064 chip, with minimally different features commit, commit, commit
- Device Tree Sources: New machines
Sony Xperia 1 IV is a fairly recent phone based on Qualcomm Snapdragon 8 Gen 1 commit
Three Samsung phones based on Snapdragon 410: Galaxy E5, E7 and Grand Max. These are added for both 32-bit and 64-bit kernels, as they originally shipped running 32-bit code commit, commit, commit, commit, commit
Two new servers using AST2600 BMCs: AMD DaytonaX commit and Ampere Mt. Mitchell commit
Three new machines based on Rockchips RK3399 and RK3566: Anberic RG353P and RG503 commit, commit, commit, Pine64 Pinephone Pro commit, Open AI Lab commit, commit, commit
Multiple NXP i.MX6/i.MX8 based boards: Kontron SL/BL i.MX8MM OSM-S commit, commit, commit, commit, commit, commit, commit, i.MX8MM Gateworks GW7904 commit, MSC SM2S-IMX8PLUS SoM and carrier board commit
Two development boards in the Microchip AT91 family: SAMA5D3-EDS commit and lan966x-pcb8290 commit
rockchip: Support gru-scarlet sku{2,4} variants commit
ls2081a-rdb: Add DTS for NXP LS2081ARDB commit
qcom: apq8060-dragonboard: Add TMA340 to APQ8060 DragonBoard commit
marvell: add support for Methode eDPU commit
MT8195 Acer Tomato commit, commit, commit, commit, commit, commit, commit
meson: add support for JetHome JetHub D1p (j110) commit
meson: add support for Beelink GT1 Ultimate commit
qcom: sc7280: Add device tree for herobrine evoker commit
qcom: Add new board revision and LTE SKUs for sc7280-villager family commit, commit, commit
rockchip: Add RK3399 NanoPi R4S Enterprise Edition commit
rockchip: rk3399: Radxa ROCK 4C+ commit
qcom: Add LLCC BWMON on SDM845 commit, commit, commit, commit, commit, commit, commit, commit, commit
renesas: Identify RZ/Five SoC commit
- ARM64
MediaTek Helio X10 MT6795 - M4U/IOMMU Support commit, commit, commit
sme: ptrace support for TPIDR2_EL0 commit, commit, commit, commit
perf: Kernel support for Dwarf unwinding through SVE functions commit, commit
Add DDR Sub-System Driveway PMU driver for Yitian 710 SoC commit, commit, commit
sysreg: Add hwcap for SVE EBF16 commit
alternatives mechanism: improvements commit, commit, commit, commit, commit, commit, commit, commit
iommu: M1 Pro/Max DART support commit, commit, commit, commit
10.2. X86
bpf: x86: Support in-register struct arguments in trampoline programs commit
crypto: aria-avx - add AES-NI/AVX/x86_64/GFNI assembler implementation of aria cipher commit
crypto: x86/sha512 - load based on CPU features commit
intel_idle: Add AlderLake-N support commit
iommu/amd: Add Generic IO Page Table Framework Support for v2 Page Table commit, commit, commit, commit, commit, commit
mm: x86: add CONFIG_ARCH_HAS_NONLEAF_PMD_YOUNG commit
- platform
Type-C switch driver commit, commit, commit, commit, commit, commit, commit
surface: aggregator_registry: Add HID devices for sensors and UCSI client to SP8 commit
surface: aggregator_registry: Add support for Surface Laptop Go 2 commit
amd/pmf: Introduce AMD PMF Driver commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
amd/pmf: Introduce CnQF feature for AMD PMF commit, commit, commit
amd: pmc: Add sysfs files for SMU commit
intel: pmc/core: Add Raptor Lake support to pmc core driver commit
asus-wmi: Add support for ROG X13 tablet mode commit
asus-wmi: Add support for ROG X16 tablet mode commit
asus-wmi: Implement TUF laptop keyboard LED modes commit
asus-wmi: Implement TUF laptop keyboard power states commit
asus-wmi: Support the GPU fan on TUF laptops commit
asus-wmi: Support the hardware GPU MUX on some laptops commit
hp-wmi: Support touchpad on/off commit
Add multiple-consumer support to int3472-tps68470 driver commit, commit, commit, commit, commit
Add support for another simatic board commit, commit, commit, commit, commit, commit, commit
- perf
amd: Add AMD LbrExtV2 support commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
perf mem/c2c: Add support for AMD commit, commit, commit, commit, commit, commit
intel-pt: Support itrace option flag d+e to log on error commit, commit, commit, commit, commit
perf events: Update Intel sandybridge commit, Intel sapphirerapids commit, Intel skylake commit, Intel tigerlake commit, Neoverse E1 commit, silvermont cpuids commit
Add new Raptor Lake S support commit, commit, commit, commit
rapl: Add support for Intel AlderLake-N commit
rapl: Add support for Intel Raptor Lake commit
powercap: intel_rapl: Add support for RAPTORLAKE_S commit
clear_user: Make it faster commit
tsx: Add a feature bit for TSX control MSR support commit
KVM: VMX: Support updated eVMCSv1 revision 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
10.3. LOONGARCH
Add ACPI-based generic laptop driver commit
Add SysRq-x (TLB Dump) support commit
Add kdump support commit
Add kexec support commit
Add perf events support commit
Add qspinlock support commit
Enable generic EFI compressed boot commit
10.4. RISCV
Introduce support for defining instructions to compile with toolchains that haven't yet been taught about them commit, commit, commit, commit
KVM: Allow Guest use Zihintpause extension commit
New PolarFire SoC devkit devicetrees commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Add mvendorid, marchid, and mimpid to /proc/cpuinfo output commit
Use composable cache instead of L2 cache commit, commit, commit, commit, commit, commit, commit
Enable generic EFI compressed boot commit
Enable THP_SWAP for RV64 commit
10.5. POWERPC
Stolen time accounting for VIRT_CPU_ACCOUNTING_GEN commit, commit, commit, commit
Support execute-only memory on the Radix MMU commit
microwatt: Add LiteX MMC driver commit
Add support for early debugging via Serial 16550 console commit
Enable KFENCE on book3s64 commit
10.6. S390
pai: Add support for PAI Extension 1 NNPA counters commit
dasd: add hardware copy relation commit, commit, commit, commit, commit, commit, commit
vmur: generate uevent on unsolicited device end commit
10.7. MIPS
Allow firmware to pass RNG seed to kernel commit
10.8. M68K
Allow kexec on M68KCLASSIC with MMU enabled only commit
10.9. MICROBLAZE
Add support for error injection commit
10.10. UM
Enable FORTIFY_SOURCE commit
10.11. XTENSA
Add FDPIC and static PIE support for noMMU commit
10.12. ALPHA
Add full ioread64/iowrite64 implementation commit
11. Drivers
11.1. Graphics
- amdgpu
Mode2 reset for RDNA2 commit, commit, commit, commit, commit, commit
Add DC debug option to force LTTPR mode commit
Add debug option for allocating extra way for cursor commit
Add debug option for dramclk_change_latency in apu commit
Implement DSC pass-through support commit
Add detailed GFXOFF stats to debugfs commit
Add rlcv/rlcp version info to debugfs commit
amdkfd: Added GFX 11.0.3 Support commit
- Intel
- msm
Add fault-injection support commit
- ingenic
Add support for the JZ4760(B) commit
- radeon
Drop legacy MST support commit
- mediatek
- vkms
- rcar-du
- rockchip
- ast
Add resolution support for 1152x864@75 commit
- bridge
- panfrost
Add support for devcoredump commit
dyndbg: add drm.debug style (drm/parameters/debug) bitmap support commit
- fourcc
hdmi: Add audio_infoframe packing for DP commit
- panel
11.2. Power Management
11.3. Storage
ata: ahci: Add DWC/Baikal-T1 AHCI SATA support commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
nvme: send a rediscover uevent when a persistent discovery controller reconnects commit
nvmem: add driver handling U-Boot environment variables commit
nvmem: lan9662-otp: add support commit
- scsi
lpfc: Add reporting capability for Link Degrade Signaling commit
mpi3mr: Enable Enclosure device add event commit
mpt3sas: Add support for ATTO ExpressSAS H12xx GT devices commit
qla2xxx: Add NVMe parameters support in Auxiliary Image Status commit
qla2xxx: Add debugfs create/delete helpers commit
ufs: ufs-mediatek: Support clk-scaling to optimize power consumption commit
11.4. Drivers in the Staging area
fwserial: delete the driver commit
media: atomisp: Remove watchdog timer commit
media: av7110: move to staging/media/deprecated/saa7146 commit
11.5. Networking
- Bluetooth
Add VID/PID 0489/e0e0 for MediaTek MT7921 commit
btintel: Add support for Magnetor commit
btusb: Add BT device 0cb8:c549 from RTW8852AE to tables commit
btusb: Add RTL8761BUV device (Edimax BT-8500) commit
btusb: Add Realtek RTL8852C support ID 0x13D3:0x3592 commit
btusb: Add a new PID/VID 13d3/3578 for MT7921 commit
btusb: Add a new PID/VID 13d3/3583 for MT7921 commit
btusb: Add a new VID/PID 0e8d/0608 for MT7921 commit
btusb: RTL8761BUV consistent naming commit
- RDMA
asix: ax88772: add ethtool pause configuration commit
ath11k: Enable remain-on-channel support on WCN6750 commit
brcmfmac: Support 89459 pcie commit
- can
- dsa
DSA changes for multiple CPU ports (part 4) commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
LAN9303: Add basic support for LAN9354 commit
bcm_sf2: Have PHYLINK configure CPU/IMP port(s) commit
Add tc-taprio support for queueMaxSDU commit, commit, commit, commit, commit, commit, commit, commit
microchip: add KSZ9896 switch support commit
microchip: add KSZ9896 to KSZ9477 I2C driver commit
microchip: add the support for set_ageing_time commit
mt7530: add support for in-band link status commit
mv88e6xxx: support RGMII cmode commit
etheradi: Add ADIN1110 support commit
Add WED support for MT7986 chipset commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
stmicro: stmmac: dwmac-rk: Add rv1126 support commit
am65-cpsw: Add support for J7200 CPSW5G commit
- fec
- hns3
Add getting capabilities of gro offload and fd from firmware commit
Add querying and setting fec llrs mode from firmware commit
Add querying fec ability from firmware commit
Add querying fec statistics commit
Add support config dscp map to tc commit
Add support to query and set lane number by ethtool commit
debugfs add dump dscp map info commit
Support ndo_select_queue() commit
i40e: Add basic support for I710 devices commit
- ibmveth
- ice
L2TPv3 offload support commit, commit, commit, commit, commit
Add low latency Tx timestamp read commit
Add support for VLAN priority filters in switchdev commit
Add support for ip TTL & ToS offload commit
Allow 100M speeds for some devices commit
ice: Implement devlink port splitting commit, commit, commit
Support features on new E810T variants commit
igc: add xdp frags support to ndo_xdp_xmit commit
lan743x: Add support for Rx IP & TCP checksum offload commit
- lan966x
macb: Add zynqmp SGMII dynamic configuration support commit
marvell: prestera: add nexthop routes offloading commit, commit, commit, commit, commit, commit, commit, commit, commit
microchip: sparx5: Add QoS offload support commit, commit, commit, commit, commit
- mlx5
Support DMABUF in umems and enable ATS commit, commit, commit, commit
HW definitions and support for NPPS clock settings commit, commit
Support querying eswitch functions from DEVX commit
Add support for SF tunnel offload commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
xsk updates commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
xsk perf optimizations commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
mlx5e: MACSec Extended packet number and replay window offload commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
mlxsw: Configure max LAG ID for Spectrum-4 commit, commit, commit, commit
mscc: ocelot: add support for all sorts of standardized counters present in DSA commit
- nfp
ngbe: Add build support for ngbe commit
- octeontx2-af
pcs: add new PCS driver for altera TSE PCS commit
- phy
adin1100: add PHY IDs of adin1110/adin2111 commit
at803x: add disable hibernation mode support commit
broadcom: Implement suspend/resume for AC131 and BCM5241 commit
micrel: Cable Diag feature for lan8814 phy commit
realtek: add support for RTL8211F(D)(I)-VD-CG commit
tja11xx: add interface mode and RMII REF_CLK support commit
phylink: allow RGMII/RTBI in-band status commit
RollBall / Hilink / Turris 10G copper SFP support commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
- r8152
- r8169
- ravb
- rtw89
- sfc
systemport: Enable all RX descriptors for SYSTEMPORT Lite commit
- tsnep
virtio-net: use mtu size as buffer length for big packets commit
- wifi
ath11k: Add TWT debugfs support for STA interface commit
ath11k: Add WoW support for WCN6750 commit
ath11k: Add cold boot calibration support on WCN6750 commit
ath11k: Add spectral scan support for 160 MHz commit
ath11k: Add support to connect to non-transmit MBSSID profiles commit
ath11k: implement SRAM dump debugfs interface commit
Add support for bcm4378 on Apple platforms commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
brcmfmac: add 43439 SDIO ids and initialization commit
iwlwifi: pcie: add support for BZ devices commit
mt76: add PPDU based TxS support for WED device commit
mt76: mt7921: introduce Country Location Control support commit
rt2x00: add throughput LED trigger commit
rtw89: add firmware drop and crash simulation commit, commit, commit, commit
rtw89: complete basic features of 8852c commit, commit, commit, commit, commit, commit, commit, commit, commit
rtw89: support channel context commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
rtw89: coex: complete BT-coexistence feature for 8852C commit, commit, commit, commit, commit, commit, commit, commit, commit
rtw89: add P2P support commit, commit, commit, commit, commit
rtw89: support TX diversity for 1T2R variant model commit, commit, commit, commit, commit
rtw89: support for enable/disable MSDU aggregation commit
11.6. Audio
hda/realtek: Add Intel Reference SSID to support headset keys commit
hda: cs35l41: Support System Suspend commit
intel-dspconfig: add ES8336 support for AlderLake-PS commit
usb-audio: Add DSD support for Accuphase DAC-60 commit
- ASoC: SOF
ADD SOF support for rembrandt platform commit, commit, commit, commit
Add SKL/KBL support for IPC4 CI tests commit, commit, commit, commit
ipc4/Intel: Improve and enable IPC error dump commit, commit, commit, commit, commit, commit
Enable timestamp support for SOF compress driver commit, commit, commit, commit
imx: Add i.MX8ULP HW support commit
ipc4: Add support for 'mtrace' log extraction commit, commit, commit, commit, commit, commit, commit
mediatek: update SOF driver for mt8186 commit, commit, commit
pci-tgl: add missing PCI IDs for RPL commit
- ASoC
amd: acp: Add TDM support for acp i2s stream commit
Add Pink Sardine platform ASoC driver commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
amd: yc: Add Lenovo Yoga Slim 7 Pro X to quirks table commit
apple: mca: Start new platform driver commit
codecs: add support for ES8326 commit
codecs: add support for the TI SRC4392 codec commit
codecs: lpass: add support fro sm8450 and sc8280xp commit, commit, commit, commit, commit
Support for CS42L83 on Apple machines commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
imx-rpmsg: Support configure sysclk for codec dai commit
max98088: add support for noise gate reg commit
nau8825: Add ADCOUT IO drive strength control commit
nau8825: Add TDM support commit
qcom: add machine driver for sc8280xp commit
sunxi: Add Allwinner H6 Digital MIC driver commit
tlv320adcx140: Add a new kcontrol commit
wm_adsp: Handle optional legacy support commit
11.7. Tablets, touch screens, keyboards, mouses
Add ABS_PROFILE to uapi and documentation commit
Add IBM Operation Panel driver commit
adc-joystick: add polled input device support commit
- adp5588-keys refactor and fw properties support
adp5588-keys: add regulator support commit
adp5588-keys: add support for fw properties commit
mt6779-keypad: support double keys matrix commit
mtk-pmic-keys: add support for MT6331 PMIC keys commit
pinephone-keyboard: add PinePhone keyboard driver commit
rt5120: add power key support commit
synaptics: enable InterTouch for the ThinkPad P1 G3 commit
xpad: Add X-Box Adaptive Controller support commit, commit, commit
xpad: add support for XBOX One Elite paddles commit
xpad: add supported devices as contributed on github commit
- HID
Add driver for PhoenixRC Flight Controller commit
Add driver for VRC-2 Car Controller commit
XP-PEN Deco Pro S support commit, commit, commit, commit, commit, commit, commit, commit
logitech-hidpp: Detect hi-res scrolling support commit
playstation: add initial DualSense Edge controller support commit, commit
playstation: stop DualSense output work on remove commit
saitek: add madcatz variant of MMO7 mouse device ID commit
topre: Add driver fixing report descriptor commit
wacom: Add new Intuos Pro Small (PTH-460) device IDs commit
11.8. TV tuners, webcams, video capturers
Destage Hantro VPU driver commit
zoran: move driver out of staging commit
i.MX8MP DW100 dewarper driver commit, commit, commit, commit, commit, commit, commit, commit
Hantro: HEVC: Allows 10-bit bitstream commit
cec: add support for Absolute Volume Control commit
cx88: add IR remote support for NotOnlyTV LV3H commit
hantro: imx8m: Enable 10bit decoding commit
Support mt8188 h264 encoder commit, commit, commit, commit, commit, commit
platform: mtk-mdp3: add MediaTek MDP3 driver commit
Add support for RZ/G2L VSPD commit, commit, commit, commit, commit
- venus
vivid: add pixel_array test control commit
vsp1: Add premultiplied alpha support commit
Drop V4L2_CAP_ASYNCIO commit
11.9. Universal Serial Bus
chipidea: Add support for VBUS control with PHY commit
dwc3: pci: Add PCIe device ID for USB3 controller on CPU sub-system for Alder Lake P commit
dwc3: xilinx: add power management ops support commit
gadget: udc: renesas_usb3: Add support for RZ/V2M commit
host: npcm: Add NPCM8XX support commit
serial: ftdi_sio: add support for HP and HA devices commit
serial: ftdi_sio: assume hi-speed type commit
serial: option: add Sierra Wireless EM9191 commit
serial: option: add u-blox LARA-L6 modem commit
serial: option: add u-blox LARA-R6 00B modem commit
serial: qcserial: add new usb-id for Dell branded EM7455 commit
typec: tcpci_rt1711h: Add compatible with rt1715 commit, commit, commit, commit, commit, commit, commit
typec: tcpci_mt6370: Add MediaTek MT6370 tcpci driver commit
11.10. Serial Peripheral Interface (SPI)
npcm-pspi: Add NPCM845 peripheral SPI support commit
microchip-core-qspi: Add support for microchip fpga qspi controllers commit
intel: Add support for second flash chip commit
11.11. Watchdog
Exar/MaxLinear XR28V38x driver commit
imx93: add watchdog timer on imx93 commit
rzg2l_wdt: Add rzv2m support commit
s3c2410_wdt: support exynosautov9 watchdog commit
sp5100_tco: Add "action" module parameter commit
w83627hf_wdt: add bootstatus support commit
Add tracing events for the most usual watchdog events commit
11.12. Serial
Deassert Transmit Enable on probe in driver-specific way commit
atmel: Make the driver aware of the existence of GCLK commit
11.13. CPU Frequency scaling
Add support for precision boost hardware control for AMD processors commit, commit, commit, commit, commit
amd-pstate: add amd-pstate driver parameter for mode selection commit
intel_pstate: Add Tigerlake support in no-HWP mode commit
tegra194: Add support for Tegra239 commit
qcom-cpufreq-hw: Add cpufreq qos for LMh commit
11.14. Voltage, current regulators, power capping, power supply
- power
- regulator
Add driver for MT6332 PMIC regulators commit
qcom_smd: Add PM6125 RPM regulators commit
qcom_spmi: Add support for LDO_510 and FTSMPS commit
qcom_spmi: Add PM6125 PMIC support commit
Add driver for MT6331 PMIC regulators commit
Add TI TPS65219 PMIC regulators support commit
qcom_spmi: Add support for HFSMPS regulator type commit
11.15. Pin Controllers (pinctrl)
Add Cypress cy8c95x0 support commit
cy8c95x0: support ACPI device found on Galileo Gen1 commit
mediatek: add mt8188 driver commit
qcom: Add sc8280xp lpass lpi pinctrl driver commit
qcom: Add sm8450 lpass lpi pinctrl driver commit
qcom: spmi-gpio: add support for LV_VIN2 and MV_VIN3 subtypes commit
rockchip: Add RV1126 pinctrl support commit
11.16. Multi Media Card (MMC)
11.17. Memory Technology Devices (MTD)
ubi: fastmap: Add fastmap control support for 'UBI_IOCATT' ioctl commit
parsers: add Broadcom's U-Boot parser commit
Add ECC error accounting for each read request commit
mtdchar: add MEMREAD ioctl commit
rawnand: brcmnand: Add individual glue driver selection commit
11.18. Industrial I/O (iio)
accel: adxl312 and adxl314 support commit
accel: bma400: Add support for single and double tap events commit
adc: Add rtq6056 support commit
adc: add max11205 adc driver commit
adc: at91-sama5d2_adc: add support for temperature sensor commit
adc: ltc2497: LTC2499 support commit
- adc: Improve MCP3911 driver
adc: stm32-adc: add id registers support commit
Add support for Bosch BNO055 IMU commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
cdc: ad7746: Move driver out of staging commit
imu: st_lsm6dsx: add support to LSM6DSTX commit
Add MEMSensing MSA311 3-axis accelerometer driver commit
light: Add support for ltrf216a sensor commit
light: ltrf216a: Add raw attribute commit
Add support for magnetometer Yamaha YAS537 commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
pressure: bmp280: Add support for BMP380 sensor family commit, commit
pressure: st_pressure: Add support for LPS22DF commit
temperature: mlx90632 Add supply regulator to sensor commit
11.19. Multi Function Devices (MFD)
mt6370: Add MediaTek MT6370 support commit
ocelot: Add support for the vsc7512 chip via spi commit
qcom-spmi-pmic: Add support for PMP8074 commit
rk808: Add Rockchip rk817 battery charger support commit
rt5120: Add Richtek PMIC support commit
11.20. Inter-Integrated Circuit (I2C + I3C)
cadence: Add standard bus recovery support commit
microchip: pci1xxxx: Add driver for I2C host controller in multifunction endpoint of pci1xxxx switch commit
mlxbf: add multi slave functionality commit
mlxbf: support BlueField-3 SoC commit
mlxbf: support lock mechanism commit
rk3x: Add rv1126 support commit
11.21. Hardware monitoring (hwmon)
Add max31760 fan speed controller driver commit
aquacomputer_d5next: Add support for Aquacomputer High Flow Next commit
aquacomputer_d5next: Add support for reading virtual temp sensors commit
corsair-psu: Add USB id of the new HX1500i psu commit
corsair-psu: add USB id of new revision of the HX1000i psu commit
corsair-psu: add reporting of rail mode via debugfs commit
emc2305: add support for EMC2301/2/3/5 RPM-based PWM Fan Speed Controller commit
max31790: add fanN_enable commit
- mr75203
pmbus: Add driver for the TEXAS TPS546D24 Buck Converter commit
asus_wmi_ec_sensors: remove driver commit
11.22. General Purpose I/O (gpio)
gpio-f7188x: Add GPIO support for Nuvoton NCT6116 commit
imx-scu: add imx-scu GPIO driver commit
pca953x: Add support for PCAL6534 commit
pca953x: introduce support for nxp,pcal6408 commit
gpio-adp5588: drop the driver commit
11.23. Leds
simatic-ipc-leds-gpio: add new model 227G commit
11.24. DMA engines
hisilicon: Add support for hisi dma driver commit, commit, commit, commit, commit, commit, commit
Enable a few DSA 2.0 features commit, commit, commit, commit, commit
qcom: gpi: Add SM6350 support commit
STM32 DMA-MDMA chaining feature commit, commit, commit, commit, commit, commit
ti: k3-psil: add additional TX threads for j7200 commit
ti: k3-psil: add additional TX threads for j721e commit
11.25. Cryptography hardware acceleration
Add Aspeed crypto driver for hardware acceleration commit, commit
hisilicon: support get device information from registers commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
11.26. PCI
qcom: Add support for SA8540P commit
qcom: Add support for SC8280XP commit
aardvark: Add support for PCI Bridge Subsystem Vendor ID on emulated bridge commit
imx6: Add i.MX8MP PCIe support commit
qcom-ep: Add support for SM8450 SoC commit
11.27. Thunderbolt
Add support for Intel Meteor Lake commit
Add support for receiver lane margining commit, commit, commit, commit
Add support for ASMedia NVM image format commit, commit, commit, commit, commit, commit
net: Enable full end-to-end flow control commit, commit, commit, commit, commit
11.28. Clock
Renesas versaclock7 ccf device driver commit
bcm: rpi: Add support HEVC clock commit
bcm: rpi: Add support for VEC clock commit
mediatek: Add MediaTek Helio X10 MT6795 clock drivers commit
mediatek: add driver for MT8365 SoC commit
microchip: add PolarFire SoC fabric clock support commit
microchip: mpfs: add reset controller commit
- qcom
Add SC8280XP GPU clock controller commit
Add display clock controller driver for SM6115 commit
Add global clock controller driver for SM6375 commit
Add SM8450 Display clock controller support commit, commit, commit
apss-ipq-pll: add support for IPQ8074 commit
Add clocks for MSM8909 commit, commit, commit, commit, commit, commit
smd: Add SM6375 clocks commit
rockchip: Add clock controller support for RV1126 SoC commit
sprd: Add clocks support for UMS512 commit
vc5: Add support for IDT/Renesas VersaClock 5P49V6975 commit
11.29. PHY ("physical layer" framework)
Add RGMII support on lan966x commit
lan966x: add support for QUSGMII commit
rockchip: Support PCIe v3 commit
rockchip: add support for the rk356x variant to rockchip-inno-csidphy commit
rockchip: inno-dsidphy: Add support for rk3568 commit
ti: gmii-sel: Add support for CPSW5G GMII SEL in J7200 commit
ti: phy-j721e-wiz.c: Add usxgmii support in wiz driver commit
usb: Add USB2.0 phy driver for Sunplus SP7021 commit
11.30. EDAC (Error Detection And Correction)
ie31200: Add Skylake-S support commit
i10nm: Add driver decoder for Ice Lake and Tremont CPUs commit
sb_edac: Add row column translation for Broadwell commit
skx_common: Add ChipSelect ADXL component commit
11.31. Various
counter: Add support for Counter array components commit, commit, commit, commit, commit
extcon: usbc-tusb320: Add USB TYPE-C support commit
firmware/psci: Add debugfs support to ease debugging commit
firmware: xilinx: add support for sd/gem config commit
fpga: dfl-pci: Add IDs for Intel N6000, N6001 and C6100 cards commit
- habanalabs
hwtracing: hisi_ptt: Add trace and tune function support for HiSilicon PCIe Tune and Trace device commit, commit
irqchip: Add IMX MU MSI controller driver commit
mei: debugfs: add pxp mode to devstate in debugfs commit
memory: brcmstb_memc: Add Broadcom STB memory controller driver commit
memory: mtk-smi: mt8188: Add SMI Support commit
misc: microchip: pci1xxxx: load auxiliary bus driver for the PIO function in the multi-function endpoint of pci1xxxx device commit
parport: add support for Netmos device 9900 commit
pcmcia: remove AT91RM9200 Compact Flash driver commit
pcmcia: remove VR41XX PCMCIA driver commit
regmap: Support accelerated noinc operations commit
regmap: mmio: Support accelerared noinc operations commit
remoteproc: Introduce rproc features commit
remoteproc: Support attach recovery after rproc crash commit
reset: add polarfire soc reset support commit
speakup-dummy: Add support for PUNCT variable commit
speakup_soft: Add direct module parameter commit
vDPA: allow userspace to query features of a vDPA device commit
watchdog: Add tracing events for the most usual watchdog events commit
iio: Add new event type gesture and use direction for single and double tap commit
iio: core: Introduce _zeropoint for differential channels commit
12. List of Pull Requests
13. Other news sites
LWN merge window part 1, part 2, development statistics
Phoronix's feature overview