KernelNewbies : Last updated at 2024年06月01日 14:40:27

Linux 6.9 was released on Sunday, 12 of May 2024

Summary: This release includes suppor for x86 FRED, which is a new way of transitioning between CPU ring privileves; it also includes support for creating pidfds for threads; support for BPF arenas, which is a sparse shared memory region between the BPF programs and user space; and BPF tokens, which allow delegating functionality to less privileged programs; host support for AMD Secure Nested Paging; support for weighted interleaveing memory policies; support for a FUSE passthrough mode that makes regular file I/O faster; and a new device mapper VDO deduplication target. As always, there are many other features, new drivers, improvements and fixes.

Contents

  1. Prominent features
    1. pidfd: pidfds for threads and pidfs
    2. x86 FRED support
    3. BPF improvements: arenas and tokens
    4. Host support for AMD Secure Nested Paging
    5. Weighted interleaving memory policies
    6. Faster FUSE I/O
    7. Slightly faster timer setup
    8. Device mapper VDO deduplication target
  2. Core (various)
  3. File systems
  4. Memory management
  5. Block layer
  6. Tracing, perf and BPF
  7. Virtualization
  8. Security
  9. Networking
  10. Architectures
  11. Drivers
    1. Graphics
    2. Power Management
    3. Storage
    4. Drivers in the Staging area
    5. Networking
    6. Audio
    7. Tablets, touch screens, keyboards, mouses
    8. TV tuners, webcams, video capturers
    9. Universal Serial Bus
    10. Serial Peripheral Interface (SPI)
    11. Watchdog
    12. Serial
    13. CPU Frequency scaling
    14. Voltage, current regulators, power capping, power supply
    15. Pin Controllers (pinctrl)
    16. Multi Media Card (MMC)
    17. Memory Technology Devices (MTD)
    18. Industrial I/O (iio)
    19. Multi Function Devices (MFD)
    20. Pulse-Width Modulation (PWM)
    21. Inter-Integrated Circuit (I2C + I3C)
    22. Hardware monitoring (hwmon)
    23. General Purpose I/O (gpio)
    24. Leds
    25. Cryptography hardware acceleration
    26. PCI
    27. Thunderbolt
    28. Clock
    29. PHY ("physical layer" framework)
    30. EDAC (Error Detection And Correction)
    31. Various
  12. List of Pull Requests
  13. Other news sites

1. Prominent features

1.1. pidfd: pidfds for threads and pidfs

pifds (PID fd, a file descriptor that represents a process) is a concept that was added first in Linux 5.3 to deal with the problems of traditional PIDs, and it has been gaining support in several APIs since then. In this release, pidfds add a few features:

  • Create pidfds for threads. Until now pidfds could only be created for thread-group leaders
  • clone() and clone3() can now be called with CLONE_PIDFD | CLONE_THREAD

  • Moving pidfds to a tiny pseudo filesystem that allows several improvements

Recommended LWN article: A new filesystem for pidfds

1.2. x86 FRED support

FRED (Fast Return and Event Delivery) is a new architecture on Intel processors that defines simple new transitions that change privilege level (ring transitions). It is a replacement for IDT event delivery on x86 and addresses most of the technical nightmares which IDT exposes.

Documentation

1.3. BPF improvements: arenas and tokens

This new release incorporates, as usual, new BPF features. A couple of features stand out from the rest:

  • BPF arenas: a sparse shared memory region between the BPF program and user space
  • BPF tokens: provides the ability to delegate a subset of BPF subsystem functionality from privileged system-wide daemon (e.g., systemd or any other container manager) through special mount options for userns-bound BPF FS to a trusted unprivileged application. The main motivation is to enable containerized BPF applications to be used together with user namespaces. This is currently impossible, as CAP_BPF, required for BPF subsystem usage, cannot be namespaced or sandboxed, as a general rule.

Recommended LWN articles:

1.4. Host support for AMD Secure Nested Paging

AMD EPYC systems utilizing Zen 3 and newer microarchitectures add support for a new feature called SEV-SNP, which adds Secure Nested Paging support on top of the SEV/SEV-ES support already present on existing EPYC systems. This release adds support for acting as a KVM host capable of running SNP guests. One of the main features of SNP is the addition of an RMP (Reverse Map) table to enforce additional security protections for private guest memory.

1.5. Weighted interleaving memory policies

When trying to allocate memory, the kernel has to decide from which node NUMA node it should allocate that memory. The existing memory interleave mechanism does an even round-robin distribution of memory across all nodes. This release provides a weighted interleave mechanism that distributes memory across nodes according to a provided weight, which helps to provide greater use of the total available memory bandwidth.

Recommended LWN article: Weighted interleaving for memory tiering

1.6. Faster FUSE I/O

This release adds a passthrough mode for regular file I/O. This allows performing read and write (also via memory maps) on a backing file without incurring the overhead of roundtrips to userspace. For now this is only allowed to privileged servers, but this limitation will go away in the future.

Recommended LWN article: FUSE passthrough for file I/O

1.7. Slightly faster timer setup

Kernel code uses a lot of timers which are canceled or rearmed before they expire. However, when timers are enqueued a target CPU is choosen, which is wasted time if these timers are not going to be used. In this release, the CPU selection is avoided whenever possible, which makes some hot code paths in the kernel a bit faster in optional cases.

Recommended LWN article: Better CPU selection for timer expiration

1.8. Device mapper VDO deduplication target

This release adds a new device mapper VDO (virtual data optimizer) target which provides block-level deduplication, compression, and thin provisioning. As a device mapper target, it can add these features to the storage stack, compatible with any file system. The vdo target does not protect against data corruption, relying instead on integrity protection of the storage below it.

Documentation: dm-vdo

Documentation: Design of dm-vdo

2. Core (various)

3. File systems

4. Memory management

5. Block layer

6. Tracing, perf and BPF

7. Virtualization

8. Security

9. Networking

10. Architectures

11. Drivers

11.1. Graphics

11.2. Power Management

11.3. Storage

11.4. Drivers in the Staging area

11.5. Networking

11.6. Audio

11.7. Tablets, touch screens, keyboards, mouses

11.8. TV tuners, webcams, video capturers

11.9. Universal Serial Bus

11.10. Serial Peripheral Interface (SPI)

11.11. Watchdog

11.12. Serial

11.13. CPU Frequency scaling

  • amd-pstate preferred core. Not all cores are able to reach the maximum frequency respecting the infrastructure limits. Consequently, AMD has redefined the concept of maximum frequency of a part. This means that a fraction of cores can reach maximum frequency. To find the best process scheduling policy for a given scenario, OS needs to know the core ordering informed by the platform through highest performance capability register of the CPPC interface commit, commit, commit, commit

  • cpufreq: scmi: Enable boost support commit

  • cpufreq: intel_pstate: Allow model specific EPPs commit

  • intel_pstate: Update Meteor Lake EPPs commit, commit

  • scmi: Add boost frequency support commit, commit, commit

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

11.15. Pin Controllers (pinctrl)

11.16. Multi Media Card (MMC)

11.17. Memory Technology Devices (MTD)

11.18. Industrial I/O (iio)

11.19. Multi Function Devices (MFD)

11.20. Pulse-Width Modulation (PWM)

11.21. Inter-Integrated Circuit (I2C + I3C)

11.22. Hardware monitoring (hwmon)

  • Add driver for ASUS ROG RYUJIN II 360 AIO cooler commit

  • Add driver for Astera Labs PT5161L retimer commit

  • Add driver for LTC4282 commit

  • Add driver for MPS MPQ8785 Synchronous Step-Down Converter commit, commit * Add driver for NZXT Kraken X and Z series AIO CPU coolers commit

  • Surface fan monitoring driver commit, commit

  • Add support for LTC4282 commit, commit

  • Add support for Amphenol ChipCap 2 commit, commit, commit, commit, commit

  • Support pwm/tach driver for aspeed ast26xx commit, commit, commit

  • dell-smm: Add XPS 9315 to fan control whitelist commit

  • nct6683: Add another customer ID for MSI commit

  • oxp-sensors: Add support for Ayaneo Air Plus 7320u commit

  • sht3x: read out sensor serial number commit

11.23. General Purpose I/O (gpio)

  • Add ChromeOS EC GPIO driver commit

11.24. Leds

11.25. Cryptography hardware acceleration

11.26. PCI

11.27. Thunderbolt

11.28. Clock

11.29. PHY ("physical layer" framework)

11.30. EDAC (Error Detection And Correction)

11.31. Various

12. List of Pull Requests

13. Other news sites

KernelNewbies: Linux_6.9 (last edited 2024年06月01日 14:40:27 by diegocalleja )

AltStyle によって変換されたページ (->オリジナル) /