Linus Torvalds ประกาศเปิดตัว Linux 6.1 kernel, อาจจะเป็นรุ่น LTS (Long Term Support) รุ่นล่าสุดสำหรับ Linux เมื่อวันอาทิตย์ที่ผ่านมา:
Linux 6.0 ที่ออกก่อนหน้านี้มีปรับปรุงการใช้พลังงาน มีการเพิ่มเติมบางอย่างกับสถาปัตยกรรม OpenRISC และ LoongArch เช่น รองรับ PCI buses, ใช้โปรโตคอล “send” เวอร์ชัน 2 ของ Btrfs และอินเทอร์เฟซ HEVC/H.265 ได้รับการเลื่อนระดับให้เสถียรแล้ว
การเปลี่ยนแปลงที่น่าสนใจใน Linux 6.1 LTS ดังนี้
- กำลังเริ่มรองรับภาษา Rust ดูรายละเอียดเพิ่มเติมที่บทความที่ lwn.net
- KMSAN (kernel memory sanitizer) เป็นเครื่องตรวจจับข้อผิดพลาดแบบไดนามิกที่ออกแบบมาเพื่อค้นหาตัวแปรที่ไม่ได้กำหนด (uninitialized values) และคล้ายกับเครื่องมือ MemorySanitizer ที่ใช้ใน userspace ควรเปิดใช้งานสำหรับการดีบักเท่านั้น เนื่องจากจะเพิ่ม footprint หน่วยความจำเคอร์เนลอย่างมาก และทำให้ทั้งระบบทำงานช้าลง รายละเอียดเพิ่มเติมในเอกสาร และใน lwn.net
- Multi-gen LRU (MG-LRU) ปรับปรุงกระบวนการย้ายโปรแกรมไปไฟล์/partition swap, multi-gen LRU เป็นการนำ LRU ทางเลือกมาใช้ซึ่งเพิ่มประสิทธิภาพการเรียกคืนเพจ (page) และปรับปรุงประสิทธิภาพภายใต้ Memory Pressure. โดย “Page reclaim” จะกำหนด caching policy และความสามารถในการ overcommit memory สามารถดูรายละเอียดเพิ่มเติมได้ในคู่มือผู้ดูแลระบบและในบทความ LWN อื่นที่เกี่ยวข้อง
การเปลี่ยนแปลง Arm ใน Linux 6.1
- Allwinner
- A100 – DMA
- H6 – DMIC and GPU Devfreq
- New boards and devices – None this time around
- Rockchip
- Power domain – Added Rockchip RK3588 and RV1126 drivers
- Pin control – Add driver for Rockchip RV1126
- MFD
- Add support for Rockchip RV1126 and RK3588 to Syscon
- Add support for Rockchip RK817 Battery Charger to RK808
- PHY – Rockchip rk3568 inno dsidphy, Rockchip rk356x csi-dphya
- SPI – Added support for Rockchip RK3128 and RK3588
- Networking – Rockchip RV1126 Gigabit Ethernet support
- New devices and boards
- Anberic RG353P and RG503 (Rockchip RK3566) portable game consoles
- Pine64 Pinephone Pro (Rockchip RK3399S)
- Open AI Lab EAIDK-610 development kit
- Radxa ROCK 4C+ SBC (Rockchip RK3399-T)
- Amlogic
- ARM64 DT changes for Linux 6.1:
- Add Bindings & DT for Beelink GT1 Ultimate (Amlogic S912) TV box
- Remove invalid ‘enable-active-low’ on SM1 & G12A boards
- Add Bindings & DT for the new JetHub D1p (Amlogic A113X) home automation controller
- ARM64 DT changes for Linux 6.1:
- Samsung
- SoC drivers – Convert Samsung Exynos G-Scaler bindings to DT schema.
- Pinctrl
- Minor fix in order of initializing pinctrl driver – GPIOs should be configured before registering gpiolib.
- Final steps to deprecated bindings headers with register constants.
- Clock driver
- Exynos7885: add FSYS, TREX and MFC clock controllers.
- Exynos850: add IS and AUD (audio) clock controllers with bindings.
- ExynosAutov9: correct clock IDs in bindings of Peric 0 and 1 clock controllers, due to duplicated entries; add few missing Peric 0/1 gates; correct register offsets of few Peric 0/1 clocks.
- Minor code improvements
- DTS ARM changes
- Fix polarity of pins:
- enable GPIO of NFC chip in Exynos5433 TM2 boards,
- vbus GPIO of EHCI in Exynos4412 Origen board.
- Correct name of pin configuration nodes – redundant “pins” in the name (no functional impact).
- Fix polarity of pins:
- DTS ARM64 changes for Linux 6.1:
- Add binding headers for several Exynos850 and ExynosAutov9 clocks.
- ExynosAutov9: Add FSYS clock controller nodes, Document serial compatible (used in DTS).
- Exynos850: Add Audio, IS, MFC clock controllers. Add IOMMU nodes.
- Fix polarity of pins:
- enable GPIO of NFC chip in Exynos5433 TM2 boards,
- vbus GPIO of EHCI in Exynos4412 Origen board.
- Correct name of pin configuration nodes – redundant “pins” in the name (no functional impact).
- Qualcomm
- A new driver for Qualcomm LLCC/DDR bandwidth measurement
- Pinctrl
- Qualcomm SM8450 and SC8280XP LPASS (low power audio subsystem) pin control support
- Massive Qualcomm device tree binding cleanup, with more to come
- PHY – Qualcomm SC8280XP eDP & DP and USB3 UNI phy, Qualcomm SM6375 usb snps-femto-v2 bindings
- PCIe controller driver
- Add support for SC8280XP and SA8540P host controllers and SM8450 endpoint controller.
- Disable Master AXI clock on endpoint controllers to save power when link is idle or in L1.x.
- Expose link state transition counts via debugfs to help debug issues with low-power states.
- Add auto-loading module support.
- Clock driver
- Added Display clks for Qualcomm SM6115, SM8450
- Added GPU clks for Qualcomm SC8280XP
- Added Qualcomm MSM8909 and SM6375 global and SMD RPM clk drivers
- Qualcomm SM6115 and QCM2260 are moved to reuse PLL configuration
- Qualcomm SDM660 SDCC1 moved to floor clk ops
- Support for the APCS PLLs for Qualcomm IPQ8064, IPQ8074 and IPQ6018 was added/fixed
- The Qualcomm MSM8996 CPU clocks are updated with support for ACD
- Support for Qualcomm SDM670 GCC and RPMh clks was added
- Soundwire – Qualcomm driver updates to handle device0 status
- DMA engine – Added Qualcomm SM6350 GPI dma controller
- Power supply – Added Qualcomm PMK8350 PON support
- Added support for Qualcomm IPQ8064-v2.0, IPQ8062 and IPQ8065 are all variants of the IPQ8064 chip, with minimally different features.
- Arm DTS update:
- Extends IPQ8064 support with the two variants IPQ8062 and IPQ8065.
- MSM8974 and APQ8084 gained RPM stats support.
- The Audio DSP remoteproc was added to MSM8226 and enabled for ASUS ZenWatch 2 and LG G Watch R.
- MSM8660 gained one I2C and one SPI bus
- APQ8060 Dragonboard got the TMA340 Touchscreen described.
- A wide range of improvements is done throughout the DTS files to align with bindings, fix issues, and improve the structure of things.
- Arm64 DTS updates for Linux 6.1:
- Samsung Galaxy S4 Mini Value Edition gains magnetometer support.
- MSM8996-based Xiaomi devices gains descriptions of the LPG-based LEDs.
- SA8295P – ADP problems arising from regulators being switched into low-power mode is worked around by removing this ability, for now.
- SC7180 Trogdor – The onboard USB Hub on SC7180 is finally described and a few ADC- related updates are introduced.
- SC7280 – Support for the CPU and LLC bwmon instances are introduced. Soundwire, audio codecs and sound introduced for a variety of boards. The onboard USB Hub Herobrine is described.
- SC8280XP – The USB controllers are marked as wakeup-sources, to keep them powered during suspend. The CRD has HID devices marked as wakeup sources to enable resuming the system. The alternative touchpad is introduced on the Lenovo ThinkPad X13s.
- SDM845 – Gains RPMh stats support and the LLCC BWMON is added.
- SM6350 – Interconnect providers and GPI DMA is introduced.
- A description of the PM7280b PMIC is added to Fairphone FP4 on SM7225.
- Multi-MSI support added in the PCIe controller, meaning SM8250 gets all its MSI interrupts added.
- UFS ICE and the second SDHCI controller are introduced on SM8450.
- TCSR mutex syscon is replaced with the MMIO-based binding. TCSR nodes gained proper compatibles and halt syscon nodes are split out from the mutex ranges.
- Added a range of fixes to align with DT bindings
- Arm defconfig updates
- Enables command-db, ocmem, rpmh and rpmhpd drivers in the multi_v7_defconfig, used on SDX55, SDX65 and MSM8974.
- For qcom_defconfig, rmtfs-mem, rpmpd, socinfo and qcom-stats are enables as they are used across MSM8974, MSM8226, MSM8916 and APQ8084.
- Arm64 defconfig updates
- Core providers needed to boot SC8180X
- Sound drivers for SC7180 and SC7280
- Qualcomm EDP PHY, last-level cache controller driver, on-chip memory driver and the SPM driver.
- New devices and boards
- Sony Xperia 1 IV (Qualcomm Snapdragon 8 Gen 1)
- 3x Samsung phones based on Snapdragon 410: Galaxy E5, E7, and Grand Max.
- Google Evoker (SC7280), another revision of Herobrine Villager.
- MediaTek
- Clock driver
- New clock drivers for MediaTek Helio X10 (MT6795)
- Add resets for MediaTek MT8195 PCIe and USB
- Changes to support GPU DVFS on MT8183, MT8192, MT8195
- Shrink MT8192 clock driver by deduplicating clock parent lists
- MFD – Add support for MediaTek MT6370 subPMIC
- Add support for MediaTek MT6370 backlight and flashlight
- Memory controller – Add support for the mt8188 SMI memory controller
- Mediatek MT8188 SoC pin control support
- Added Mediatek MT8186 Chromebook/Tablet type SoC with two Cortex-A76 and six Cortex-A55 cores.
- New devices – None this time.
- Clock driver
- Other new Arm hardware platforms and SoCs
- Aspeed – Two new servers using AST2600 BMCs: AMD DaytonaX and Ampere Mt. Mitchell
- Microchip – Two development boards in the Microchip AT91 family: SAMA5D3-EDS and lan966x-pcb8290.
- NXP
- NXP i.MX8DXL dual-core Cortex-A35 processor
- NXP i.MX6/i.MX8 based boards: Kontron SL/BL OSM-S (i.MX8MM), Gateworks GW7904 (i.MX8MM), MSC SM2S-IMX8PLUS SoM and carrier board
- Renesas – R-Car H3Ne-1.7G (R8A779MB) and R-Car V3H2 (R8A77980A) are minor updates of R8A77951 and R8A77980, respectively.
- Texas Instruments – Added AM62A Cortex-A53 processor part of the K3 family for Video/Vision processing for industrial and automotive applications, as well as the AM62A StarterKit (SK) board
การอัปเดต RISC-V สำหรับ Linux 6.1
การเปลี่ยนแปลงบางอย่างสำหรับสถาปัตยกรรม RISC-V ดังนี้:
- Improvements to the CPU topology subsystem, which fix some issues where RISC-V would report bad topology information.
- The default NR_CPUS has increased to XLEN, and the maximum configurable value is 512.
- The CD-ROM filesystems have been enabled in the defconfig.
- Support for THP_SWAP has been added for rv64 systems.
- A fix to correct the handling of write-only mappings
- m{vetndor,arcd,imp}id is now in /proc/cpuinfo
- Handful of cleanups and fixes throughout the tree
- Allwinner – Added SRAM support to the D1 processor
- Microchip – DT updates for the PolarFire SOC
- SiFive
- A fix to add the missing PWM LEDs into the SiFive HiFive Unleashed device tree
- L2 cache controller support has been refactored to also support L3 caches
- StarFive – Pinctrl – Create a subdirectory for StarFive drivers, rename “pinctrl-starfive” to “pinctrl-starfive-jh7100”
การเปลี่ยนแปลง MIPS
มีกิจกรรมที่จำกัดสำหรับสถาปัตยกรรม MIPS บน Linux 6.1 ดังนี้:
- Mainly cleanups
- Fix enabling interrupts on second VPE for Lantiq platform
- Switch to use gpiod API
- Allow firmware passing RND seed
บันทึกการเปลี่ยนแปลง Linux 6.1 ที่สมบูรณ์ พร้อมข้อความยืนยันเท่านั้น ซึ่งสร้างด้วยคำสั่ง git log v6.0..v6.1 --stat
สามารถดูบันทึกการเปลี่ยนแปลงอย่างละเอียดได้ที่ เว็บไซต์ KernelNewbies
แปลจากบทความภาษาอังกฤษ : Linux 6.1 LTS release – Main changes, Arm, RISC-V and MIPS architectures
บรรณาธิการข่าวและบทความภาษาไทย CNX Software ได้มีความสนใจในด้านเทคโนโลยี โดยเฉพาะ Smart Home และ IoT