KernelNewbies:

Changes done in each Linux kernel release. Other places to get news about the Linux kernel are LWN kernel status, H-Online, or the Linux Kernel mailing list (there is a web interface in www.lkml.org). 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 5.7 was released on Sun, 31 May 2020.

Summary: This release adds: support for the notion of Thermal Pressure, which lets the task scheduler to take better scheduling decisions in the face of CPU frequency changes; support for frequency invariant scheduler accounting on x86 CPUs, which makes x86 perform better with the schedutil governor; a new and better exFAT file system implementation; support for a x86 feature that allows to detect atomic operations that span cache lines; ARM Pointer Authentication support for kernel code, which helps to prevent security issues; support for spawning processes with clone3() into cgroups; write protection support in userfaultfd(), which is equivalent to (but faster than) using mprotect(2) and a SIGSEGV signal handler; and a BPF-based Linux Security Module which allows for more dynamic security auditing. As always, there are many other new drivers and improvements.

1. Prominent features

1.1. Thermal Pressure in the task scheduler

When a CPU is overheating, the thermal governor will usually cap the maximum CPU frequency. This, however, decreases the maximum available compute capacity of that CPU. If the task scheduler is not immediately aware of those frequency changes, it will take wrong scheduling decisions assuming that the CPU has greater computing capacity than it actually has. This release introduces the notion of Thermal Pressure, which makes the task scheduler more aware of frequency capping, and leads to better task placement among available cpus in event of overheating, which in turn leads to better performance numbers.

Recommended LWN article: Telling the scheduler about thermal pressure

1.2. Frequency invariant scheduler accounting on x86 CPUs

Suppose a CPU has two frequencies: 500 and 1000 MHz. When running a task that would consume 1/3rd of a CPU at 1000 MHz, it would appear to consume approximately 2/3rd when running at 500 MHz, giving the false impression this CPU is almost at capacity, even though it can go faster. Without frequency scale-invariance, tasks look larger just because the CPU is running slower. This makes the schedutil cpufreq governor -which uses scheduler-provided CPU utilization information as input for making its decisions- take wrong decisions and perform worse.

This release implements frequency invariant scheduler accounting on (some) x86 CPUs. This makes capacity estimates more precise and keeps tasks on the same CPU better in the face of dynamic voltage and frequency scaling. Because of the improved behavior, the intel_pstate driver defaults now to using the schedutil governor.

Recommended LWN article: Frequency-invariant utilization tracking for x86

1.3. New exFAT file system

Linux 5.4 added an implementation for the exFAT file system. This file system has been dropped; instead, an alternative implementation coming from Samsung has been found to have better quality, and has been merged in this release as a substitute of the previous implementation

1.4. Split lock detection

A split-lock occurs when an atomic CPU instruction operates on data that spans two cache lines. This is much slower than an atomic operation within a cache line, and it disrupts performance on other cores. This release adds support for a x86 features that allows to detect split locks. Using the split_lock_detect boot command line, it is possible to warn or even send SIGBUS to applications that make use of split locks.

Recommended LWN article: Developers split over split-lock detection

1.5. ARM Kernel Pointer Authentication support

Linux 5.0 added support for the ARMv8.3 Pointer Authentication extension, which uses a Pointer Authentication Code to determine whether pointers have been modified unexpectedly. This prevents many security vulnerabilities, but this support was only added for user space code. This release adds support for the arm64 kernel, which should help protect the kernel against attacks using return-oriented programming.

Recommended LWN article: ARM pointer authentication

1.6. userfaultfd() write protection support

This release adds to userfaultfd(2) -a system call added in Linux 4.3 to let a process handle page faults in userspace- the support for write protection. This means that attempts to write in areas of the address space specified with userfaultfd() can be handled in userspace. This is equivalent to (but faster than) using mprotect(2) and a SIGSEGV signal handler. hugetlbfs/shmem is not supported in this release. For more details see the documentation.

Recommended LWN article: Write-protect for userfaultfd().

1.7. bpf-lsm: A BPF-based Linux Security Module

The current kernel infrastructure for providing telemetry (Audit, Perf etc.) is disjoint from access enforcement (i.e. LSMs). Augmenting the information provided by audit requires kernel changes to audit, its policy language and user-space components. Furthermore, building a MAC policy based on the newly added telemetry data requires changes to various LSMs and their respective policy languages. This release adds a new LSM allows BPF programs to be attached to LSM hooks, which facilitates a unified and dynamic (not requiring re-compilation of the kernel) audit and MAC policy.

Recommended LWN article: KRSI — the other BPF security module.

1.8. clone3(): Allow spawning processes into cgroups

This release adds support in clone3(2) for creating a process in a different cgroup than its parent, which means that callers can limit and account processes and threads right from the moment they are spawned. A service manager can directly spawn new services into dedicated cgroups; a process can be directly created in a frozen cgroup and will be frozen as well; the initial accounting jitter experienced by process supervisors and daemons is eliminated; threaded applications or even thread implementations can choose to create a specific cgroup layout where each thread is spawned directly into a dedicated cgroup.

Recommended LWN article: Cloning into a control group

1.9. Improved perf cgroup profiling

In the past, perf could only profile tasks in a specific cgroup and there was no way to know to which cgroup the current sample belonged to. In this release, perf incorporates cgroup information into each sample, which makes possible to profile more than one cgroup and used a cgroup sort key in perf report

2. Core (various)

3. File systems

4. Memory management

  • mremap(2): add MREMAP_DONTUNMAP flag. When remapping an anonymous, private mapping, if MREMAP_DONTUNMAP is set, the source mapping will not be removed. This is expected to be used on Chrome OS where with userfaultfd it would be possible to write an anonymous mapping to disk without having to STOP the process or worry about VMA permission changes commit, commit

  • Memory cgroup: recursive memory protection. It extends memory.low/min such that the knobs apply recursively to the entire subtree. Users can still assign explicit protection to subgroups, but if they don't, the protection set by the parent cgroup will be distributed dynamically such that children compete freely - as if no memory control were enabled inside the subtree - but enjoy protection from neighboring tree. This should have been the default behavior but is a mount-option to avoid regressions commit, commit, commit

  • (FEATURED) userfaultfd: initial write protection support (both shmem and hugetlbfs are not supported yet). This is equivalent to (but faster than) using mprotect and a SIGSEGV signal handler. For details see the documentation. recommended LWN article. commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit

  • dma-buf: add dynamic DMA-buf handling. This allows the exporter to provide the mappings without the need to pin the backing store commit, commit, commit, commit, commit, commit, commit

  • Page fault enhancements: it allows the page fault handlers to be more interactive on not only SIGKILL, but also the rest of userspace signals (especially for user-mode faults), and it allows the page fault retry to happen for more than once commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit

  • Add support for free page reporting, which is an API that provides an asynchronous means of reporting free guest pages to a hypervisor, so that the memory associated with those pages can be dropped and reused by other processes and/or guests on the host. Using this it is possible to avoid unnecessary I/O to disk and greatly improve performance in the case of memory overcommit on the host commit, commit, commit, commit, commit, commit, commit, commit, commit

  • mbind(2): Support MPOL_MF_STRICT for huge page mapping commit

  • vmstat: add stat for hugepage fallback. The existing thp_fault_fallback indicates when thp attempts to allocate a hugepage but fails, or if the hugepage cannot be charged to the mem cgroup hierarchy. This release extends this to shmem as well and adds a new thp_file_fallback to complement thp_file_alloc that gets incremented when a hugepage is attempted to be allocated but fails, or if it cannot be charged to the mem cgroup hierarchy commit, commit

  • zswap: allow setting default status, compressor and allocator at compile time commit

  • Add a hugetlb_cma boot option, which allows to reserve a cma area which can be later used for 1 GB hugepages allocations commit, commit

  • hugetlbfs: use i_mmap_rwsem for better synchronization commit, commit,

  • hugetblfs: hit hugetlb_cgroup limits at reservation time, instead of at fault time commit, commit, commit, commit, commit, commit, commit, commit, commit, commit

  • Add Uacce (Unified/User-space-access-intended Accelerator Framework). Von Neumann architecture is not good at general data manipulation, so there are more and more heterogeneous processors, such as encryption/decryption accelerators, TPUs, or EDGE processors. The intention of Uacce is to make sure the accelerator and process can share the same address space, so the accelerator ISA can directly address any data structure of the main CPU. This differs from the data sharing between CPU and IO device, which share data content rather than address. Uacce is intended to be used with Jean Philippe Brucker's SVA patchset, which enables IO side page fault and PASID support commit, commit, commit, commit

  • Fix transparent huge page migration for CMA allocations commit, commit

  • ubsan: Split out bounds checker so it can be individually used commit, commit, commit, commit, commit, commit

5. Block layer

  • scsi: Allow non-root users to perform ZBC commands commit

  • device mapper
    • dm writecache: implement gradual cleanup, adding a new option max_age that specifies the maximum age of a block in milliseconds commit

    • dm writecache: Add DM writecache "cleaner" policy feature that allows cache to be flushed while userspace monitors for completion to then discommision use of caching commit

    • dm integrity: add optional discard support commit

  • diskstats: more accurate io_ticks and optimization commit, commit, commit

  • rbd: enable multiple blk-mq queues commit

  • null_blk: Add support for fault injection commit

  • Add support for block disk resize udev notification commit, commit, commit, commit, commit

6. Tracing, perf and BPF

  • perf
    • (FEATURED) Improve cgroup profiling. It allows to add a new cgroup id to samples so it's possible to profile more than one cgroup. A new cgroup sort key is added to perf report that shows cgroup membership commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit

    • report: Support annotation of code without symbols commit, commit, commit

    • Support metric group constraint: some metric groups can't count when NMI is enabled. This release adds "MetricConstraint" in event list, which provides a hint for perf tool, and perf tool can change the metric group to non-group (standalone metrics) if NMI watchdog is enabled commit, commit, commit, commit, commit

    • report/top: Support sorting by a given event in group with option --group-sort-idx, and hotkeys in the TUI interface to let user select events for sorting commit, commit, commit, commit

    • evlist: Support the recently added PERF_SAMPLE_BRANCH_HW_INDEX commit, commit

    • report: Support a new key to reload the browser commit

    • Stitch LBR call stack (kernel): the existing Last Branch Record (LBR) allows to record call stack, but the depth of the call stack is limited by the number of the LBR registers. However, the overwritten LBRs may still be retrieved from previous samples and stitched together commit, commit

    • script: Introduce --deltatime option, which calculates the time difference in relation to the previous event commit

    • stat: Show percore counts in per CPU output commit

    • script: Allow --symbol to accept hexadecimal addresses commit, commit

  • BPF
    • Extend SOCKMAP to store listening as well as established sockets. This lets use SOCKMAP BPF maps with reuseport BPF programs commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit

    • Make BPF and PREEMPT_RT co-exist. Recommended LWN article. commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit

    • BPF programs may want to know whether an skb is gso. Expose gso_size field in the same manner as gso_segs commit, commit, commit

    • Add bpf_sk_assign eBPF helper, it allows assigning a previously-found socket to the skb as the packet is received towards the stack, to cause the stack to guide the packet towards that socket subject to local routing configuration. The intention is to support TProxy use cases more directly from eBPF programs attached at TC ingress, to simplify and streamline Linux stack configuration in scale environments with Cilium commit, commit, commit, commit, commit

    • Add bpf_sk_storage_get() and bpf_sk_storage_delete() helper to the bpf_tcp_ca's struct_ops commit, commit

    • Add various straight-forward helper improvements and additions to BPF cgroup based connect(), sendmsg(), recvmsg() and bind-related hooks which would allow to implement more fine-grained policies and improve current load balancer limitations commit, commit, commit, commit, commit, commit, commit

    • Provide bpf_sk_storage data during inet_diag's dump commit, commit, commit, commit

    • Add support for storing UDP sockets in sockmap and sockhash commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit

    • Adds bpftool struct_ops to support struct_ops features commit, commit, commit, commit

    • Introduce bpftool prog profile command, which uses hardware counters to profile BPF programs commit, commit, commit, commit

    • libbpf: Add support for dynamic program attach target: previously, when you wanted to attach a trace program to a bpf program the section name needs to match the tracepoint/function semantics. The addition of new APIs allow to specify the tracepoint/function dynamically commit, commit, commit

    • Adds bpf_link abstraction, analogous to libbpf's already existing bpf_link abstraction. This formalizes and makes more uniform existing bpf_link-like BPF program link (attachment) types (raw tracepoint and tracing links), which are FD-based objects that are automatically detached when last file reference is closed. These types of BPF program links are switched to using bpf_link framework. FD-based bpf_link approach provides great safety guarantees, by ensuring there is not going to be an abandoned BPF program attached, if user process suddenly exits or forgets to clean up after itself commit, commit, commit

    • Add bpf_link based BPF program attachment mechanism for cgroup BPF programs commit, commit, commit, commit, commit, commit

    • Introduce BPF_MODIFY_RET tracing progs. modify_return programs are allowed for security hooks and functions whitelisted for error injection commit, commit, commit, commit, commit, commit, commit

    • Allow per-file SELinux labeling for bpffs commit

  • tracing

7. Cryptography

  • Use batched output from CRNG instead of CPU's RNG instructions for better performance commit

8. Virtualization

  • Add vDPA device support. vDPA device is a device that uses a datapath which complies with the virtio specifications with vendor specific control path. vDPA devices can be both physically located on the hardware or emulated by software commit, commit, commit, commit, commit, commit, commit, commit, commit

  • UML: Support external time travel: using a special application on a unix socket - lets multiple machines take part in a time-travelling simulation together commit, commit, commit, commit, commit, commit

  • vfio/pci: SR-IOV support commit, commit, commit, commit, commit, commit, commit

  • virtio-net: Introduce features defined in the spec: RSS receive steering, extended RSC information, and report has of incoming packets commit, commit, commit

  • virtio_net: Add XDP meta data support commit

  • virt_wifi: implement ndo_get_iflink commit

  • Hyper-V: PCI: Add support for protocol 1.3 commit

  • tools/kvm_stat: add command line switch '-c' to log in csv format commit and '-s' to set update interval commit

9. Security

  • (FEATURED) New LSM: MAC and Audit policy using eBPF (KRSI). It allows BPF programs to be attached to LSM hooks, which facilitates a unified and dynamic audit and MAC policy. Recommended LWN article. commit, commit, commit, commit, commit, commit, commit, commit

  • seccomp: allow TSYNC and USER_NOTIF together commit

  • SELinux
    • Allow kernfs symlinks to inherit parent directory context commit

    • Improves the computational and memory efficiency of filename transition rules commit, commit

    • Added these quota command types for SELinux checks on XFS quotas commit

  • ibmvtpm: Add support for TPM2 commit

10. Networking

  • Improve bind(addr, 0) behaviour. Linux used to fail to bind sockets to ephemeral ports when all of the ports were exhausted even if all sockets had SO_REUSEADDR enabled. In this case, it still is possible to connect to the different remote hosts. This release adds the net.ipv4.ip_autobind_reuse, which allows to bind SO_REUSEADDR enabled sockets to the same (addr, port) when set to 1 and all ephemeral ports are exhausted commit, commit, commit, commit

  • Enable SO_BINDTODEVICE for non-root users commit

  • Multipath TCP part 3 (but not last): Multiple subflows and path management. Recommended LWN article commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit

  • IPv4: show tcp_allowed_congestion_control and tcp_available_congestion_control sysctls in non-initial netns commit

  • IPv6: Add handling for RPL source routing handling and insertion (implement as lwtunnel) commit, commit, commit, commit, commit

  • UDP: Bare UDP L3 Encapsulation Module. The Bareudp tunnel module provides a generic L3 encapsulation tunnelling support for tunnelling different L3 protocols like MPLS, IP, NSH etc. inside a UDP tunnel commit, commit

  • Bluetooth
  • Devlink
    • Introduce devlink port flavour virtual commit, commit

    • Allow capable device drivers to register their supported packet trap policers with devlink. User space can then tune the parameters of these policers (currently, rate and burst size) and read from the device the number of packets that were dropped by the policer, if supported commit, commit, commit, commit, commit, commit, commit

    • devlink: Add support for the DEVLINK_CMD_REGION_NEW operation, used to enable userspace requesting a snapshot of a region on demand. This can be useful to enable adding regions for a driver for which there is no trigger to create snapshots commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit

    • Refactor the auto-recover health reporter flag to be explicitly set by the devlink core. In addition, add another flag to control auto-dump attribute, also to be explicitly set by the devlink core commit, commit, commit

  • IPsec: Add offload support for ESP beet mode commit, commit, commit

  • ethtool: netlink interface, part 3 commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit and part 4 commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit

  • MACSec
    • Add new netlink attribute to allow a user to (optionally) specify the desired offload mode immediately upon MACSec link creation commit

    • Support XPN frame handling - IEEE 802.1AEbw commit, commit

  • Bridge
  • Packet schedulers
    • Make FIFO Qdisc offloadable commit

    • Introduce connection tracking hardware offload commit, commit, commit, commit, commit

    • Add software offload of connections with an established ct state using the NF flow table offload infrastructure, so once such flows are offloaded, they will not pass through conntrack again, and instead act_ct will restore the conntrack info metadata on the skb to the state it had on the offload event - established commit, commit, commit

    • Allow user to specify the type of hardware stats for the added TC action: immediate, delayed, or disabled commit, commit, commit, commit, commit, commit, commit, commit, commit, commit

    • RED qdisc: Introduce an ECN nodrop mode commit, commit, commit

    • Enables tc classification to start from a specified chain. TC multi chain configuration can cause offloaded tc chains to miss in hardware after jumping to some chain, in such cases the software should continue from the chain that was missed in hardware commit, commit, commit, commit

    • Expose HW stats types per action used by drivers commit, commit

    • Implement callback used for adding HW counters to the SW ones for pedit and skbedit actions commit, commit, commit

  • Netfilter
  • WiFi

    • Add encapsulation offloading support commit

    • Add support for BSS coloring commit, commit

    • Add infrastructure to support per TID configurations like noack policy, retry count, AMPDU control(disable/enable), RTSCTS control(enable/disable) and TX rate mask configurations commit, commit, commit, commit, commit, commit

    • Add support for requesting that the ranging measurement will use the trigger-based / non trigger-based flow instead of the EDCA based flow commit

    • Add API for telling whether the driver supports protected TWT commit

    • Add support for Beacon protection commit, commit, commit, commit, commit, commit, commit

    • To support Pre Association Security Negotiation (PASN) while already associated to one AP, allow user space to register to Rx authentication frames, so that the user space logic would be able to receive/handle authentication frames from a different AP as part of PASN commit

    • Allow userspace to reset IBSS stations to fix aggregation issue commit, commit

    • Allow to configure PMK lifetime and reauth threshold for PMKSA entries commit

  • openvswitch: add TTL decrement action commit

  • pktgen: Allow on loopback device commit

  • veth: Add more veth XDP stats to align with Mellanox, Intel and Marvell implementations commit, commit, commit, commit, commit

  • XDP: add support for atomically replacing the XDP program loaded on an interface. This is achieved by means of a new netlink attribute that can specify the expected previous program to replace on the interface commit, commit, commit, commit

  • Extends packet pacing to work over DEVX interface commit, commit

  • qrtr: migrates the Qualcomm IPC Router (QRTR) Nameservice from userspace to kernel commit

11. Architectures

11.1. ARM

11.2. x86

  • Add support for generic EFI mixed mode boot: booting 64-bit x86 kernels from 32-bit firmware running on 64-bit capable CPUs without requiring the bootloader to implement the EFI handover protocol or allocate the setup block, etc commit, commit, commit

  • (FEATURED) Enable split lock detection for real time and debug. Split lock is an access to misaligned data across two cache lines in an atomic instruction, and it takes a significant performance penaly. This feature detects and either warns or crashes the kernel depending on the setting of the kernel boot option split_lock_detect. Recommended LWN article, commit

  • (FEATURED) Implement frequency invariant scheduler accounting on (some) x86 CPUs. This is done by observing and sampling the 'recent' CPU frequency average at ~tick boundaries. The CPU provides this data via the APERF/MPERF MSRs. This hopefully makes capacity estimates more precise and keeps tasks on the same CPU better in the face of dynamic voltage and frequency scaling. Recommended LWN article. commit, commit, commit, commit, commit, commit

  • (FEATURED) As a consequence of adding frequency invariant support, the intel_pstate driver defaults to using the schedutil governor commit

  • Platforms
  • intel_pmc_core: Add Atom based Jasper Lake (JSL) platform support commit

  • intel_pmc_core: Add debugfs entries commit, commit, commit, commit, commit, commit, commit

  • intel-speed-select: Add display for enabled cpus count commit

  • mce/amd: Add protected processor identification number (PPIN) support for AMD MCE commit

  • vmware: Add steal time support for VMware guests commit, commit

  • perf
    • Intel: Introduce Control-flow Enforcement opcodes commit, commit

    • amd: Add support for Family 19h L3 PMU commit

    • Add Intel Jasper Lake CPU support commit

    • Add Intel Ice Lake server uncore support commit

    • Add Intel Tiger Lake uncore support commit

    • vendor events: Add AMD Zen2 events commit and update Zen1 events to V2 commit

  • acpi: add a kernel parameter (bgrt_disable) to disable ACPI BGRT commit

  • intel_th: msu: Make stopping the trace optional commit

  • curve25519: replace with formally verified implementation commit

11.3. RISC-V

11.4. S390

11.5. PowerPC

11.6. C-Sky

11.7. MIPS

11.8. ARC

12. Drivers

12.1. Graphics

12.2. Power management

  • pm-graph v5.6 commit

  • EFI
    • Introduces an arch agnostic way of loading the initrd into memory from the EFI stub commit, commit, commit

    • Add embedded peripheral firmware support: the EFI code / ROM itself sometimes may contain data which is useful/necessary for peripheral drivers to have access to. Specifically the EFI code may contain an embedded copy of firmware which needs to be (re)loaded into the peripheral, commit, commit, commit, commit, commit, commit, commit, commit, commit

  • ACPI: Add new tiny-power-button driver, an alternative to the ACPI Button driver that only handles the power button. Rather than notifying userspace via the input layer or a netlink event, this driver directly signals the init process to shut down commit

  • thermal
    • int340x: processor_thermal: Add Tiger Lake support commit

    • imx_sc: add i.MX system controller thermal support commit

    • imx8mm: Add support for i.MX8MM thermal monitoring unit commit

    • sprd: Add Spreadtrum thermal driver support commit

    • tsens: Add watchdog support commit

    • rcar_gen3_thermal: Add r8a77961 support commit

    • imx8mm: Add i.MX8MP support commit

12.3. Storage

  • nvmem
    • Add driver for JZ4780 efuse commit

    • imx: ocotp: add i.MX8MP support commit

  • SCSI
    • lpfc: Add Link Integrity FPIN registration and logging commit, commit

    • zfcp: expose fabric_name in fc_host sysfs commit, commit, commit

    • zfcp: provide user information on the state of the otherwise transparent IBM Fibre Channel Endpoint Security commit, commit, commit, commit

    • qla2xxx: Add beacon LED config sysfs interface commit

    • qla2xxx: Add sysfs node for D-Port Diagnostics AEN data commit

    • qla2xxx: Add ql2xrdpenable module parameter for RDP commit

    • pm80xx: sysfs attribute for non fatal dump commit

    • iscsi: Report connection state in sysfs commit

  • AHCI
    • Add Intel Comet Lake H RAID PCI ID commit

    • Add Intel Comet Lake PCH RAID PCI ID commit

    • Add Intel Comet Lake PCH-H PCI ID commit

    • Add Intel Comet Lake PCH-U PCI ID commit

    • Add Intel Comet Lake PCH-V PCI ID commit

    • Add support for Loongson 7A1000 SATA controller commit

    • Add sysfs attribute to show remapped NVMe device count commit

  • nvmet: make ctrl model commit and ctrl-id configurable commit

  • nvme: expose hostid commit and hostnqn via sysfs for fabrics controllers commit

  • ide: remove no longer used au1xxx-ide driver commit

12.4. Drivers in the Staging area

  • Restore octeon driver commit

  • Restore octeon-usb host controller driver commit

  • iio: adc: ad7192: move out of staging commit

  • most: move core files out of the staging area commit

  • media
  • rtl8188eu: Add ASUS USB-N10 Nano B1 to device table commit * remove hp100 driver commit

  • Remove staging version of exfat filesystem commit

  • Remove wusbcore and UWB from the kernel tree commit

12.5. Networking

12.6. Audio

  • Add more WMA profiles and WMA decoder parameters to UAPI and then support for these in qcom driver. Also adds FLAC and APE IDs and decoder parameters to UAPI and then support in qcom driver commit, commit, commit, commit, commit, commit, commit, commit, commit

  • hda/realtek: Add supported new mute Led for HP commit, and for ALC236 commit

  • hda/realtek - Add new codec supported for ALC245 commit and for ALC287 commit

  • hda/hdmi: Add module option to disable audio component binding commit

  • usb-audio: Add support for Presonus Studio 1810c commit

  • usb-audio: Add support for MOTU MicroBook IIc commit

  • soundwire: cadence: multi-link support commit

  • soundwire: intel: add trigger support in sdw dai driver commit

  • ASoC

12.7. Input devices: Tablets, touch screens, keyboards, mouses

  • keyboard: Add support for Azoteq IQS620A/621/622/624/625 commit

  • elants_i2c: support palm detection commit

  • goodix: add support for more then one touch-key commit

  • goodix: add support for Goodix GT917S commit

  • goodix: support gt9147 touchpanel commit

  • usbtouchscreen: add support for BonXeon TP commit

  • HID
    • logitech-dj: add support for the static device in the Powerplay mat/receiver commit

    • mcp2221: add usb to i2c-smbus host bridge commit

    • Add driver fixing Glorious PC Gaming Race mouse report descriptor commit

    • logitech: Add support for Logitech G11 extra keys commit

    • multitouch: add eGalaxTouch P80H84 support commit

    • alps: Add AUI1657 device ID commit

12.8. TV tuners, webcams, video capturers

  • Add 14-bit raw bayer pixel formats commit

  • Add 14-bit raw greyscale pixel format commit, commit

  • aspeed: add AST2600 support commit

  • atmel: atmel-isc-base: expose white balance as v4l2 controls commit

  • em28xx: Enable Hauppauge 461e rev2 commit

  • Add driver for Sony IMX219 sensor commit

  • imx219: Add support for RAW8 bit bayer format commit

  • imx219: Add support for cropped 640x480 resolution commit

  • m88ds3103: Add support for ds3103b demod commit

  • ov5675: add vflip/hflip control support commit

  • rc: add keymap for Videostrong KII Pro commit

  • sun8i: Add Allwinner A83T Rotate driver commit

  • tvp5150: add support to limit sdtv standards commit

  • tvp5150: add v4l2-event support commit

  • venus: support frame rate control commit

  • venus: vdec: handle 10-bit bitstreams commit

12.9. Universal Serial Bus

12.10. Serial Peripheral Interface (SPI)

  • Add support for SPI bus multiplexing commit, commit

  • Add FSI-attached SPI controller driver commit

  • Add driver for ar934x spi controller commit

  • Add support for Mediatek spi-nor controller commit

  • meson-spicc: add support for Amlogic G12A commit

  • rspi: Add support for active-high chip selects commit

  • spi-fsl-dspi: Add support for LS1028A commit

12.11. Watchdog

  • Add stop_on_reboot module parameter to control reboot policy commit

  • Add K3 RTI watchdog support commit

12.12. Serial

  • serial/sysrq: Add a magic sysrq serial secuence: a string sequence that can enable sysrq if it follows BREAK on a serial line. This is necessary because having sysrq always enabled doesn't work for some embedded boards that tend to generate garbage on serial line commit, commit

  • imx serial: Implement support for reversing TX and RX polarity commit

  • Add CONSOLE_POLL support to SiFive UART commit

  • fsl_lpuart: add LS1028A earlycon support commit

  • fsl_lpuart: add LS1028A support commit

  • 8250: Support console on software emulated rs485 ports commit

  • 8250_bcm2835aux: Support rs485 software emulation commit

  • 8250_early: Add earlycon for BCM2835 aux uart commit

  • 8250_tegra: Create Tegra specific 8250 driver commit

  • ar933x_uart: add RS485 support commit

12.13. CPU frequency scaling

  • ti-cpufreq: Add support for OPP_PLUS commit

  • qcom: Add support for krait based socs commit

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

  • Add smb208 support commit

  • Add support for MP8869 regulator commit

  • mp5416: add mp5416 regulator driver commit

  • mp886x: add MP8867 support commit

  • qcom_smd: Add pmi8994 regulator support commit

12.15. Real Time Clock (RTC)

  • sun6i: Make external 32k oscillator optional commit

  • Add support for the MediaTek MT2712 RTC commit

  • jz4740: Add support for JZ4760 SoC commit

  • ds1307: add support for watchdog timer on ds1388 commit

  • rc5t619: Add Ricoh RC5T619 RTC driver commit

  • fsl-ftm-alarm: enable acpi support commit

  • alpha: remove legacy rtc driver commit

  • ia64: remove legacy efirtc driver commit

12.16. Pin Controllers (pinctrl)

  • bcm2835: Add support for all GPIOs on BCM2711 commit

  • da9062: add driver support commit

  • mediatek: Add support for pin configuration dump via debugfs commit

  • qcom: Add ipq6018 pinctrl driver commit

12.17. Multi Media Card (MMC)

  • core: Add MMC software queue support, and set the queue depth as 64 to allow more requests can be be prepared, merged and inserted into IO scheduler, which improves the performance commit, commit, commit, commit, commit

  • mmci: Add support for sdmmc variant revision 2.0 commit

  • sdhci-esdhc-imx: add strobe-dll-delay-target support commit

12.18. Memory Technology Devices (MTD)

  • rawnand: Add support for Macronix NAND randomizer commit

  • rawnand: macronix: Add support for deep power down mode commit

  • rawnand: toshiba: Support reading the number of bitflips for BENAND (Built-in ECC NAND) commit

  • spi-nor: Add SR 4bit block protection support commit

  • spi-nor: remove mtk-quadspi driver commit

  • spinand: Add new series Micron SPI NAND devices (M78A, M79A and M70A) commit, commit, commit, commit, commit, commit

  • spinand: toshiba: Support for new Kioxia Serial NAND commit

12.19. Industrial I/O (iio)

  • adc: ad7124: add 3db filter commit

  • adc: rn5t618: Add ADC driver for RN5T618/RC5T619 commit

  • amplifiers: ad8366: add support for HMC1119 Attenuator commit

  • amplifiers: hmc425a: Add support for HMC425A attenuator commit

  • chemical: atlas-sensor: add DO-SM module support commit

  • dac: ad5770r: Add AD5770R support commit

  • dac: ltc2632: add support for LTC2636 family commit

  • imu: adis: add support product ID check in adis_initial_startup commit

  • imu: inv_mpu6050: add support of IAM20680 commit

  • imu: inv_mpu6050: add support of ICM20609 & ICM20689 commit

  • imu: inv_mpu6050: add support of ICM20690 commit

  • light: Add a driver for Sharp GP2AP002x00F commit

  • light: Add support for Azoteq IQS621/622 ambient light sensors commit

  • light: add Dyna-Image AL3010 driver commit

  • light: al3320a implement suspend support commit

  • position: Add support for Azoteq IQS624/625 angle sensors commit

  • pressure: icp10100: add driver for InvenSense ICP-101xx commit

  • srf04: add power management feature commit

  • temperature: Add support for Azoteq IQS620AT temperature sensor commit

  • trigger: stm32-timer: add power management support commit

  • vcnl4000: Enable runtime pm for vcnl4200/4040 commit

12.20. Multi Function Devices (MFD)

  • Add support for Azoteq IQS620A/621/622/624/625 commit

  • sc27xx: Add USB charger type detection support commit

  • intel-lpss: Add Intel Comet Lake PCH-V PCI IDs commit

12.21. Pulse-Width Modulation (PWM)

  • tegra: Add support for Tegra194 commit

  • jz4740: Use clocks from TCU driver commit

12.22. Inter-Integrated Circuit (I2C + I3C)

  • i3c: Allow to automatically load i3c modules commit, commit

  • i2c: brcmstb: Support BCM2711 HDMI BSC controllers commit

12.23. Hardware monitoring (hwmon)

  • adt7475: Add attenuator bypass support commit and inverting PWM output commit

  • Support ADI Fan Control IP commit

  • pmbus: add support for 2nd Gen Renesas digital multiphase commit

  • pmbus/tps53679: Add support for TPS53647 and TPS53667 commit, commit, commit, and for TPS53681 commit

  • pmbus/ltc2978: add support for more parts commit

12.24. General Purpose I/O (gpio)

  • Core: Add new ioctl that allows user-space processes to reuse the file descriptor associated with the character device for watching any changes in line properties. Every such event contains the updated line information commit

  • tools: Add gpio-watch program for monitoring changes in line infocommit

  • Add driver for Mellanox BlueField 2 GPIO controller commit

12.25. LEDs

  • Add SGI IP30 LED support commit

12.26. DMA engines

  • Add basic debugfs support commit

  • ti: k3-udma: Implement support for atype (for virtualization) commit

  • uniphier-xdmac: Add UniPhier external DMA controller driver commit

12.27. Cryptography hardware acceleration

12.28. PCI

12.29. Clock

  • Ingenic: Add support for TCU of X1000 commit

  • at91: add at91rm9200 pmc driver commit

  • at91: add at91sam9g45 pmc driver commit

  • at91: add at91sam9n12 pmc driver commit

  • at91: add sama5d3 pmc driver commit

  • imx7d: Add PXP clock commit

  • imx8mm: Add CLKO2 support commit

  • keystone: Add new driver to handle syscon based clocks commit

  • meson: g12a: add support for the SPICC SCLK Source clocks commit

  • mmp2: Add clocks for the thermal sensors commit

  • mmp2: Add support for PLL clock sources commit

  • qcom: Add modem clock controller driver for SC7180 commit

  • qcom: clk-alpha-pll: Add support for controlling Lucid PLLs commit

  • qcom: gcc: Add global clock controller driver for SM8250 commit

  • qcom: gpucc: Add support for GX GDSC for SC7180 commit

  • qcom: rpmh: Add support for RPMH clocks on SM8250 commit

  • si5341: Support multiple input ports commit

  • sprd: add clocks support for SC9863A commit

  • clocksource: Add driver for the Ingenic JZ47xx OST commit

  • clocksource: ingenic: Add support for TCU of X1000 commit

12.30. PHY ("physical layer" framework)

  • amlogic: Add Amlogic A1 USB2 PHY Driver commit

  • amlogic: Add Amlogic AXG MIPI/PCIE analog PHY Driver commit

  • amlogic: Add Amlogic AXG PCIE PHY Driver commit

  • qcom-qmp: Add MSM8996 UFS QMP support commit

  • qcom-qusb2: Add generic QUSB2 V2 PHY support commit

  • qcom: qmp: Add SDM845 PCIe QMP PHY support commit

  • qcom: qmp: Add SDM845 QHP PCIe PHY commit

  • qualcomm: Add Synopsys 28nm Hi-Speed USB PHY driver commit

  • qualcomm: usb: Add SuperSpeed PHY driver commit

  • tegra: xusb: Add Tegra194 support commit

  • ti: gmii-sel: add support for am654x/j721e soc commit

  • uniphier-pcie: Add legacy SoC support for Pro5 commit

  • uniphier-usb3hs: Add legacy SoC support for Pro5 commit

  • uniphier-usb3ss: Add Pro5 support commit

12.31. EDAC (Error Detection And Correction)

  • Add EDAC driver for DMC520 commit

12.32. Modem Host Interface (MHI) Bus

  • Add the MHI (Modem Host Interface) bus interface to Linux kernel. MHI is a communication protocol used by the host processors to control and communicate with modems over a high speed peripheral bus or shared memory. The MHI protocol has been designed and developed by Qualcomm Innovation Center, Inc., for use in their modems commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit

12.33. Various

  • bus: ti-sysc: Add support for PRUSS SYSC type commit

  • counter: 104-quad-8: Support Differential Encoder Cable Status commit

  • counter: 104-quad-8: Support Filter Clock Prescaler commit

  • counter: stm32-timer-cnt: add power management support commit

  • eeprom: at24: add TPF0001 ACPI ID for 24c1024 device commit

  • extcon: axp288: Add wakeup support commit

  • firmware: xilinx: Add ZynqMP aes API for AES functionality commit

  • habanalabs: add debugfs write64/read64 commit

  • habanalabs: support temperature offset via sysfs commit

  • Add Operating State Manager (OSM) L3 interconnect provider support on SDM845 and SC7180 SoCs to handle bandwidth requests from CPU to scale L3 caches commit, commit, commit, commit, commit

  • interconnect: qcom: Add SC7180 interconnect provider driver commit

  • interconnect: qcom: Consolidate interconnect RPMh support commit

  • irqchip/ingenic: Add support for TCU of X1000 commit

  • irqchip: Add driver for Loongson I/O Local Interrupt Controller commit

  • irqchip: Add driver for Loongson-3 HyperTransport PIC controller commit

  • mailbox: imx: add SCU MU support commit

  • mailbox: sun6i-msgbox: Add a new mailbox driver commit

  • mei: me: add cedar fork device ids commit

  • misc: pci_endpoint_test: Add ioctl to clear IRQ commit

  • misc: pci_endpoint_test: Add support to get DMA option from userspace commit

  • ptp: Add a ptp clock driver for IDT 82P33 SMU commit

  • ptp: add VMware virtual PTP clock driver commit

  • remoteproc: updates for OMAP remoteproc support commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit

  • remoteproc: add IPA notification to q6v5 driver commit

13. List of pull requests

14. Other news sites

KernelNewbies: LinuxChanges (last edited 2020-06-01 13:09:45 by diegocalleja)