您现在的位置是:首页 > 文章详情

微软工程师发布 Rust Linux 内核补丁,以进行就地模块初始化

日期:2024-03-28点击:39

微软工程师 Wedson Almeida Filho 发布了一个针对 Rust Linux 内核代码的 Allocation API 的最新补丁,并利用这些提议的 API 来允许 Rust 内核模块进行就地模块初始化。Wedson Almeida Filho 一直是 Rust for Linux 的长期贡献者,最早可以追溯到他在 Google 工作的时候。

解释道:

我们目前我们有一个对 Vec 进行了修改的 crate fork;其他更改已被上传到上游(Rust 项目)。本系列删除了分叉并将所有功能公开为扩展特征。

此外,它还向所有可能导致分配的函数(例如 “Box::new”、“Arc::new”、“Vec::push”等)引入了不带 try_ 前缀的 allocation flag 参数--这些名称之所以可用,是因为我们在构建 alloc 时使用了no_global_oom_handling。

最后,该系列还消除了我们对“allocator_api”不稳定功能的依赖。

从长远来看,我们仍然希望在上游 Rust 中提供此类功能,但这使我们现在就能够取得进展并减少维护负担。

总结:

  1. 删除 alloc 分支
  2. 删除使用 allocator_api 不稳定功能
  3. 分配时引入标志(例如 GFP_KERNEL、GFP_ATOMIC)

在内核中为 Rust 提供的 Allocation API 工作的基础上,他还发布了 Rust 内核模块的就地模块初始化补丁。提出的补丁允许对模块进行就地初始化,而不是让模块返回一个被移动到最终内存位置的实例。

原文链接:https://www.oschina.net/news/285142/linux-rust-in-place-module-init
关注公众号

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。

持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。

文章评论

共有0条评论来说两句吧...

文章二维码

扫描即可查看该文章

点击排行

推荐阅读

最新文章