Linus Torvalds on Linux6.8 DRM:“严重缺乏测试”

2024年 1月 13日 71.2k 0


虽然直接渲染管理器(DRM)内核图形/显示驱动程序针对Linux 6.8进行了更新令人兴奋的包括新的英特尔“Xe”DRM和PowerVR Imagination驱动程序,AMD色彩管理属性的实验形式,Raspberry PI 5图形支持,以及更多,Linus Torvalds对一些新的Intel Xe驱动程序代码不满意。

多年来,Linus Torvalds一直以偶尔表达对图形驱动程序代码质量的不满而闻名。他是对DRM驱动程序代码质量表示失望多年来,偶尔不得不拒绝DRM代码。对于Linux6.8,他在Linux内核邮件列表上表达了对测试的失望,因为当涉及到新的Intel Xe驱动代码时,测试是“严重缺乏的”。

几分钟前,托瓦尔兹在内核邮件列表上写道:

你的测试严重不足。

这甚至都不能建造。原因似乎是COMMIT b49e894c3fd8(“DRM/i915:用ref_tracker库替换定制的英特尔运行时_PM跟踪器”)将‘intel_wakeref_t’类型从‘depot_Stack_Handle_t’更改为‘unsign long’,结果如下:

-DRM_DBG(&i915->DRM,“async_put_wakeref%un”,

+DRM_DBG(&i915->DRM,“async_put_wakeref%lun”,

POWER_DOMAINS->async_put_wakeref);

同时,Xe驱动程序具有以下功能:

Drivers/gpu/drm/xe/compat-i915-headers/intel_wakeref.h:

Tyecif bool intel_wakeref_t;

这从来都不是有效的,但是现在构建失败了,

drivers/gpu/CPU/i915/display/intel_display_power.c:在函数“print_pixec_put_domains_state”中:

Drivers/gpu/drm/i915/display/intel_display_power.c:408:29:错误:格式‘%lu’需要类型为‘LONG UNSIGNED INT’的参数,但参数5的类型为‘INT’[-WERROR=FORMAT=]

因为DRM头文件有一个恶心的东西,其中一个*头*文件包括一个*C*文件:

在./Include/drm/drm_mm.h:51包含的文件中,

来自驱动程序/GPU/DRM/xe/xe_bo_typees.h:11,

来自驱动程序/GPU/DRM/Xe/Xe_bo.h:11,

从…

./ drivers/gpu/xe/compat-i915-headers/gem/i915_gem_object.h:11,

来自./drivers/gpu/drm/xe/compat-i915-headers/i915_drv.h:15,

来自drivers/gpu/drm/i915/display/intel_display_power.c:8:

恶心

我通过修复损坏的Xe Compat头文件来构建它,但这绝对不是事情应该如何工作的。在没有任何构建测试的情况下,这怎么会影响到我呢?

为什么%^!@$%的头文件包含C文件?不管这个错误是什么,这都是错误的。

莱纳斯

与托瓦尔兹几年前的一些通信相比,这条消息相当温和,但确实提出了一些合理的问题,即这些Xe驱动程序问题是如何没有得到解决的。他的评论可以在LKML同时等待是否有开发商挺身而出做出回应。

In any event Linus has gone ahead and merged the new code for Linux 6.8. Hopefully this is just a one-off issue for the Intel Xe driver and not part of larger code quality issues.

相关文章

塑造我成为 CTO 之路的“秘诀”
“人工智能教母”的公司估值达 10 亿美金
教授吐槽:985 高校成高级蓝翔!研究生基本废了,只为房子、票子……
Windows 蓝屏中断提醒开发者:Rust 比 C/C++ 更好
Claude 3.5 Sonnet 在伽利略幻觉指数中名列前茅
上海新增 11 款已完成登记生成式 AI 服务

发布评论