关注+星标公众号,不错过精彩内容
来源 | OSC开源社区
Linux这几年发展之迅速,就连微软都在贡献 Linux 内核代码了。
Linus Torvalds 宣布 Linux 6.1 内核系列正式发布!Linux 6.1 内核系列集成了改进的页面回收代码的多代 LRU (MGLRU) 、初始的 Rust 语言支持(仍在构建中)、新的 AMD 平台管理框架、各种开源图形驱动程序改进、Btrfs 性能优化、Kernel Memory Sanitizer、Maple Tree 数据结构的引入以及许多其他硬件驱动程序工作。有关每项 Linux 6.1 新功能的细节(点击文末阅读原文查看各项详情):初始的 Rust 基础设施已被合并到 Linux 6.1
Linux 6.1 内核合并面向 LoongArch 架构的 CPU 特性
Linux 6.1 将迎来 MGLRU 和 Maple Tree 支持
Linux 6.1 迎来 Btrfs 异步缓冲写入补丁,吞吐量翻倍
Linux 6.1 引入新功能,更容易辨认出故障的 CPU
Linux 6.1 引入 VirtIO 块 “安全擦除”、vDPA 功能配置
Linux 6.1 Perf 新增 AMD CPU 内存报告和 Cache-To-Cache 功能
此外,公告中并没有提及 Linux 6.1 是否是 LTS 版本。按照 Linux 内核维护者 Greg Kroah-Hartman 的说法,Linux 内核的 LTS 通常会选取每年的最后一个内核版本(last kernel of the year),如今 Linux 6.1 赶在年末发布了,按照规矩它将会是 LTS 版本。但 Carl Dasantas 提出了不同的看法,他表示 Linux 6.0 或 5.19 更合适作为 LTS 版本。因为 Linux 6.1 有 Rust,很多社区都对 Rust 犹豫不决,如果有一个除了 5.15 之外不支持 Rust 的 LTS 会更好,可以让 LTS 过渡更加顺利。但目前尚不清楚最后会选择哪一个, kernel.org 上的 longterm (LTS)版本也还没有更新。https://lkml.org/lkml/2022/12/11/206
近日微软为了扩展内核支持,为 Linux 内核提供了一系列的补丁,其中一个值得注意的地方是微软为 Linux 带来了运行嵌套监控程序(Hyper-V)或嵌套虚拟化的功能。
![](https://static.mianbaoban-assets.eet-china.com/xinyu-images/MBXY-CR-1480507e47d7945ccdf37b6c2e42f732.png)
这组补丁是由微软的 Linux 高级工程师 Jinank Jain 在11月2日发出的,补丁说明如下:
该系列补丁计划增加对运行嵌套式微软 Hypervisor(虚拟机监控程序) 的支持。在嵌套微软 Hypervisor 的情况下,有一些特权的 hypercalls 需要走 L0 Hypervisor(在物理硬件上运行的 Hyper-V 虚拟机监控程序) 而不是 L1 Hypervisor(在 Hyper-V 虚拟机中运行的嵌套虚拟机监控程序)。这个补丁系列基本上可以识别这样的 hypercalls,并用嵌套的 hypercalls 替换它们。
补丁中包含的变化包括:
- mshv: 增加对检测嵌套的 hypervisor 的支持
- hv:在嵌套 root 分区的情况下设置 synic 寄存器
- hv: 增加一个接口来执行嵌套的 hypercalls 超调用
- hv: 为嵌套的 root 分区启用 vmbus 驱动
- hv, mshv : 改变嵌套 root 分区的中断向量
Hyper-V 是 Microsoft 的硬件虚拟化产品。它允许你创建和运行一个称为虚拟机的计算机的软件版本。每个虚拟机都充当运行操作系统和程序的完整计算机。当需要计算资源时,虚拟机可让你更灵活,并且比在物理硬件上运行一个操作系统更高效地使用硬件。而嵌套虚拟化允许用户在一个 Hyper-V 虚拟机内运行 Hyper-V,与裸机相比,在虚拟机中运行时,Hypervisor 可以显著提高性能。可以通过使用 L0 Hypervisor 提供的启用接口,将 L1 Hypervisor 优化为在 Hyper-V VM 中运行。因此如果这个补丁能够成功合并,那么你就可以在 Linux 中运行一个以上的 Windows 实例,嵌套虚拟化这样的功能通常来说是为企业设计的,绝大多数的普通用户都用不上这样的功能。这个补丁仅有超过 100 行的新代码,如果代码审查顺利的话,这个嵌套的微软 hypervisor 支持可能会在 Linux 6.2 内核周期中合并进主线。https://lore.kernel.org/lkml/cover.1667406350.git.jinankjain@linux.microsoft.com/
------------ END ------------
![](https://static.mianbaoban-assets.eet-china.com/xinyu-images/MBXY-CR-75ac40be042ea502e2aae7cf12d694c2.gif)
●专栏《嵌入式工具》
●专栏《嵌入式开发》
●专栏《Keil教程》
●嵌入式专栏精选教程
关注公众号回复“加群”按规则加入技术交流群,回复“1024”查看更多内容。
![](https://static.mianbaoban-assets.eet-china.com/xinyu-images/MBXY-CR-b1b6f60e50c61b34250f37416937964b.png)
点击“阅读原文”查看更多分享。