[置顶] 泰晓 RISC-V 实验箱,配套 30+ 讲嵌入式 Linux 系统开发公开课
泰晓资讯·10 月 / 第一期 / 2024
“泰晓资讯”,广泛报道 “Linux/开源” 业界资讯。欢迎广大读者投递相关资讯来源和素材,本站将进一步收集整理后发布给大家。
Linux 内核最新消息
本周发布了 Linux 6.12-rc2, 修复了最近合并的功能代码引起的一些问题。
6.12-rc2 中合入的补丁包括将针对 Arm 的 Speculative SSBS workaround 解决方案扩展应用到更多的 CPU 上,包括 Cortex-A715、Neoverse-N3 和 Microsoft Azure Cobalt 100 核。
在 Intel 方面,Linux 6.12-rc2 围绕 Intel Xeon Diamond Rapids 下一代服务器处理器引入了更多的早期支持工作。
Linux 6.12-rc2 还包含了更多有关 Bcachefs 的修复,针对这个问题周末的邮件列表的讨论十分激烈。
Linux 6.12 稳定版应该会在 11 月中旬左右发布,并且可能会作为今年的长期支持 (LTS) 内核版本。
https://www.kernel.org/ updated by 2024/10/10
分支类型 | 版本 | 发布时间 |
---|---|---|
mainline | 6.12-rc2 | 2024-10-06 |
stable | 6.11.2 | 2024-10-04 |
stable | 6.10.13 | 2024-10-04 |
longterm | 6.6.54 | 2024-10-04 |
longterm | 6.1.112 | 2024-09-30 |
longterm | 5.15.167 | 2024-09-12 |
longterm | 5.10.226 | 2024-09-12 |
longterm | 5.4.284 | 2024-09-12 |
longterm | 4.19.322 | 2024-09-12 |
linux-next | next-20241009 | 2024-10-09 |
关键词: Linux
Linus Torvalds 要求内核开发人员更好地编写 Git 提交信息
Yesterday when announcing the Linux 6.12-rc2 kernel, Linus Torvalds asked that the kernel maintainers do a better job moving forward with their commit messages.
本周 Linus Torvalds 在发布 Linux 6.12-rc2 时提出希望内核维护者更好地撰写他们的提交信息。特别地,Torvalds 希望内核维护者在描述其 PR 中的更改时能够更好地使用主动的命令式语气。他建议不要将描述写成 “In this pull request, the Xyzzy driver error handling was fixed to avoid a NULL pointer dereference”,相反,将其写成 “This fixes a NULL pointer dereference in ….” 会更好,或者将修改点列出来,每个修改点写成形如 “Fix NULL pointer dereference in ..”。Linus 认为将问题描述写得简单明了会更方便阅读理解。所以他推荐的模板是 “Fix ……”。
这位 Linux 的创始人在邮件中的原文如下:
Anyway, on a completely different note: I try to make my merge commit messages be somewhat “cohesive”, and so I often edit the pull request language to match a more standard layout and language. It’s not a big deal, and often it’s literally just about whitespace so that we don’t have fifteen different indentation models and bullet syntaxes. I generally do it as I read through the text anyway, so it’s not like it makes extra work for me.
But what does make extra work is when some maintainers use passive voice, and then I try to actively rewrite the explanation (or, admittedly, sometimes I just decide I don’t care quite enough about trying to make the messages sound the same).
So I would ask maintainers to please use active voice, and preferably just imperative.
Put another way: I’d love it if people would avoid writing their descriptions as “In this pull request, the Xyzzy driver error handling was fixed to avoid a NULL pointer dereference”.
Instead write it as “This fixes a NULL pointer dereference in ..” or particularly if you just list bullet points, make the bullet point just be “Fix NULL pointer dereference in ..”.
This is not a big deal, I realize. But I happened to try to rewrite a few of these cases the last week, and I think simple and to-the-point language is better. The imperative version of just “Fix X” is about as clear as it gets.
Linus 希望统一提交的文字描述形式,这对软件开发的质量提高有帮助。
新闻出处,“Linus Torvalds Asks Kernel Developers To Write Better Git Merge Commit Messages”: https://www.phoronix.com/news/Linus-Better-Commit-Messages。
关键词: Linux, Linus, Commit Messages
Linux 6.12 中引入的新特性介绍合集
“PREEMPT_RT” 支持终于进入 Linux 6.12:经过多年的酝酿,它终于在一夜之间被合并了…… Linus Torvalds 继续合并了对 Linux 6.12 的 PREEMPT_RT 支持。目前实时 Linux 内核可用于 ARM64、RISC-V 和 x86 / x86_64。该实时内核支持已经酝酿了 20 年,在被合入之前,一直通过一组频繁更新的树外补丁来维护。新闻出处,“Real-Time “PREEMPT_RT” Support Merged For Linux 6.12”: https://www.phoronix.com/news/Linux-6.12-Does-Real-Time。
Linux 6.12 中合入了 Sched_ext 补丁: sched_ext 可扩展调度程序这个新特性允许将调度策略实现为 BPF 程序。曾有计划将其合并到 Linux 6.11 中,但最终没有实现。最近,通过对调度子系统的进一步更改,为最终合入 sched_ext 铺平了道路。通过 Sched_ext 我们可以实现一些非常创新的和调度有关的应用,包括了游戏和其他场景。新闻出处,“Sched_ext Merged For Linux 6.12 - Scheduling Policies As BPF Programs”: https://www.phoronix.com/news/Linux-6.12-Lands-sched-ext。
Linux 6.12 中更新了 XZ 相关代码:过去几个月中社区一直在审查 XZ Embedded 补丁。修订后的 XZ Embedded 代码转向使用 BSD Zero Clause 许可证,使用了新的针对 ARM64 和 RISC-V 的 BCJ 过滤器,更新了文档以及可供内核态使用用于压缩代码的功能。ARM64 和 RISC-V 现在也支持对内核镜像进行 XZ 方式压缩(Image.xz)。目前合入的补丁对于内核镜像文件压缩仅支持单线程模式而不是多线程模式,这样做是因为它在使用较少 RAM 的同时提供了更好的压缩比。新闻出处,“Updated XZ Code Lands In Linux 6.12”: https://www.phoronix.com/news/Linux-6.12-Updated-Embedded。
Linux 6.12 中将 vDSO 中的
getrandom()
移植到另外五个 CPU 架构上:Linux 6.11 在 vDSO 支持中引入了getrandom()
,以满足更快但更安全的用户空间随机数生成需求。最初,它只支持 x86_64,而从 Linux 6.12 开始该特性被移植到另外五个架构中,这包括 ARM64 (AArch64)、PowerPC 64 位、PowerPC 32 位、s390x 和 LoongArch 64 位架构。在将代码移植到更多架构的过程中,它还发现了通用代码中的一些错误和需要改进的地方。在 RISC-V 上还尚未看到对 vDSOgetrandom()
的支持,估计在 Linux v6.13 中才会实现。新闻出处,“vDSO getrandom() Ported To Five More CPU Architectures With Linux 6.12”: https://www.phoronix.com/news/Linux-6.12-Random。Linux 6.12 中实现了针对内核栈使用状态的统计,这有助于对系统进行优化:作为 Linux 6.12 内核的内存管理更改的一部分,实现了一个内核栈使用直方图,这可以帮助开发人员更好地优化内核栈大小并最大限度地减少内存浪费。内核栈的使用情况以 1k 为单位,按照 2 的倍数进行细分,分别显示 1k, 2k, 4k …. 下内核栈(kstack)的使用情况。具体可以通过运行
grep kstack /proc/vmstat
命令进行查看。对于超大规模的企业应用和其他拥有大量 Linux 服务器部署的企业来说,对内存使用的微小优化也可能会产生深远的影响。新闻出处,“Linux 6.12 Adds A Kernel Stack Usage Histogram To Help With Optimizations”: https://www.phoronix.com/news/Linux-Kernel-Stack-Histogram。Linux 6.12 中针对 Bcachefs 提交了大量改进,有望在明年移除 “EXPERIMENTAL” 的标记:Bcachefs 首席开发人员 Kent Overstreet 在 Linux 6.12 内核合并窗口期间提交了所有 Bcachefs 文件系统相关的功能补丁。在他的 PR 中,他描述了计划在明年从 Bcachefs 中删除“EXPERIMENTAL” 标志的雄心壮志。Linux 6.12 的 Bcachefs 带来了更多的代码改进,并提高了更多元数据密集型工作负载的性能。Kent 报告说,对于多线程创建,据说 Bcachefs 比 XFS 快 3 到 4 倍。除了提高性能外,现在还支持 Idmap 挂载、支持重命名白化等其他更改。新闻出处,“Bcachefs Hopes To Remove “EXPERIMENTAL” Flag In The Next Year”: https://www.phoronix.com/news/Bcachefs-For-Linux-6.12。
关键词: Linux
Linux 6.12 中合入的 RISC-V 功能总结
The RISC-V architecture updates have been submitted for the Linux 6.12 kernel cycle. More RISC-V CPU ISA extensions are being supported along with enabling some additional kernel features for this CPU architecture.
Linux 6.12 内核周期合入了针对 RISC-V 架构的更新。支持了更多的 RISC-V CPU ISA 扩展,并为这种 CPU 架构启用一些额外的内核功能,包括:
- 支持使用 Zkr 作为 KASLR 的种子。
- 支持 IPI 触发的 CPU backtracing。
- 支持向用户空间报告通用 CPU 漏洞。
- 补充了缺失的许可证。
- XIP 内核的大小限制已被删除。
- 支持跟踪用户空间栈。
- 支持 Svvptc 扩展。
- 各种其他清理和修复。
新闻出处,“RISC-V Wires Up More Kernel Features With Linux 6.12”: https://www.phoronix.com/news/Linux-6.12-RISC-V。
关键词: Linux, RISC-V
Linux 将支持 RISC-V Framework Laptop 13
Back in June it was teased that Framework Computer in collaboration with DeepComputing would be releasing a RISC-V motherboard for the Framework Laptop 13. That RISC-V laptop motherboard has yet to be officially released but Linux kernel patches were posted today for enabling the DeviceTree support so Linux can boot on this upcoming board.
早在 6 月,就有消息称 Framework Computer 与 DeepComputing 合作将为 Framework Laptop 13 发布 RISC-V 主板。据了解,该 RISC-V 主板将使用具有四个 U74 内核的 StarFive JH7710 SoC,类似于已经推出的 RISC-V SBC - StarFive VisionFive 2。该 RISC-V 笔记本电脑主板尚未正式发布,但我们在近日看到他们向 Linux 内核提交了相关补丁,启用了 DeviceTree 支持,以便 Linux 可以在即将推出的主板上启动。因为相关改动是基于已经主线化的 SoC,所以 DeviceTree 的细节并不是特别令人兴奋,但这是在即将推出的 Framework RISC-V 笔记本电脑上使 Linux 可启动的重要一步。
希望 相关设备树支持将在 Linux v6.13 中合入上游,以便支持可以在 Framework 13 RISC-V 主板发布之前及时开始推出。到目前为止,有关定价和任何其他信息的详细信息尚不清楚,但考虑到其使用的是 JH7710,据了解该处理器的表现并不是特别强劲。
新闻出处,“Linux Preparing Support For The RISC-V Framework Laptop 13”: https://www.phoronix.com/news/Linux-DT-Framework-13-RISC-V。
关键词: Linux, RISC-V, DeepComputing, Laptop, Framework 13
来自 ARM 的 Guarded Control Stack 支持将有望合入 Linux 6.13
For more than one year Arm engineers have been working on Guarded Control Stack “GCS” support for the Linux kernel as a means of protecting against return-oriented programming (ROP) sttacks with modern AArch64 processors. It looks like for Linux 6.13 this Arm GCS support will be ready for upstreaming.
一年多来,ARM 工程师一直致力于为 Linux 内核提供 Guarded Control Stack (简称 “GCS”) 支持,以防止现代 AArch64 处理器出现 return-oriented programming(ROP) 问题。Arm 的 Guarded Control Stack 与 Intel 的 Shadow Stack 的设计思想相似。GCS 是受硬件保护的返回地址堆栈,用于强化系统免受 ROP 攻击。GCS 还使得在处理系统分析时更容易收集应用程序的调用堆栈。通过硬件强制执行,GCS 需要 SoC 以及内核的支持才能支持此功能。
在过去的一年里,Guarded Control Stack 代码在 Linux 内核邮件列表上经历了 13 轮修订和审查。GCS 补丁已于上周进入 arm64/linux.git 中,这个仓库用于暂存针对 Linux 内核的新的 ARM64 架构相关代码。鉴于 GCS 代码现在正在排队,它可能会在下个月的 Linux 6.13 合并窗口期间被提交,除非最后一刻代码中出现任何问题。
新闻出处,“Arm’s Guarded Control Stack “GCS” Support Looks Like It Will Be Ready For Linux 6.13”: https://www.phoronix.com/news/Arm-GCS-Prep-Linux-6.13。
关键词: Linux, ARM, GCS
Mold Linker 决定放弃对 DEC Alpha 的支持
The high performance open-source Mold linker has released version 2.34 with various improvements while also deciding to throw in the towel on DEC Alpha processor support.
高性能开源 Mold linker 发布了 2.34 版,其中包含各种改进,同时还决定放弃对 DEC Alpha 处理器的支持。
Mold 2.34 取消了对 DEC Alpha 的支持,但考虑到硬件的使用年限,这并不是什么真正的损失,而且它不太可能与最新的软件一起使用,尤其是对于这个现代的 Mold 链接器。Mold 首席开发人员 Rui Ueyama 在 2.34 发布公告中的评论原文如下:
DEC Alpha support has been removed due to lack of demand. In fact, mold’s Alpha support has never been tested for real-world programs and was likely unable to link them in the first place. This should not affect anyone because the last Alpha processor was released more than 20 years ago.”
Mold 2.34 的其余变化包括 LoongArch 现在支持 TLSDESC 重新定位,以及各种较小的修复和改进。
新闻出处,“Mold Linker Decides To Drop DEC Alpha Support: Likely Broken & No Actual Users”: https://www.phoronix.com/news/Mold-Linker-2.34。
关键词: Mold, DEC, Alpha
联系我们
欢迎扫描二维码加微信联系我们:
猜你喜欢:
- 我要投稿:发表原创技术文章,收获福利、挚友与行业影响力
- 泰晓资讯:汇总一周技术趣闻与文章,查看「Linux 资讯」
- 知识星球:独家 Linux 实战经验与技巧,订阅「Linux知识星球」
- 视频频道:泰晓学院,B 站,发布各类 Linux 视频课
- 开源小店:欢迎光临泰晓科技自营店,购物支持泰晓原创
- 技术交流:Linux 用户技术交流微信群,联系微信号:tinylab
支付宝打赏 ¥9.68元 | 微信打赏 ¥9.68元 | |
请作者喝杯咖啡吧 |
Read Album:
- 泰晓资讯·11 月 / 第一期 / 2024
- 泰晓资讯·10 月 / 第二期 / 2024
- 泰晓资讯·9 月 / 第二期 / 2024
- 泰晓资讯·9 月 / 第一期 / 2024
- 泰晓资讯·8 月 / 第三期 / 2024
Read Related:
Read Latest:
- Linux 673
- Linus 5
- Commit Messages 1
- RISC-V 311
- DeepComputing 1
- Laptop 3
- Framework 13 1
- ARM 27
- GCS 1
- Mold 21
- DEC 1
- Alpha 2