Hi everybody,
so, I would like us to finally solve the last piece on how to react on
channel resets from the kernel side, as this would solve this nasty
"Xorg freezes allthough killing the causing application unfreezes it"
issue.
I have some WIP code which works pretty well if the application isn't
listening to vblank events (like glamor or wayland compositors do) and
whenever mesa gets notified about a dead channel, it would either
simply crash or invoke the robustness callbacks to prevent the
application from doing anything stupid after the channel was reset on
the kernel side.
patches are here:
nouveau: https://github.com/karolherbst/nouveau/commits/reset_ntfy
libdrm: https://github.com/karolherbst/drm/commits/ctx_reset
mesa: https://github.com/karolherbst/mesa/commits/reset_notfy_to_upstream
This issue is really pressing as it annoys some users as this issue is
very stupid do begin with, because it forces to hard shutdown the
machine allthough there is no real need for it, risking data looses
and so on. If any of you have better suggestions on how to fix it with
the current kernel code, please go ahead. I would like to have a
solution which we can easily use on top of already release kernels or
stable releases, so there is no dependency on newer kernels/interfaces
at all.