LWN:Rust for Linux 的最新进展!

侵入性集合-Rust的侵入性集合(链接列表和红黑树)-Rust开发 侵入式集合用于创建侵入式集合的Rust库。 当前支持单链接和双链接列表,以及red-blac侵入式集合用于创建侵入式集合的Rust库。 当前支持单链接和双链接列表以及红黑树。 与#[no_std]兼容的功能。 侵入式收集不需要任何动态内存分配,因为它们仅跟踪现有对象,而不分配新对象。 您可以安全地操作侵入性集合,而无需任何不安全的代码。 单个对象可以是多个侵入式集合的成员 立即下载

关注了就能看到更多这么棒的文章哦~

Rust for Linux redux

By Jake Edge
July 7, 2021
DeepL assisted translation
https://lwn.net/Articles/862018/

7 月 4 日,Rust for Linux 项目又提供了一版 patch set,仍是为内核加入了 Rust 语言的支持。看来,该项目认为它已经准备好可以合入 mainline 了。但其实还有一个更大的问题悬而未决:内核开发社区是否已经准备好接受 Rust?目前看来仍然不明朗。

Round 2

Miguel Ojeda 已经在全职(been hired)从事该项目,他发布了这组 patch set。在封面邮件中,他列出了自 4 月发布 RFC patch set 以来的一些改动。尤其是替换了在 allocation 分配失败时调用 panic!()的做法。专门为 kernel project 修改了一版 alloc crate,不过计划仍然是让这些改动能被合入 upstream,这样就不需要带着这些修改了。顺便说一下,对这个 crate 进行修改的 patch 对于 lore 存档来说显然超出了 size 限制,不过它还是出现在了 LWN 的存档中。

内核设施的 Rust 抽象工作有了更多进展,包括实现了 "红黑树 red-black tress、reference-counted objects 引用计数对象、file descriptor creation 文件描述符创建、tasks 任务、files 文件、io vectors 向量等等……",他还说增加了对驱动的支持。除此之外,Android Binder 进程间通信机制的 Rust 驱动也有更多的功能,而且目前正在为一些 Raspberry Pi 的若干型号的硬件随机数发生器开发驱动程序。

但是,在 4 月份的时候人们就说它仍然缺乏一个 "真正的" 驱动程序,这次这一点又被提出来了。克里斯托夫-赫尔维格(Christoph Hellwig)说,如果这次发表的时候仍是故意不加这一部分的话,那么他强烈反对合并这组代码。在申请邮件中,Ojeda 说该 patch set 已经添加到了 linux-next 中,正在申请合并。赫尔维格希望看到 Rust 在被合入之前能先证明自己的能力:

[……]首先证明它确实有用。这里说的有用,是指实现一个真实的驱动,比如 nvme 或 usb host controller 的驱动程序,证明其可以正常工作并展示出比现有驱动更多的优势。在它能展示这种程度的用处之前,它对大家只是个拖累。

Ojeda 指出 Binder 驱动并不是一个 "微不足道的小模块",并且这个模块 "已经能正常工作了",但他承认真正的硬件驱动确实是一个重要的部分(但目前还没有)。但申请邮件中列出了一些已经表示对该项目感兴趣或参与其中的组织,Ojeda 认为这也有助于证明该项目的价值:

它的价值的一个 "证明"在于,我们已经开始获得了用户在等待使用它,而且还有其他一些感兴趣的组织都表示了支持。

然而,其他一些人则比较保守,他们只会在代码进入 mainline 之后才会开始在这上面投入精力,也就是说,他们会等到大家先决定是否会在 kernel 里面支持 Rust。

Greg Kroah-Hartman 说,由于一些原因,Binder 的 "驱动程序" 并不能算作一个真正的好例子。首先,这个驱动目前还缺少一个相当大的功能(binderfs),并且它也没有展示出 Rust 如何跟内核中其他部分来配合。和以前一样,他强烈建议先开展一些工作来帮助澄清内核开发者对 Rust 的一些疑问:

并不是说它没有用处,但是 binder 和内核其他部分之间的互动确实是非常少的,而且只局限在具体几处。几乎没有人会再对这个功能进行进一步开发。

请在一个真正的驱动上工作,来帮助证明这一切是否能够正常工作。当你做这样的事情时,会遇到很难未解决的问题,需要把这些问题解决了先。

Kernel Summit topic

希望 Rust 能证明自己的这个话题也出现在 ksummit-discuss 邮件列表中。6月底,Ojeda 提议将 Rust for Linux 作为今年 Linux Plumbers 大会上 Kernel Summit 部分(track)的一个技术主题。7月 6 日,Linus Walleij 回复说,同意这是一个应该讨论的话题。他指出,内核开发者已经要掌握相当多的语言了(例如 C、汇编、Make、Bash、Perl、Python……),所以他心中存在一个问题,就是 Rust 会带来些什么,使得它能够值得被加入进来作为有一种新的语言支持起来。

这些邮件就开始了讨论 Rust 如何能表现自己的价值——以及将 Rust 加入内核之后下一步会是怎样。内核开发者显然不愿意先要了解 Rust 之后才能继续 Linux kernel 的开发工作。Ojeda 尝试着在一定程度上打消这些顾虑,但也承认大多数内核开发者最终会需要了解这种语言。Ojeda 说,就目前而言,项目的目的是与那些希望在其子系统中添加 Rust API 的 maintainer 来合作完成这些工作。这将能在 kernel 中实现 Rust 的 boostrap(自引导启动),并将有助于回答 Leon Romanovsky、James Bottomley 等人所表达的一些担忧。

Romanovsky 担心的是重构(refactoring)问题,特别是牵涉到要在一个拥有不同语言实现的多个驱动程序的系统中同时重构多个子系统的时候。Bottomley 猜想因为 Rust 代码的 review 审查人员会更少,所以可能更容易会有代码错误被合入 mainline 中 Rust 的部分:

因为现在我们大多数的 CVE 类型的问题通常是编程代码错误,那么缺乏 review 就可能会导致编程错误这种问题增加,而更安全的内存模型也并不能阻止这些问题的出现。

这些都是近期需要处理掉的问题,但最终目标是要让 Rust 能内核开发者中更加普及。正如 Ojeda 所说:

毕竟,如果我们要让 Rust 成为内核中的第二语言,那么我们应该在合理的时间之内就让尽量多的人加入进来,至少要是熟悉到某种程度。

正如 Laurent Pinchart 所指出的,这是一个重要的观点,需要在讨论中更清楚地强调出来:

[……]在内核中采用 Rust 作为第二语言,不仅仅是一个影响不大的技术决策,同时它也是一个流程上的决策,它将会导致大多数内核开发者需要面临一个要学习 Rust 的新要求。这是否应该发生、将会何时发生,这是是我们正在争论的问题。无论结果如何,重要的是要能正确地把这个问题讲出来,并对其带来的影响能有一个完整的分析。

当然,也还有很多其他技术障碍需要解决。其中一类问题是 Linux 驱动模型和与之相关的 object-lifetime handling(对象生命周期的处理)。Roland Dreier 建议,像 devres(用来管理 device resource 的)这样的接口可以避免他在驱动程序中之前看到的很多关于生命周期的资源管理问题,特别是异常情况的处理方面,但它并没有被广泛采用。Walleij 不同意这个它没有被广泛采用的判断,但完全不知道切换到 Rust 是否更好:

我认为这是一个艰难的但是成功的做法,人们只是需要更好地学习如何使用它。

但是,如果为了能使用一种更加简单的机制,但却需要付出对 kernel 进行重新洗牌的代价也就是把驱动程序都换成 Rust,我也不确定,这样好吗?

对于 Kroah-Hartman 来说,看到 Rust 写出来的真正的驱动程序将有助于理清这些问题如何在 Rust 语言中得到解决。这里还有一些困难的问题需要解决:

这将是 Rust 工作中比较 "有趣" 的部分,它必须先弄清楚如何将我们目前在驱动模型中的引用计数管理的对象来转换成 Rust 控制的对象,并保持一切都能正常工作。

对于通常代码来说,事实上内存是被分配给了一个特定的对象(the struct device),但却从另一个对象(cdev)中被引用了。devm_* 方式的用户似乎没有意识到这里有两个完全独立的 object lifecycle,因为两者的交互经常很不显眼。

我期待着看到 rust 的实现会如何处理所有这些问题,因为我搞不懂这一点。

还有一个问题是,所有这些工作最后会带来什么。Walleij 想知道,从展示语言的好处的角度来看,内核的 "leaf nodes"(即指设备驱动程序)是否真的是最好的上手点。他在 4 月份的长篇留言中也问到了这个问题。他的问题的一部分是,是不是出于其他原因才决定从驱动程序这部分来开始:

如果先做设备驱动的整个理由是出于一些战略原因,而并不是一定要给设备驱动子系统带来一些好处,而是拿它作为一个试验场和小白鼠,那么这个策略就需要明确出来,并让大家得以理解这一点。因此,也就是在我们明白 Rust 作为所有这些 $UPSIDES (优势),大家首先用它来做设备驱动开发,这是纯粹一个战略策略,对吗?我认为这里还需要指出如果未能成功的话该有哪些后备手段?

他还问到用 Rust 编写整个子系统的问题。这需要将 Rust 的 API 暴露给内核中其他地方的 C 代码来使用。这也有可能会导致内核向着使用更多 Rust 代码进行演变:

如果我们想在 Rust 中真正地写一个子系统,那么它当然会走另一条路:就是让 Rust 暴露 API 给 C 来使用。那么我看来最终的宏大目标就是让 Rust 完全实现 Linux,这是一个逐步蚕食的过程。如果它被证明比 C 语言更好,那么就是会向这个方向发展。

Ojeda 说,虽然可以将 Rust 的 API 暴露给系统的 C 部分来使用,但他并不推荐这样做。这样做的问题是,C语言里的调用者会无法享受到 Rust 带来的很多好处:

一般来说,我会避免将 Rust 子系统暴露给 C 语言。

当然,这是可以做的,它可以在 Rust 写成的子系统中享受到 Rust 的优势。然而,如果你不得不暴露出一个 C 语言的 API,那么就会失去更丰富的 type system 的大部分优势,也会失去 Rust 为使用到这个子系统的调用者本来能带来的安全保证。

类似地,Johannes Berg 问到如何用 Rust 替换子系统的一部分、但驱动程序仍然是用 C 语言来写成,这实际上是现有计划的相反做法。Ojeda 再次表示,这是可以做到的,要注意会失去 Rust 的特性和保证。此外,有些架构目前还没有 Rust 的编译器,所以现在看基于 Rust 的子系统可能还没有达到成熟实际。

Future

这个项目的最终目标并不完全清楚。如果所有的 Linux 驱动都是用 Rust 编写的,那么仍然会有很多重要代码在运行不安全的 C 语言;如果 Rust 在这期间证明了自己,那么下一步是否要取代这些其他部分?但在这种情况下,"证明自己" 这个要求其实也没有真正定义清楚。

学习一种新的语言,包括其所有特有行为、怪癖和特异性,对于已经在维护现有内核代码方面处理了相当多的复杂性的开发人员来说,会是一个相当重大的要求。更不用说在现有基础上提供新功能所带来的新增的复杂性了。在这两个邮件讨论中(以及其他一些地方)的评论中,那些相当普遍的怀疑态度很可能就来源于这个学习负担上。

将 Rust 添加到内核中需要大量的工作,要想能完全实现 Rust 带来的那些好处,就必须要使用 Rust 重写整个 Linux kernel,这样一来对于许多人来说就没有什么明确的好处了。运气好的话,这个项目可以在早期提供一些明确的 "优势",能清楚地证明这种语言的潜力,以及能够在像内核这样的大型复杂代码库中逐步应用起来。如果没有这些,那么 Rust in kernel 项目可能很难在打入 Linux kernel 这个目标上取得大的进展。

全文完
LWN 文章遵循 CC BY-SA 4.0 许可协议。

欢迎分享、转载及基于现有协议再创作~

长按下面二维码关注,关注 LWN 深度文章以及开源社区的各种新近言论~

用 CL_ABAP_ZIP 在 ABAP 里打包任意文件:从前端多选到 ZIP 交付的一条龙实践 本文介绍了在SAP ABAP中实现文件打包交付的完整解决方案。文章首先区分了ZIP和GZIP的不同用途:ZIP用于多文件归档,GZIP用于单数据流压缩。核心流程包括四个步骤:文件选择、二进制上传、内存打包和ZIP输出,并提供了关键对象与函数的速查表。针对实际项目中常见的乱码、大文件处理等问题给出了解决方案,最后展示了一个完整的可运行示例代码,涵盖了从文件选择到下载的全流程实现。该方案适用于财务、质量、运维等多种业务场景,能够有效解决多文件交付的最后一公里问题。 阅读详情

相关推荐

最优化学习笔记1——关于拟牛顿法推导

从2020年3月份到现在,一年的时间里断断续续自学最优化,结合豆瓣读书、知乎等网站上的推荐,翻阅了以下书和课程: Stephen Boyd和Lieven Vandenberghe的《Convex Optimization》,这本书被公认为学习凸优化的必读经典著作,其中大量的篇幅讲应用,讲理论和算法的篇幅稍少一些。在B网站上有Boyd的视频课程,油管上也有,不过只有英文字幕,如果是零基础接触,直接看Boyd的视频稍显费劲,B站上也有凌青老师以《Convex Optimization》为教材的讲解,推荐作为入

xiaofei473的博客 1768

请用rust 写一个红黑树例子

好的,以下是一个用 Rust 语言实现的红黑树的例子: enum Color { Red, Black, } struct Node<T> { value: T, color: Color, left: Option<Box<Node<T>>>, right: Option<Box<Nod...

weixin_42602726的博客 431

Synopsys工具filter命令:从数据筛选到高效IC设计的实战指南

在数字集成电路设计流程中,数据筛选与查询是工程师处理海量网表、时序报告和设计约束的核心需求。其原理在于通过声明式查询语言,直接对设计对象(如单元、网络、路径)的属性进行逻辑判断与模式匹配,从而精准定位目标。这种技术价值在于将工程师从繁琐的过程式脚本循环中解放出来,大幅提升代码可读性与运行效率,直接调用工具内置的高性能查询引擎。在实际应用场景中,它广泛用于物理与时序联合分析、层次化模块操作、动态约束生成以及自动化报告生成。本文聚焦于Synopsys工具链中filter命令的高阶用法,深入解析其表达式语法、正则

weixin_28007513的博客 577

Rust红黑树 包含删除平衡,运行正确

Rust编写红黑树

m0_50444281的博客 454

OpenVINS实战指南:从环境搭建到RGB-D相机实时建图

本文提供了一份详细的OpenVINS实战指南,涵盖从Ubuntu与ROS环境搭建、依赖安装与编译调试,到连接RGB-D相机进行实时建图的完整流程。重点解决了RealSense D435i等设备的驱动配置、话题对齐及常见问题,并分享了传感器标定与性能优化技巧,帮助开发者快速实现稳定高效的视觉惯性里程计系统。

weixin_29201313的博客 482

华为OD机试2025C卷-双十一最大花费金额[100分](Java_Python3_C++_C语言_JsNode_Go)实现100%通过率

双十一最大花费金额 - 动态规划解法 摘要:本文介绍了华为OD机试中"双十一最大花费金额"问题的动态规划解法。该问题要求在给定N件商品价格和优惠券面额X的情况下,选择若干商品使总花费不超过X且尽可能大。核心解法采用布尔型动态规划数组,记录每个金额是否可被拼出。算法时间复杂度为O(N*X),空间复杂度为O(X)。通过倒序遍历避免重复选择同一商品,最后从X向下查找第一个可达金额作为答案。文中提供了C++和Java的实现代码,并解释了与经典0-1背包问题的关系。 关键点: 问题本质是0-1背包/子集和问题的变体

2503_91057718的博客 46

红黑树原理

红黑树(Red Black Tree) 是一种自平衡二叉查找树,是在计算机科学中用到的一种数据结构,典型的用途是实现关联数组。 性质 节点是红色或黑色。 根节点是黑色。 每个叶子节点(NIL)是黑色。 (注意:这里叶子节点,是指为空(NIL或NULL)的叶子节点!) 每个红色节点的两个子节点都是黑色。(从每个叶子到根的所有路径上不能有两个连续的红色节点) 从任一节点到其每个叶子的所有路径都包含相...

xiaolyuh的专栏 729

Apifox接口测试+自动化测试

Apifox 接口测试+自动化测试快速入门!

程序员小杨哥的博客 1万+

Rust BTreeMap 的红黑树实现原理:从入门到精通

红黑树是一种自平衡二叉搜索树,通过对节点着色和旋转操作,保证树的高度始终在 O(log n) 级别。// 简化的源码结构// Root 是特殊的节点包装// 节点的实际存储len: u16,CAPACITY],CAPACITY],2 * B],// 降序排列println!// 输出: 3, 2, 1BTreeMap使用 B-Tree(非红黑树)实现有序映射性能保证:所有操作都是 O(log n)适用场景:需要有序性、范围查询的场合内存优化:利用缓存局部性提升性能。

码事漫谈 842

YOLOv8车辆碰撞识别检测系统(项目源码+YOLO数据集+模型权重+UI界面+python+深度学习+环境配置+目标检测)

随着我国汽车保有量的持续攀升,道路交通事故数量居高不下,车辆碰撞损伤的快速、精准评估已成为交通安全管理、保险理赔定损以及汽车后市场服务中的关键环节。传统的人工目视查验方法高度依赖评估人员的专业经验,不仅主观性强、效率低下,而且在复杂光照、多角度遮挡等真实场景下难以保证评估的一致性和可复现性。计算机视觉与深度学习技术的迅猛发展,为目标检测任务提供了强有力的技术支撑,使得基于视觉的车辆损伤自动化识别成为可能。

斌擎科技 128

13、基因相似性度量的相关性及特征选择研究

本文研究了基因相似性度量和特征选择在生物学中的应用,详细介绍了GO术语相似性度量的多种方法,包括语义度量和路径长度度量,并分析了不同方法在酵母和人类数据集上的表现。研究发现,Avg-sum方法和基于路径长度的度量在多数情况下效果较好。此外,通过晚期辐射毒性预测的案例研究,探讨了特征选择的重要性及可能面临的过拟合和噪声干扰问题,并提出了相应的解决策略。

js777的博客 127

Rust for Linux:世界上最大的软件项目的内存安全问题有办法了!

Rust 成为Linux 内核第二官方语言,原是为了解决内存安全问题!

开源吞噬世界。 5974

5、自动化代码结构与运维系统的优化

本文探讨了自动化代码结构与运维系统的优化方法,涵盖审批流程的模块化设计、日志记录与工单系统的集成、通知方式的选择、错误处理的策略以及持续改进的实践。同时,深入分析了运维盲目性问题,通过故障案例揭示了关键指标缺失和日志未充分利用的弊端,提出了开发与运维角色转变的必要性。文章还介绍了如何生成有用的系统指标、建立良好的日志习惯以及实施日志聚合,以提升系统的可观测性和可靠性。最终通过总结和流程图展示了优化措施的核心要点,为构建高效、可靠的运维体系提供了指导。

pp12345的博客 71

LWN:内核维护者们对Rust-for-Linux的观点!

关注了就能看到更多这么棒的文章哦~Maintainer opinions on Rust-for-LinuxBy Daroc AldenFebruary 10, 2025FOSDEMGemini-1.5-flash translationhttps://lwn.net/Articles/1007921/Miguel Ojeda 在FOSDEM 2025大会上的一次主题演讲中,介绍了Rust...

Linux News搬运工 1129

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

LWN:Rust for Linux 中的FFI类型不匹配问题!

关注了就能看到更多这么棒的文章哦~FFI type mismatches in Rust for LinuxBy Daroc AldenOctober 11, 2024Kangrejos 2024Gemini-1.5-flash translationhttps://lwn.net/Articles/993163/在 Kangrejos 会议上,Gary Guo 讨论了 Rust 和 C 代码在内...

Linux News搬运工 1833

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

LWN:对2024所做预测的回顾!

关注了就能看到更多这么棒的文章哦~A 2024 retrospectiveBy Jonathan CorbetDecember 25, 2024Gemini-1.5-flash translationhttps://lwn.net/Articles/1002368/通常人们说的疯狂(insanity),就是重复同样的行为却期待不同的结果。尽管如此,LWN 每年年初都会进行一组预测,然后在年末不得不...

Linux News搬运工 955

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

LWN: Linux kernel 中的Rust!

关注了就能看到更多这么棒的文章哦~The Rust for Linux projectBy Jonathan CorbetSeptember 16, 2021KangrejosDeepL ...

Linux News搬运工 838

【Rust日报】 LWN《Rust 内核实验的情况》

最后,我们概述了未来的工作方向,包括支持组合分析和双向溯因推理。12 月的 RFMIG 分享的主题是 Soteria Rust,它是第一个完全支持对 Rust 语言复杂的别名模型(树借用)进行推理的 Rust 符号执行引擎,同时其性能可与 Rust 最先进的有界模型检查器 Kani 相媲美。在 2025 年 11 月不仅发布了多个核心库(Parley, Kurbo)的新版本,还在渲染特效(Vello)和 GUI 框架的实用性(Xilem)上迈出了重要一步,同时获得了持续发展的资金保障。

Rust语言学习交流 1063

LWN:LWN 在招聘!

关注了就能看到更多这么棒的文章哦~LWN is hiring[Posted May 18, 2022 by corbet]DeepL assisted translationhttps://lwn.net/Articles/895695/LWN 致力于对自由软件开发社区的提供全面的报道,但这里所发生的事情远远超过我们这么少几位职员的处理能力了。上面这句话听起来像是有一个明...

Linux News搬运工 393

LWN:学习Rust内核开发的可用资源!

关注了就能看到更多这么棒的文章哦~Resources for learning Rust for kernel developmentBy Daroc AldenSeptember 23, 2024Kangrejos 2024Gemini-1.5-flash translationhttps://lwn.net/Articles/990619/Dirk Behme 在 Kangrejos 2024...

Linux News搬运工 1456

LWN:使用Rust进行Linux kernel开发!

Supporting Linux kernel development in RustAugust 31, 2020This article was contributed by Nel...

Linux News搬运工 1085

LWN:内核开发即将支持哪些 Rust 语言特性!

由于 Rust for Linux 开发者希望使用自定义智能指针来处理不可信数据(untrusted data)、引用计数(reference counting)、外部锁(external locking)以及相关的内核复杂性,因此他们将受益于一个通用的语言特性,该特性允许所有指针类型使用相同语法进行字段投影。内有效的指针类型,投影一个字段会得到一个包裹了该结构体字段的(可能不同的)输出指针类型,且在相同的生命周期内有效。在 Rust 中,类型上的方法可以将类型本身的实例作为第一个参数,也可以是其引用。

Linux News搬运工 671

LWN:内核unsafe Rust使用标准!

关注了就能看到更多这么棒的文章哦~Standards for use of unsafe Rust in the kernelBy Daroc AldenAugust 14, 2024Gemini-1.5-flash translationhttps://lwn.net/Articles/982868/Rust 被设计来帮助程序员编写更安全的代码。但是,编译器并非无所不知的,编写与硬件交互(或在 ...

Linux News搬运工 2081

LWN:Rust重写Linux最基本的软件包!

关注了就能看到更多这么棒的文章哦~Rewriting essential Linux packages in RustBy Joe BrockmeierFebruary 12, 2025FOSDEMGemini-1.5-flash translationhttps://lwn.net/Articles/1007907/大多数 Linux 系统都依赖于一套核心实用程序,这些程序是GNU Proje...

Linux News搬运工 1157

LWN:如何在 kernel 里写 Rust 代码:第一部分!

尽管 GCC 上对 Rust 的支持正在迎头赶上,并且 `rustc_codegen_gcc` 代码生成后端现在能够编译内核的 Rust 组件,但 Rust for Linux 项目目前仅支持使用纯粹的 `rustc` 进行构建。Rust 开发者可能还应该安装 Clippy(Rust 的代码 Lint 工具),rustdoc(Rust 的文档构建工具)和 rust-analyzer(Rust 的 语言服务器),但这些并非严格必需。构建和测试 Rust 代码是审查 Rust 代码的必要条件,但并非充分条件。

Linux News搬运工 1649

LWN:初识6.1内核中的Rust!

关注了就能看到更多这么棒的文章哦~A first look at Rust in the 6.1 kernelBy Jonathan CorbetOctober 13, 2022DeepL assisted translationhttps://lwn.net/Articles/910762/在 6.1 版本中有很多重要的改动被合并到 mainline 了,但是其中一个最受关注的改动,对内核用户的...

Linux News搬运工 858
上一篇: LWN:5.14合并周期的第一部分!
下一篇: LWN:别了,bdflush()!
LinuxNews搬运工
博客等级 码龄7年 438粉丝 20原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值