KernelNewbies : Last updated at 2021年10月24日 00:41:59

Linux 5.14 was released on 2021年8月29日.

Summary: This release includes a new system call to create secret memory areas that not even root can access, intended to be used to keep secrets safe; Core Scheduling, to allow safer use of SMT systems with CPU vulnerabilities; a burstable CFS controller via cgroups which allows bursty CPU-bound workloads to borrow a bit against their future quota; two new madvise(2) flags to improve performance in some situations; support for a Ext4 journal checkpoint ioctl that causes the journal blocks to be discarded or zero-filled for purposes of safety; a cgroup interface to kill all processes within that cgroup; initial steps towards signed BPF programs; and support for the next AMD and Intel GPUs chips. As always, there are many other features, new drivers, improvements and fixes.

Contents

  1. Prominent features
    1. New memfd_secret(2) system call to create secret memory areas
    2. Improved AMD and Intel GPU support
    3. CFS burstable bandwith controller
    4. Core Scheduling, for safe hyperthreading
    5. Two new madvise(2) flags: MADV_POPULATE_READ and MADV_POPULATE_READ
    6. EXT4 journal checkpoint
    7. cgroup kill interface to kill all processes
    8. Initial steps towards BPF signed programs
  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
    1. X86
    2. ARM
    3. POWERPC
    4. RISCV
    5. S390
    6. UML
    7. M68K
    8. MIPS
  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. Real Time Clock (RTC)
    16. Pin Controllers (pinctrl)
    17. Multi Media Card (MMC)
    18. Memory Technology Devices (MTD)
    19. Industrial I/O (iio)
    20. Multi Function Devices (MFD)
    21. Pulse-Width Modulation (PWM)
    22. Inter-Integrated Circuit (I2C + I3C)
    23. Hardware monitoring (hwmon)
    24. DMA engines
    25. Cryptography hardware acceleration
    26. PCI
    27. FRU Support Interface (FSI)
    28. Clock
    29. PHY ("physical layer" framework)
    30. EDAC (Error Detection And Correction)
    31. IOMMU
    32. Various
  12. List of Pull Requests
  13. Other news sites

1. Prominent features

1.1. New memfd_secret(2) system call to create secret memory areas

This release includes a new system call, memfd_secret(2), which allows to create a special memfd file descriptor whose contents will not be readable by any other process, not even root processes or the kernel itself; only the process that creates it can access it. This is intended to be used by programs that need to store some secret safely.

Recommended LWN article: memfd_secret() in 5.14

1.2. Improved AMD and Intel GPU support

This release adds preliminary support for future AMD and Intel graphics hardware, such as AMD Yellow Carp, AMD Beige Goby and Intel Alder Lake P.

1.3. CFS burstable bandwith controller

This release introduces the burstable CFS controller via cgroups, which allows bursty CPU-bound workloads to borrow a bit against their future quota to improve overall latencies & batching. Can be tweaked via /sys/fs/cgroup/cpu/<X>/cpu.cfs_burst_us.

Recommended LWN article: The burstable CFS bandwidth controller

1.4. Core Scheduling, for safe hyperthreading

Some of the recent CPU vulnerabilities allow to gather information from other processes being run in the same HyperTreading CPU. This release adds support for core scheduling, a feature that allows only trusted tasks to run concurrently on cpus sharing compute resources (like hyperthreads on a core). The goal is to mitigate the core-level side-channel attacks without requiring to disable SMT (which has a significant impact on performance in some situations).

Recommended LWN article: Core scheduling lands in 5.14

1.5. Two new madvise(2) flags: MADV_POPULATE_READ and MADV_POPULATE_READ

The madvise(2) system call lets applications hint the kernel about their behavior so that the kernel can optimize the management of memory resources. In this release, two new flags have been added: MADV_POPULATE_READ, which prefault page tables, just like manually reading each individual page would do, and without breaking any COW mappings; and MADV_POPULATE_WRITE, which can be used to preallocate backend memory and prefault page tables just like manually writing (or reading+writing) each individual page, break any COW mappings in the way. This lets some application (eg. emulators like QEMU) optimize some cases.

1.6. EXT4 journal checkpoint

This release includes a new ioctl for Ext4 file systems, EXT4_IOC_CHECKPOINT. When called, the journal ensures all transactions and their associated buffers are submitted to the disk. In-progress transactions are waited upon and included in the checkpoint. The EXT4_IOC_CHECKPOINT_FLAG_DISCARD and EXT4_IOC_CHECKPOINT_FLAG_ZEROOUT ioctl flags cause the journal blocks to be discarded or zero-filled, respectively, after the journal checkpoint is complete. The ioctl may be useful when snapshotting a system or for complying with content deletion SLOs.

1.7. cgroup kill interface to kill all processes

This release introduces the cgroup.kill file. It does what it says on the tin and allows a caller to kill a cgroup by writing "1" into cgroup.kill. The file is available in non-root cgroups.

1.8. Initial steps towards BPF signed programs

This release includes the first steps towards signed bpf programs. It uses new type of bpf program that is in charge of loading other BPF programs.

Recommended LWN article: Toward signed BPF programs

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

10.1. X86

10.2. ARM

  • Device Tree Sources
    • Raspberry Pi 400 commit

    • Rockchip: RK3568 SoC and EVB, video codecs for rk3036/3066/3188/322x commit, commit

    • Qualcomm: SA8155p Automotive platform (SM8150 derivative), SM8150/8250 enhancements and support for Sony Xperia 1/1II and 5/5II commit, commit, commit

    • Qualcomm: New support for Microsoft Surface Duo (SM8150-based), Huawei Ascend G7 commit, commit

    • Allwinner: More device bindings for V3s, Forlinx OKA40i-C and NanoPi R1S H5 boards commit, commit

    • MediaTek: More device bindings for mt8167, new Chromebook system variants for mt8183 commit, commit, commit, commit, commit

    • Renesas: RZ/G2L SoC and EVK added commit, commit

    • Amlogic: BananaPi BPI-M5 board added commit

    • Support for GE B1x5v2 and B1x5Pv2 commit

    • Add intel-ixp42x-welltech-epbx100 commit

    • imx28: Add DTS description of imx28 based XEA board commit

    • imx: Add i.mx6q DaSheng COM-9XX SBC board support commit

    • qcom: Add board support for HK10 commit

    • qcom: sc7180: Add pompom rev3 commit

    • qcom: sc7180: Add CoachZ rev3 commit

    • ti: k3-am65: Add support for UHS-I modes in MMCSD1 subsystem commit

    • qcom: pmm8155au_2: Add base dts file commit

    • qcom: pmm8155au_1: Add base dts file commit

    • imx: Add i.mx8mm Gateworks gw7901 dts support commit, commit

  • tegra: pmc: Add core power domain commit

  • tegra: pmc: Add driver state syncing commit

  • tegra: regulators: Support core domain state syncing commit

  • qcom: rpmhpd: Add SC8180X commit

  • qcom: rpmpd: Add MDM9607 RPM Power Domains commit

  • qcom: socinfo: Add more IDs commit

  • ARM: imx: add smp support for imx7d commit

  • ARM64

10.3. POWERPC

10.4. RISCV

10.5. S390

  • AP: support new dynamic AP bus size limit commit

  • ap/zcrypt: notify userspace with online, config and mode info commit

  • cpumf: Allow concurrent access for CPU Measurement Counter Facility commit

  • vdso: add minimal compat vdso commit

  • boot: add zstd support commit

  • KVM: stats: Support binary stats retrieval for a VCPU commit

10.6. UML

  • PCI support. It communicates with the outside (of UML) with virtio, which we previously added using vhost-user, and then offers a PCI bus to the inside system, where normal PCI probing etc. happens, but all config space & IO accesses are forwarded over virtio commit, commit, commit, commit, commit, commit, commit, commit, commit

  • Allow not setting extra rpaths in the linux binary commit

  • Add support for host CPU flags and alignment commit, commit, commit

10.7. M68K

  • Replace macide driver with generic platform drivers commit

  • Replace q40ide driver with pata_falcon and falconide commit

10.8. MIPS

  • ath79: ar9331: Add OpeneEmbed SOM9331 Board commit

11. Drivers

11.1. Graphics

11.2. Power Management

  • ACPI
    • Add full support for RGRT ACPI table commit

    • Add support for the BDAT ACPI table commit

    • Add support for the SVKL table commit

    • PM: Add support for upcoming AMD uPEP HID AMDI007 commit

    • Add driver for the VIOT table commit

    • s2idle: Add support for new Microsoft UUID commit

  • thermal
    • rockchip: Support RK3568 SoCs in the thermal driver commit

    • mediatek: Add sensors-support commit

    • int340x/processor_thermal: Add PCI MMIO based thermal driver commit

11.3. Storage

11.4. Drivers in the Staging area

11.5. Networking

11.6. Audio

  • Add Scarlett Gen 3 support commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit

  • bebob: add support for ToneWeal FW66 commit

  • firewire
    • Add replay target to cache sequence of packet commit

    • firewire-motu: add support for AES/EBU clock source in v2 protocol commit

    • firewire-motu: add support for MOTU 828 commit

    • firewire-motu: add support for MOTU 896 commit

    • firewire-motu: add support for hybrid model of MOTU Ultralite mk3 commit

  • hda
    • realtek: Add another ALC236 variant support commit

    • intel-dsp-cfg: add missing ElkhartLake PCI ID commit

    • oxfw: add explicit device entry for Loud Technologies Mackie Onyx Sattelite commit

    • oxfw: add explicit device entry for Loud Technologies Tapco Link.FireWire 4x6 commit

    • rawmidi: Add framing mode commit

    • usb-audio: Add support for Denon DN-X1600 commit

  • ASoC
    • Add Rockchip rk817 audio CODEC support commit

    • Intel: Boards: tgl_max98373: Add BT offload support commit

    • Intel: add sof-cs42l42 machine driver commit

    • Intel: boards: add support for adl boards in sof-rt5682 commit

    • Intel: sof_rt5682: Enable Bluetooth offload on tgl and adl commit

    • Intel: sof_sdw: add support for Bluetooth offload commit

    • Intel: sof_sdw: remove hdac-hdmi support commit

    • SOF: Intel: pci-tgl: add ADL-M support commit

    • codecs: Add driver for NXP/Goodix TFA989x (TFA1) amplifiers commit

    • codecs: tfa989x: Add support for tfa9897 commit

    • codecs: wcd-clsh: add new version support commit

    • ASoC: codecs: add wcd938x support commit, commit, commit, commit, commit, commit, commit

    • codecs: wcd934x: add Headset and button detection support commit, commit, commit, commit

    • cs42l42: Add support for 2304000 Bit clock commit and support for 2400000 Bit clock commit

    • fsl_spdif: add support for enabling raw capture mode commit

    • imx-card: Add imx-card machine driver commit

    • meson: g12a-toacodec: add support for SM1 TOACODEC commit

    • qcom: Add four speaker support on MI2S secondary commit

    • qdsp6: Add Quinary MI2S ports support commit, commit, commit, commit

    • rsnd: add debugfs support commit

    • rsnd: add null CLOCKIN support commit

    • rt711: add two jack detection modes commit

    • tlv320aic32x4: add support for TAS2505 commit, commit, commit

    • topology: Add support for multiple kcontrol types to a widget commit

11.7. Tablets, touch screens, keyboards, mouses

  • resistive-adc-touch: add support for z1 and z2 channels commit

  • edt-ft5x06: add support for iovcc-supply commit

  • pm8941-pwrkey: add support for PMK8350 PON_HLOS PMIC peripheral commit

  • Add SparkFun Qwiic Joystick driver commit

  • HID
    • input: Add support for Programmable Buttons commit

    • apple: Add support for Keychron K1 wireless keyboard commit

    • amd_sfh: Add initial support for HPD sensor commit

    • amd_sfh: Extend ALS support for newer AMD platform commit

    • amd_sfh: Extend driver capabilities for multi-generation support commit

    • lg-g15: Add support for the Logitech Z-10 speakers commit

11.8. TV tuners, webcams, video capturers

11.9. Universal Serial Bus

  • cdc-wdm: WWAN framework integration commit

  • gadget: f_uac2/u_audio: add feedback endpoint support commit

  • gadget: f_uac2: add adaptive sync support for capture commit

  • gadget: u_audio: add real feedback implementation commit

  • isp1760: add support for isp1763 commit

  • isp1763: add peripheral mode commit

  • serial
    • cp210x: add ID for CEL EM3588 USB ZigBee stick commit

    • cp210x: add support for GPIOs on CP2108 commit

    • ftdi_sio: add device ID for Auto-M3 OP-COM v2 commit

    • option: add Telit FD980 composition 0x1056 commit

    • option: add new VID/PID to support Fibocom FG150 commit

    • option: add support for u-blox LARA-R6 family commit

  • usb-storage: Add LaCie Rugged USB3-FW to IGNORE_UAS commit

  • xhci-mtk: allow multiple Start-Split in a microframe commit

  • Thunderbolt

11.10. Serial Peripheral Interface (SPI)

  • add of_device_uevent_modalias support commit

  • hisi-kunpeng: Add debugfs support commit

  • spi-mem: add automatic poll status functions commit

  • stm32-qspi: add automatic poll status feature commit

11.11. Watchdog

  • Add hrtimer-based pretimeout feature commit

  • sbsa: Support architecture version 1 commit

  • hpwdt: New PCI IDs commit

  • sama5d4_wdt: add support for sama7g5-wdt commit

  • Add Mstar MSC313e WDT driver commit

  • Remove MV64x60 watchdog driver commit

11.12. Serial

  • fsl_lpuart: add loopback support commit

  • liteuart: Add support for earlycon commit

  • sh-sci: Add support for RZ/G2L SoC commit

  • Add Option International GSM-Ready 56K/ISDN modem commit

11.13. CPU Frequency scaling

  • mediatek: add support for mt8365 commit

  • cppc: Add support for frequency invariance commit, commit, commit, commit

  • intel_pstate: HWP support on hybrid processors commit, commit

  • intel_pstate: Add Icelake servers support in no-HWP mode commit

  • intel_pstate: Add Cometlake support in no-HWP mode commit

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

  • power
    • power: supply: rn5t618: Add more properties commit, commit

    • supply: pm2301_charger: Delete driver commit

    • supply: Drop BD70528 support commit

  • regulator
    • bd70528: Drop BD70528 support commit

    • bd9576: Support error reporting commit

    • fan53555: add tcs4526 commit

    • max8893: add regulator driver commit

    • mt6359: Add support for MT6359 regulator commit

    • mt6359: Add support for MT6359P regulator commit

    • qcom-rpmh: Add new regulator found on SA8155p adp board commit

    • rt6160: Add support for Richtek RT6160 commit

    • rt6245: Add support for Richtek RT6245 commit

    • sy7636a: Initial commit commit

11.15. Real Time Clock (RTC)

  • m41t80: add support for fixed clock commit

  • imxdi: add wakeup support commit

  • bd70528: Drop BD70528 support commit

11.16. Pin Controllers (pinctrl)

  • tigerlake: Add Alder Lake-M ACPI ID commit

  • amd: Add device HID for new AMD GPIO controller commit

  • mediatek: add support for mt8365 SoC commit

  • qcom: pinctrl: Add pinctrl driver for sm6125 commit

11.17. Multi Media Card (MMC)

11.18. Memory Technology Devices (MTD)

11.19. Industrial I/O (iio)

  • accel: Add driver for Murata SCA3300 accelerometer commit

  • accel: add support for FXLS8962AF/FXLS8964AF accelerometers commit

  • accel: bmc150: Add support for yoga's with dual accelerometers with an ACPI HID of DUAL250E commit, commit, commit, commit, commit, commit, commit, commit, commit

  • accel: bmc150: Add device IDs for BMA253 commit

  • accel: kxcjk-1013: Add support for KX023-1025 commit

  • adc: ad7298: Enable on Intel Galileo Gen 1 commit

  • adc: add ADC driver for the TI TSC2046 controller commit

  • afe: iio-rescale: Support processed channels commit

  • light: Added AMS tsl2591 driver implementation commit

  • sps30: add support for serial interface commit

  • sps30: separate core and interface specific code commit

  • st_sensors: Add lsm9ds0 IMU support commit

  • temperature: add driver support for ti tmp117 commit

11.20. Multi Function Devices (MFD)

  • Add Rockchip rk817 audio CODEC support commit

  • Add support for the MediaTek MT6359 PMIC commit

  • intel-lpss: Add Intel Alder Lake-M PCI IDs commit

  • pm8008: Add driver for QCOM PM8008 PMIC commit

  • rt4831: Adds support for Richtek RT4831 commit

  • tps68470: Remove tps68470 MFD driver commit

11.21. Pulse-Width Modulation (PWM)

  • pca9685: Support new usage_power setting in PWM state commit

11.22. Inter-Integrated Circuit (I2C + I3C)

  • stm32f7: add SMBus-Alert support commit

  • riic: Add RZ/G2L support commit

11.23. Hardware monitoring (hwmon)

  • pmbus: Add support for reading direct mode coefficients commit

  • pmbus/zl6100: Add support for ZLS1003, ZLS4009 and ZL8802 commit

  • adm1275: enable adm1272 temperature reporting commit

  • Add sht4x Temperature and Humidity Sensor Driver commit

  • pmbus/pim4328: Add PMBus driver for PIM4006, PIM4328 and PIM4820 commit

  • pmbus: Add support for MPS Multi-phase mp2888 controller commit

  • pmbus: Add driver for Delta DPS-920AB PSU commit

11.24. DMA engines

  • qcom: gpi: Add SM8250 compatible commit

11.25. Cryptography hardware acceleration

  • hisilicon: supports to configure function's QoS for ACC commit, commit, commit, commit, commit, commit, commit, commit

  • hisilicon/qm: add MSI detection steps on Kunpeng930 commit

  • hisilicon/qm: implement for querying hardware tasks status commit

  • hisilicon/sec: supports new aeads for new hardware commit, commit, commit, commit

  • hisilicon: supports new skciphers for new hardware commit, commit, commit

  • hisilicon: add new type of sqe for Kunpeng930 commit, commit

  • nx: Add sysfs interface to export NX capabilities commit

  • octeontx2 - Add mailbox support for CN10K commit

  • octeontx2 - add support for CPT operations on CN10K commit

  • octeontx2 - add support to map LMTST region for CN10K commit

  • sl3516 - Add sl3516 crypto engine commit

11.26. PCI

  • ixp4xx: Add a new driver for IXP4xx commit

  • iproc: Support multi-MSI only on uniprocessor kernel commit

  • Add sysfs "removable" attribute commit

11.27. FRU Support Interface (FSI)

  • Aspeed: Reduce poll timeout commit

11.28. Clock

  • Add support for the lmk04832 commit

  • agilex/stratix10: add support for the 2nd bypass commit

  • hisilicon: Add clock driver for hi3559A SoC commit

  • imx: scu: add gpr clocks support commit

  • ingenic: Add support for the JZ4760 commit

  • lmk04832: add support for digital delay commit

  • clk: qcom: Add camera clock controller driver for SM8250 commit, commit, commit

  • qcom: Add MDM9607 GCC driver commit

  • qcom: clk-rcg2: Add support for duty-cycle for RCG commit

  • qcom: dispcc-sm8250: Add EDP clocks commit

  • renesas: Add CPG core wrapper for RZ/G2L SoC commit

  • renesas: Add support for R9A07G044 SoC commit

  • renesas: r9a07g044: Add P2 Clock support commit

  • renesas: rcar-gen3: Add boost support to Z clocks commit

  • renesas: rcar-gen3: Increase Z clock accuracy commit

  • renesas: rzg2l: Add multi clock PM support commit

  • si5341: Add sysfs properties to allow checking/resetting device faults commit

  • stm32mp1: new compatible for secure RCC support commit

  • ti: add am33xx/am43xx spread spectrum clock support commit

11.29. PHY ("physical layer" framework)

  • qcom-qusb2: Add configuration for SM4250 and SM6115 commit

  • qcom-qmp: Add support for SDX55 QMP PCIe PHY commit

  • phy-rockchip-inno-usb2: add support for RK3308 USB phy commit

  • phy-can-transceiver: Add support for generic CAN transceiver driver commit

  • rockchip: add Innosilicon-based CSI dphy commit

11.30. EDAC (Error Detection And Correction)

  • i10nm: Add detection of memory levels for ICX/SPR servers commit

  • i10nm: Add support for high bandwidth memory commit

  • igen6: Add Intel Alder Lake SoC support commit

  • igen6: Add Intel ICL-NNPI SoC support commit

  • igen6: Add Intel Tiger Lake SoC support commit

  • skx_common: Add new ADXL components for 2-level memory commit

11.31. IOMMU

11.32. Various

12. List of Pull Requests

13. Other news sites

KernelNewbies: Linux_5.14 (last edited 2021年10月24日 00:41:59 by diegocalleja )

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