皇上,还记得我吗?我就是1999年那个Linux伊甸园啊-----24小时滚动更新开源资讯,全年无休!

Linux 在挂起的 GPU 上通知用户空间的新方法可能会变得更加有用

Linux 在挂起的 GPU 上通知用户空间的新方法可能会变得更加有用

上个月,我写了一篇关于计划为 Linux 6.15 添加的新代码的文章,这些代码将提供一种跨驱动程序/标准化的方法,通过挂起的 GPU 向用户空间报告。对于最初的 AMD 和 Intel 图形驱动程序,当用户空间想要采取其他措施来尝试恢复 GPU 或至少正确记录 GPU 的问题状态时,用户空间将在 GPU 挂起时通过这个新的楔形事件收到通知。现在有提议的补丁正在审查中,以进一步扩展此功能。

这种通过挂起的 GPU 向用户空间报告的标准化方式的原始用例是,可以采取额外的步骤来解决无响应的硬件问题,例如让用户空间取消绑定和重新绑定内核驱动程序或重置总线设备等。但向前发展,这个新的 GPU 楔形事件可能会变得更加有用。

KDE KWin 开发者 Xaver Hugl 已经开始试验这项新功能,他已经有一个 KWin 拉取请求草案,用于在运行时切换 Wayland 会话的渲染器,并更好地处理“严重”的 GPU 重置,并评论道

“我在 KWin 中尝试了使用它,[建议的代码] 使其在需要重新绑定以恢复 GPU 时回退到软件渲染器。使其在重新绑定中也正确地存活起来更具挑战性(当前版本的 MR 不会为您执行此作,如果您使用 udev 规则或手动执行此作,它只会崩溃),但这是可行的 – 而且不是 API 的问题。

我真的很希望触发 GPU 的客户端的 PID 重置,这样如果连续触发多个重置,我们可以杀死它(或者如果它本身是 KWin,则切换到软件渲染),并显示一个用户友好的通知,说明他们的应用程序崩溃的原因,但可以稍后添加。

咨询公司 Igalia 的 André Almeida 接受了这个想法,并发布了一个补丁集,为 GPU 楔形事件提供了该应用程序信息。此补丁系列提议添加“应用程序信息”,以便 Wayland 合成器可以以用户友好的方式显示有关可能挂起 GPU 或完全阻止它们的问题应用程序的信息。

楔形事件上的 app info 选项将报告附加进程的 PID 以及应用程序名称(如果该进程已经死亡)。然后,这可用于以用户友好的方式呈现信息,或者至少在遇到挂起的 GPU 时通过用户空间更好地进行日志记录。

这看起来将是一个有用的补充,希望它能够越过终点线(上游内核),以进一步增强楔形 GPU 事件。

转自 Linux’s New Way Of Informing User-Space Over Hung GPUs May Become More Useful – Phoronix

已有 0 条评论
已有 0 条评论
-->