Repository navigation
drm/asahi: keep G17 long jobs alive beside other long jobs - #499
Merged
DjDeveloperr merged 1 commit intoOct 27, 2026
Merged
Conversation
A published job's deadline is renewed, up to thirty seconds, while some command retired within the last five seconds: the GPU is then shared, not hung. Two ray traversal dispatches side by side retire nothing until they end, though both progress. Alone each took about 6.3 s; side by side they took 10 to 17 s, past the ten seconds a long job gets without that renewal, so the watchdog failed most of them with ETIMEDOUT and their clients lost the device. Also count the GPU as shared while a long job of another queue runs beside a long job. The thirty-second bound still ends a pair that never finishes.
This was referenced Oct 27, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The G17 watchdog renews a published job's deadline, up to thirty seconds in all, while some command retired within the last five seconds: the GPU is then shared, not hung. A ray traversal dispatch beside another one gets no such renewal, because neither retires anything until it ends, even though both progress. Each gets only the ten seconds a long job has without it.
On Neo,
dEQP-VK.ray_query.stress.geometry_shader.trianglestakes about 6.3 s alone. Two copies side by side took 10 to 17 s each, and the watchdog failed 18 of 28 runs in three minutes with ETIMEDOUT. Their clients lost the device. The same timeout appears in 6-worker RT CTS runs whenever two traversal-heavy cases overlap.This change also counts the GPU as shared while a long job (ray traversal or AS build) of another queue runs beside a long job. The thirty-second bound is unchanged, so a pair that never finishes still fails.
Testing
Neo (A18 Pro), Mesa agx3 at #62's head, this commit on integration/aurora at #423's merge:
ray_query.stress.geometry_shader.{triangles,aabbs}side by side for three minutes: 24 runs, all pass, no watchdog timeouts; each took 14 to 18 s. Without this change, the same leg failed 18 of 28 runs with ETIMEDOUT.