Linus 开喷谷歌内核贡献者:你的代码是垃圾!网友:我们熟悉的 Linus 回来了

发布时间:2024-02-02 来源:水肥一体化

  近年来脾气愈发温和的 Linus Torvalds,刚刚在 Linux 内核邮件列表中发布一篇措辞最为激烈的帖子,矛头直指谷歌一位贡献者关于文件系统的建议。

  引发 Linus 愤怒情绪的导火索正是 inodes,即索引节点。根据红帽给出的定义,inodes 是“给定文件系统上特定元数据片段的唯一标识符”。

  过去几周以来,inodes 在 Linux 内核邮件列表上引发了广泛争论,其中谷歌员工 Steven Rostedt 与 Linus 甚至就此事展开了激烈对抗。在题为《保证所有文件和目录都拥有相同 inodes》的帖子中,作者觉得在使用 tar 归档文件时,inodes 仍可发挥作用。但 Linus 则反驳称 inodes 早已过时。

  Linus 指出,“没错,inodes 曾经地位特殊且拥有历史传承。但总的来看,我们应当努力摆脱这段破碎的历史。Indoes 编号不再作为唯一的描述符。现在已经不是 20 世纪 70 年代,如今的文件系统早已出现重大转变。”

  但关于 inodes 的争论仍未平息。Rostedt 最终建议称,所有 inodes 都应拥有唯一编号。

  Steven 于 1998 年开始研究 Linux 内核,并于 2001 年成为一名专业(付费)内核研发人员。目前,Steven Rostedt 是谷歌内核的开发者,也是 VMware 的开源程序员,负责维护 Linux 内核的实时稳定版本等。Rostedt 是 PREEMPT_RT 补丁的原始开发者之一,并于 2004 年开始研究该补丁,目标是将 Linux 转变为实时设计的操作系统。他也是内部跟踪工具 Ftrace 的主要作者、研发人员和维护者,该工具旨在帮助研发人员查找内核内部发生的情况。根据 Ftrace wiki,该工具可用于调试或分析用户空间之外发生的延迟和性能问题。

  2018 年,在向 Linux 程序员和项目贡献者们就“邮件中的轻率攻击”道歉之后,Linus 曾宣布要休息一下并寻求帮助,并承认这种粗暴的反应“既不专业,也没有必要。我把技术上的争论当成了个人恩怨……我知道这样不好,真的很抱歉。”

  Linus 之所以诚恳致歉,是因为 Linux 内核邮件列表其实是众多项目贡献者的共同工作场所。辱骂性帖子显然会破坏轻松愉快的工作氛围。毕竟 Linux 的发展还要仰仗于这些志愿贡献者和维护者,恶言恶语恐怕会损害项目的未来发展。

  在回应 Rostedt 关于唯一 inodes 编号的建议时,Linus 先是表示“如非必要,勿增复杂性。”

  “我真的服了,别再照搬 VFS 层函数了。这玩意当初就有问题,现在一样要出问题。我不想讨论这种废话。”

  Linus 对 Rostedt 的批评意见,大多分布在在这位谷歌开发者对讨论主题存在理解偏差——Rostedt 本人后来也承认了这一点。

  你直接照搬了这条函数,却不理解它为何会有相应的效果,这样的代码纯属垃圾。 真让人心累。

  争论持续一段时间以后,Linus 开始以冷静的证据提出了更好的方法,希望解决 Rostedt 所关切的问题。这位写道,他倒不打算立刻跟进这件事,因为“我在这事上已经浪费了很多时间,手头还有不少亟待解决的工作,所以暂时就先放一放。”

  讽刺的是,我也有拖着没做完的工作,就是为 eventfs 的维护者倦怠支持小组编写文档!

  不难看出,Rostedt 言外之意是——你忙,我也忙,说的好像谁不忙似的。

  尽管引起了风波,但 Linus 也带来了令人振奋的好消息:Linux 内核 6.8-rc2 版本已首次亮相。

  Linus 指出,rc1 中存在“一个 amdgpu 调度错误,可能会引起桌面挂起(最终能恢复,但需要等待足够长的超时,所以大多数用户可能会选择重新再启动)。”

  “总之,随着 rc2 版本逐渐趋于稳定,不少可能会影响众多测试人员的问题正逐步得到解决。所以希望后续我们能修复掉更多很复杂、不涉及常见核心设置的问题。”

  当然,Linus 大佬在内核开发领域绝对靠谱,但在项目管理和沟通方面恐怕还值得商榷……

  然而,大家似乎已经适应了这位 Linux“独裁者”的暴脾气,甚至有网上的朋友表示,看不到 Linus Torvalds 怼人,失去了很多快乐。

  2013 年,Intel 公司的内核研发人员 Sarah Sharp 称 Torvalds 的行为是不专业的,称 Torvalds“主张进行人身恐吓和暴力行为。”Torvalds 随后指责 Sharp 把自己描述成受害者博取同情,不接受任何劝他应该改变的建议。

  2015 年底,Sarah Sharp 宣布退出(Closing a door)内核社区。Sarah Sharp 当时说道,过去一年多时间她已经逐步终止了手中的各项社区工作,转交了 USB 3.0 主控制器驱动的维护工作,不再担任开源会议的内核协调员。她不再递交任何补丁和 bug 报告,不再向内核邮件列表写任何的建议。她声称,Linux 内核社区的互动是一种“潜在有毒的背景辐射”,充满了性别歧视、语言暴力和不尊重人。

  Torvalds 最终也意识到他的言行会伤害到社区发展。2018 年,他决定休假并反思自己的行为。但反思过后,该喷还是要喷。

  事情的起因是 Linus Torvalds 对 Intel 的 Advanced Vector Extensions 512(AVX-512)指令集提出了一些激进的看法,称其为“功率病毒”,其创建目的单纯只是为了使 Intel 公司的 CPU 硬件在基准测试中跑分更高。当然,Linus 也坦承了自己“脾气暴躁”,并且表示对 Intel 确实“有偏见”。

  AVX-512 是 Intel 公司在 2013 年发布的一套扩展指令集,其指令宽度扩展为 512 bit,每个时钟周期内可执行 32 次双精度或 64 次单精度浮点(FP)运算,专对于图像 / 音视频处理、数据分析、科学计算、数据加密和压缩和深度学习等大规模运算需求的应用场景。

  Linus 认为 Intel 为了更好的提高 CPU 的性能跑分,强行在 CPU 中塞入了像 AVX-512 这样的东西,导致 CPU 内核臃肿,为提升少数特定使用场景下的运算性能而影响了大部分普通用户的使用体验。

  “我希望 AVX-512 赶紧“去死”(dies a painful death),这样 Intel 就能开始解决实际的问题,而不是去尝试创造这些花里胡哨的指令集,然后围绕它们做一些自欺欺人的基准测试。 我希望 Intel 能够返璞归真:让他们的进程再次正常运行,更多地专注于提升用户基本体验的常规代码,而不是纠结于所谓的高性能运算或一些毫无意义的特殊情况下才会出现的问题。

  《ChatGPT:人类新纪元》书籍作者马占凯是“搜狗输入法之父”,现任美团光年产品经理,被王兴称为“美团光年首席 AGI 布道师”。

  作为 ChatGPT 的科普读物,包含了深入浅出的常识性的普及,以及对AI相关历史的概述和推演等,其中还有很多有趣鲜活的故事,很好读,价值高。

  同时,我们特地邀请到了马占凯老师,和你一起聊聊 AI 热门话题,希望能带给你一些思考。

  周三 19:30(1 月 31 日)锁定极客时间 APP,期待与你共学!