作为Linux的缔造者和最终维护者,祖师爷Linus Torvalds现在极少亲自下场去写某个具体的硬件驱动补丁了。

但就在最近,他不仅亲自出马修复了Intel Xe显卡驱动中的一个Bug,还搞出了一场“兴师动众”的大阵仗。为了揪出这个Bug,Linus折腾了24个补丁,甚至重启了18次内核!而最终的解决方案让人啼笑皆非:仅仅是把一行代码里的 round_up()(向上取整)改成了 round_down()(向下取整)。

更劲爆的是,Linus坦言:在这次堪称“地狱级”的排查中,AI可是帮了大忙,甚至连最后的Commit提交说明都是AI代笔的。此话一出,Linux开源社区瞬间炸锅了!

一场“地狱级”的显卡调试

事情的起因,是Linus在使用带有Battlemage G21核心的Intel显卡时遇到了问题。驱动程序对部分内存边界处理出现偏差,导致不该被当作可用显存分配的存储区域(CCS),被错误地暴露成了可用vRAM。

这就好比把公摊面积算成了你家客厅,硬件随时可能把数据写进禁止访问的区域。如果运气不好,这块内存恰好分给了GPU页表,那后果不堪设想;退一步说,也会引发随机数据破坏,而这次最直观的症状就是GDM显示管理器不断崩溃、无限重启。

经过艰苦卓绝的排查,Linus终于发现问题所在:代码在计算偏移量时将地址向上取整到了128KB边界,而实际上应该向下取整。所谓“修Bug十分钟,找Bug十天”,修好这行代码很简单,但找它的过程着实让人头秃。

当“摆烂AI”遇上“硬核祖师爷”

最有趣的是Linus和AI的互动过程。在这个被他称为“地狱级调试(debug session from hell)”的经历中,AI助手虽然承担了大量繁琐工作,但态度却相当“消极”。

Linus在提交记录里无情吐槽:“我本想夸它是不知疲倦的好帮手,但这AI中途好几次直接跟我摆烂,说‘这不可能、完全无解,咱们干脆直接写个报告放弃吧’。”

调皮的Linus紧接着怼了一句:“我猜,训练这玩意儿的人,绝对没有我这么倔!”

于是,这场人机结对编程变成了搞笑的“压榨”现场:AI想下班,Linus拔刀不让。他强按着AI继续写调试代码、分析运行结果,不断缩小排查范围。最终经历了24个补丁和18次内核启动后,Bug成功被消灭。因为觉得AI“没有功劳也有苦劳”,Linus还慷慨地让AI写了最终的Commit说明。

社区震怒:你为什么夸一把“菜刀”?

看到祖师爷亲自发话挺AI,开源社区的老哥们直接不淡定了,一场关于“程序员该不该夸AI”的论战瞬间爆发。

很多开发者对Linus的行为极其反感。有暴躁老哥直接开喷:“我干了半辈子编程,从没见过厨师夸菜刀好用、泥瓦匠给砖头写感谢信的。**凭什么你修个Bug就要专门表扬AI?**工具就不配被夸奖!你这简直是给AI做免费广告,我对你的敬意正在一点点消失。”

更致命的是,有人翻出了Linux内核官方的AI编码规范,当场指出Linus这是“知法犯法”!

按照规定,如果使用了AI工具辅助内核开发,必须在提交时包含 Assisted-by 标签,明确标注AI工具的全名和模型版本,并且人类提交者要对AI生成的代码负全部法律责任。而Linus整篇Commit里根本没提自己用的是哪款AI(以至于全网都在猜是哪家的大模型),说白了,Linus带头违反了Linux自己定的AI政策。

除此之外,还有人质疑Linux的质量把控(QA)流程漏洞百出,竟然让这种基础Bug混进了代码库;甚至有环保老哥跳出来指责依赖AI是在“污染水源、毒化空气”。

【编辑观察】 在这场充满火药味的争论中,我们其实能看到开源社区面对AI狂潮的一种普遍焦虑。一方面,开发者享受着AI带来的效率提升;另一方面,又对开源纯洁性被破坏以及随之而来的代码审查压力感到担忧。但不得不承认,Linus的使用方式给所有人打了个样:AI并不是会自动写程序的魔法,它也会犯迷糊、会摆烂;真正能让疑难杂症迎刃而解的,始终是那个掌握排查方向、具备判断力且“永不服输”的人类自己。