作者dzwei (Args&&... args)
看板Linux
标题[分享] rust在Linux Kernel生态圈之争议/冲突
时间Sun Jun 1 16:48:15 2025
懒人包可以看这边:
Rust和Linux之争,到底在争什么?
https://youtu.be/ONZZvc_IqQg?si=BztP9lTC0iqKWrrY
Rust和Linux的冲突已经超越技术层面
https://youtu.be/tV4SEMSdjXc?si=k6ULNl1_Rcp6HyxS
如影片所说,这种神仙打架
不是我们这种嗑瓜观众群
想看就看的到的
这边快速整理:
-----------------------------------------------
虽然6.2版本开始引入rust
作者Linus也表示相当期待
但还是有原本Kernel组的人
对此感冒
包括着名的档案系统(e2fs)作者: 曹子德Ts'o
(试着下这个指令`man e2fsck`
然後看最下面的作者是谁XD)
甚至闹到高峰会的YT都知道
留言区会炸锅
所幸先关闭留言XD
https://youtu.be/WiPp9YEBV0Q?si=vST86iObqjxZGNdP
另一个则是
rust阵营想帮DMA加入一个好用的rust版本DMA API
然後被owner打枪 不是技术上的理由
而是owner拒绝C语言以外的MR
这个事情烧到
苹果M系列porting给Linux的maintainer
後面退出kerner的maintainer
可见烧得有多大
--------------------------------------------------
这边作者说的
rust result<T,E> + match
这种机制
对比c语言的手动确认
根本上可以避免很多难以预期的事情发生
https://i.postimg.cc/FzLgpyBb/image.png
这边用chatgpt产生一些pseudo code
C:
struct inode *
iget_locked(struct super_block *sb, unsigned long ino) {
struct inode *inode;
inode = find_inode(sb, ino);
if (inode) {
return inode;
}
inode = alloc_inode();
if (!inode) {
return NULL;
}
inode->state = I_NEW;
if (init_inode(inode)) {
unlock_new_inode(inode);
return inode;
} else {
iget_failed(inode);
return NULL;
}
}
Rust:
fn
get_or_create_inode(&self, ino: Ino)
-> Result <
Either<
ARc< INode<T> >, inode::New<T>
>,
Error
>
{
if let Some(inode) = self.find_inode(ino) {
return Ok(Either::Right(inode));
}
let new_inode = inode::New::new(ino)?;
// 新 inode 需要初始化
Ok(Either::Left(new_inode))
}
注:
各位想想看
自己debug的时候打的patch
几成是在code的某段加个if/else
来处理没预期到的scenario
(x)
补充
什么是正确的错误处理方法
https://youtu.be/_p0SgfajQFo?si=VOqQdMW2ehH1JCi8
---------------------------------------------------
以上大概是内容 也希望抛砖引玉
希望版上的Linux高手
能来分享看法
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 211.76.58.247 (台湾)
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Linux/M.1748767698.A.3A2.html
※ 编辑: dzwei (211.76.58.247 台湾), 06/01/2025 18:51:17
1F:推 goodyW: 这件事演到後面linus有出来说话,後续就当成小说看吧 06/01 21:16
Linus回覆的那句 其实已经定锚了
後续也没什麽好看了XD
※ 编辑: dzwei (211.76.58.247 台湾), 06/01/2025 22:56:13
2F:→ saxontai: 又一个在推广原子能的?XD 06/02 00:25
一些该作者的内容不能完全认同
但针对本文的事
我觉得说得很好R
3F:推 Bencrie: 这不就常见的政治问题吗 XD 06/02 01:21
另一个让我没想到的是
Linus脾气真的收不少
整个变得很圆滑(政治意味)
※ 编辑: dzwei (211.76.58.247 台湾), 06/02/2025 01:38:47
4F:推 nthank: Linus年纪大後脾气真的好不少 06/02 10:55
5F:推 drm343: 老话一句,问问洛克希德 ada 怎麽被 c/c++ 取代的,再来 06/02 11:20
6F:→ drm343: 说 rust 比较好 06/02 11:20
7F:嘘 brli7848: 骗点击?都是「说书系」简体,有看的必要吗? 06/02 17:59
8F:嘘 Aozakitouko: 连发文都不转繁体?然後泛论一些早就已知的东西?洗 06/02 18:00
9F:→ Aozakitouko: 文章也不是这样的吧? 06/02 18:00
10F:嘘 tonytonyjan: 洗文 06/03 10:29
11F:推 CityRanger: 姆z 多洗点 这版太冷清 06/03 12:13
12F:→ leolarrel: 在科技业搞了2x年,只能说年轻时以为自己是风,懂了事後 06/04 10:10
13F:→ leolarrel: 大家都是草 06/04 10:11
14F:推 intotherain: 宗教问题 06/11 14:43
15F:推 Gold740716: 不过那个 rust 泛型签名也太华丽 06/11 22:26
16F:推 cancelpc: YT上技术就少,内容自己判断 07/24 07:38
17F:→ cancelpc: 跟书一样,现在正体资源多吗? 07/24 07:39