泰晓科技 -- 聚焦 Linux - 追本溯源,见微知著!
网站地址:https://tinylab.org

全网首个嵌入式RISC-V Linux公开课火热连载中
请稍侯

泰晓资讯·5 月 / 第三期 / 2024

unicornx 创作于 2024/05/23

“泰晓资讯”,广泛报道 “Linux/开源” 业界资讯。欢迎广大读者投递相关资讯来源和素材,本站将进一步收集整理后发布给大家。

Linux 内核最新消息

本周为 6.10 的 merge 窗口期,本期资讯将给大家带来更多有关 6.10 中的新闻。

https://www.kernel.org/ updated by 2024/5/23

分支类型版本发布时间
mainline6.92024-05-12
stable6.9.12024-05-17
stable6.8.102024-05-17
longterm6.6.312024-05-17
longterm6.1.912024-05-17
longterm5.15.1592024-05-17
longterm5.10.2172024-05-17
longterm5.4.2762024-05-17
longterm4.19.3142024-05-17
linux-nextnext-202405222024-05-22

关键词: Linux

Linux 6.10 增加了对 RISC-V Milk-V Mars 的支持

Last week the main SoC/platform updates were sent in for Linux 6.10 that included more ARM-based handheld game consoles and other new Arm devices from ASUS wireless routers to set-top boxes to enabling various SoCs. This week a secondary set of updates were submitted for the Linux 6.10 kernel merge window.

上周,Linux 6.10 合入 SoC/platform 方面的更新,其中包括更多基于 ARM 的掌上游戏机和其他新的 Arm 设备,从华硕无线路由器到机顶盒,再到支持各种 SoC。本周,我们又看到了第二组更新也提交了。第二组 SoC 更新启用了 Amlogic A4 和 A5 芯片及其各自的参考板,Amlogic A4/A5 芯片用于音频应用。此外我们还看到一个新的 DeviceTree 文件,用于配备 BPI-CM4 CPU 模块的 MNT Reform 笔记本电脑。第二组补丁的另外一部分是有关新增对使用 ASpeed AST2500/AST2600 BMC 的多个服务器平台的支持,包括各种 Facebook (Meta) 和 IBM 系统以及华硕 X4TF、华擎 X5700D4U、华擎 SPC621D8HM3 和华擎 E3C256D4I。这些新增功能对于 OpenBMC 支持非常有用。

SoC 方面的更新不仅涉及 ARM,还涉及 RISC-V。StarFive、T-HEAD 和 Microchip 为现有硬件启用了更多功能。特别地,我们看到内核新支持了一款叫做 Milk-V Mars 的单板计算机,它是一款售价大约 $50 的 RISC-V SBC,使用 StarFive JH7100、支持 LPDDR4,容量最小 1GB,最大 8GB,此外它还支持 eMMC 和 microSD,HDMI 输出、PoE 千兆以太网和其他基础接口。

新闻出处,“Linux 6.10 Adds Support For The RISC-V Milk-V Mars & More SoC Additions”: https://www.phoronix.com/news/Linux-6.10-More-SoCs

关键词: Linux, RISC-V, Milk-V Mars

Linux 6.10 中新增了一个叫做 Posted Interrupt 的功能

Merged as part of the IRQ changes for the in-development Linux 6.10 kernel is support for posted interrupts on bare metal hardware.

Linux 6.10 内核中合入了一个和 IRQ 相关的改动,对裸机硬件支持所谓的 Posted Interrupt。

来自 Linutronix(目前已经被 Intel 收购)的 Thomas Gleixner 解释了该补丁的内容:所谓 Posted Interrupt,是一种和虚拟化相关的功能,它允许将中断直接注入客户机(Guest),而无需通过主机(Host)。该特性可用于裸机下,多个设备(例如 NVME 存储)以高频引发中断的场景。在默认模式下,这些中断是独立处理的,因此需要中断进入/退出的完整往返。利用 Post Interrupt 可以避免以上通常情况下往返带来的开销。方法是通过将这些中断条目合并到单个条目中,然后,通知中断对基于内存的位图中的挂起位进行复用,并调用相应的设备特定处理程序。经测试,使用新方案后,已测量出 10% 到 130% 的吞吐量改进。

由于 Post Interrupt 功能仅适用于单个 CPU 连接多个设备队列的高端服务器,并且在中断在不同时间到达的情况下会适得其反,因此该补丁提供了 “X86_POSTED_MSI” 的 Kconfig 选项,以及命令行选项参数 “posted_msi” 可供用户自己设置是否开启该功能。

新闻出处,“Linux 6.10 Adds Support For Posted Interrupts On Bare Metal Hardware”: https://www.phoronix.com/news/Linux-6.10-Posted-Interrupts

关键词: Linux, IRQ, Posted Interrupts

Linux 6.10 为内核调度器带来更多改进

Alongside all of the other pull requests by Ingo Molnar submitted at the start of the week during the opening of the Linux 6.10 merge window were the scheduler updates. As usual, the kernel scheduler work continues to see various tweaks and refinements to enhance its behavior.

在本周 Linux 6.10 合并窗口期间 Ingo Molnar 提交的 PR 中,包括了针对调度程序的更新。像以往版本一样,人们对内核调度器的代码继续进行各种调整和改进。

Linux 6.10 中,调度器具备了 CPUFreq 压力反馈功能。此外,围绕 affinity restrictions 就 misfit load balancing 进行了重新开发。此外就是一些代码清理和其他底层的更改。

对 misfit load balancing 的更改是在更新 misfit 时检查任务是否具有 fitfit CPU。来自 Arm 的 Qais Yousef 的补丁中对该改动的解释原文如下:

If a misfit task is affined to a subset of the possible cpus, we need to verify that one of these cpus can fit it. Otherwise the load balancer code will continuously trigger needlessly leading the balance_interval to increase in return and eventually end up with a situation where real imbalances take a long time to address because of this impossible imbalance situation.

This can happen in Android world where it’s common for background tasks to be restricted to little cores.

Similarly if we can’t fit the biggest core, triggering misfit is pointless as it is the best we can ever get on this system.

To speed the search up, don’t call task_fits_cpu() which will repeatedly call uclamp_eff_value() for the same task. Call util_fits_cpu() instead. And only do so when we see a cpu with higher capacity level than passed cpu_of(rq).”

新闻出处,“Linux 6.10 Scheduler Changes Bring More Refinements”: https://www.phoronix.com/news/Linux-6.10-Scheduler

关键词: Linux, Scheduler

Linux 6.10 的 Hardening Configuration 现在支持 KCFI 和其他功能

Introduced last year with the Linux 6.7 kernel was a hardening configuration to allow for “make hardening.config” as an easy way of building a security-hardened Linux kernel with sane defaults. With Linux 6.10 there are some additional security minded features now enabled.

去年在 Linux 6.7 内核中引入了一个所谓的 Hardening Configuration,允许我们执行 “make hardening.config” 来快速方便地构建具有合理默认值的针对安全进行强化的 Linux 内核。在 Linux 6.10 中,针对该配置现在启用了一些额外的安全功能。

最值得注意的是,Linux 6.10 的 Hardening Configuration 中现在启用了 Clang Kernel Control Flow Integrity (KCFI) 保护。但注意这仅在使用 LLVM Clang 而不是 GCC 作为构建内核的编译器时才有效。

此外,Hardening Configuration 的更新还包括打开了 CONFIG_UNWIND_PATCH_PAC_INTO_SCS 选项,这将使用 code patching 动态启用 shadow call stack。打开了 CONFIG_X86_KERNEL_IBT 选项,这使得那些较新的处理器上可以启用 Control-flow Enforcement Technology (CET) 和 Indirect Branch Tracking (IBT) 功能。此外,Hardening Configuration 现在还打开了 CONFIG_PAGE_TABLE_CHECKCONFIG_PAGE_TABLE_CHECK_ENFORCED 功能,在默认情况下强制执行页表检查。

新闻出处,“Linux 6.10’s Hardening Configuration Now Enables KCFI & Other Features”: https://www.phoronix.com/news/Linux-6.10-Hardening

关键词: Linux, Hardening Configuration

较新的 AMD Radeon 显卡现在可以在装有 Linux 6.10 的 RISC-V 机器上运行

Andrew Morton sent out more patches on Wednesday that have been pulled into the Linux 6.10 kernel. Notable from this latest round of “non-MM” updates is enabling more compiler warnings by default and getting newer AMD GPUs working on the RISC-V architecture.

Andrew Morton 本周三发布了更多补丁,这些补丁已被合入 Linux 6.10 内核。在最新一轮的 “non-MM” 更新中,有一项值得注意的改动,即从 Linux 6.10 开始,较新的 AMD GPU 能够在 RISC-V 机器上工作,这是因为内核针对 RISC-V 的支持了内核态下的 FPU。

AMD GPU 的 Display Core “DC” 代码可以驱动具有 Display Core Next (DCN) 硬件的较新 AMD GPU 的显示支持,但这需要浮点支持。由于 RISC-V 现在具有基本的内核模式 FPU 支持,因此从 Linux 6.10 开始,AMD GPU 显示驱动程序代码应该可以正常工作。不依赖较新显示驱动程序代码的旧 AMD Radeon 显卡已经在 RISC-V 上运行良好,例如之前的 SiFive HiFive Unmatched 基准测试所示。不幸的是,配备 PCI Express x16 插槽的 RISC-V 主板数量仍然有限,尤其是在可以满足发烧友的价位上。

不过,这是个好消息,所有较新的 AMD Radeon 图形硬件现在都应该在安装了开源 AMD Linux 图形驱动程序堆栈的 RISC-V 机器上流畅地运行。此外我们也可以选择使用 Polaris 和类似的旧的 ASIC 来支持 AMDGPU DC 驱动。

新闻出处,“Newer AMD Radeon Graphics Cards Now Work On RISC-V With Linux 6.10”: https://www.phoronix.com/news/Linux-6.10-Non-MM-Patches

关键词: Linux, RISC-V, AMD, GPU

RISC-V 现在在 Linux 内核中支持 Rust

The latest RISC-V port updates have been merged for the in-development Linux 6.10 kernel.

最新的 RISC-V 更新已合并到正在开发的 Linux 6.10 内核中。

最值得一提的是,在本次合并中继 x86_64、LoongArch 和 ARM64 等之后,RISC-V 也能够支持使用 Rust 语言进行内核开发。在主线 Linux 内核中使用 Rust 仍然相当有限,到目前为止只有一些基本的驱动程序,并且正在进行大量的基础设施工作,但有许多新的驱动程序和其他子系统支持即将出现。

Linux 6.10 的 RISC-V 更新还添加了针对 byte/half-word 的 compare-and-exchange、对 hwprobe 中的 Zihintpause 的支持、PR_RISCV_SET_ICACHE_FLUSH_CTX 下的 prctl() 以及对无锁 lockrefs 的支持。

新闻出处,“RISC-V Now Supports Rust In The Linux Kernel”: https://www.phoronix.com/news/Linux-6.10-RISC-V

关键词: Linux, RISC-V, Rust

Alpine Linux 3.20 发布,初步支持 64 位 RISC-V

Alpine Linux 3.20 has been released as the newest feature release to this security-minded, lightweight Linux distribution that is popular for embedded and container use. Alpine Linux continues to set itself apart from others by making use of musl libc, Busybox, and other modifications in the name of security and small footprint.

Alpine Linux 这个强调安全,轻量级的 Linux 发行版发行了最新的功能版本 3.20,该发行版在嵌入式和容器使用中很受欢迎。Alpine Linux 继续通过利用 musl libc、Busybox 等突出其安全和小占用空间的特点将自己与其他 Linux 发行版区分开来。

Alpine Linux 3.20 升级为使用 LLVM 18 编译器堆栈、Python 3.12、Node.js 20.10 LTS、Ruby 3.3、Rust 1.78、GNOME 46、Go 1.22、KDE Plasma 6 桌面组件、Sway 1.9 Wayland 合成器、Microsoft .NET 8 和其他升级软件。

除了升级的软件外,Alpine 3.20 是该 Linux 发行版首次提供初始的 64 位 RISC-V 支持。

新闻出处,“Alpine Linux 3.20 Released With Initial 64-bit RISC-V Support”: https://www.phoronix.com/news/Alpine-Linux-3.20

关键词: Linux, Alpine, RISC-V

联系我们

欢迎扫描二维码加微信联系我们:

tinylab wechat



Read Album:

Read Related:

Read Latest: