Repository navigation
[rocjitsu] Coalesce command processor stall retries - #12697
Conversation
❌ PR Check — Action Required
📖 Need help? See the Policy FAQ for details on every check and how to fix failures. |
|
🚫 Please fix the failed policies before requesting reviews. The following policy checks failed:
The |
There was a problem hiding this comment.
Copilot review overview
🟢 Approval recommended
No blocking issues remain, and targeted verification supports bounded retry retention under repeated deadline resets.
Review effort: Balanced
Findings: None
What changed in this PR
Coalesces AMDGPU command-processor stall retries to prevent event multiplication and excessive host-memory use while preserving prompt wakeups.
Changes:
- Tracks one active retry deadline and ignores superseded callbacks.
- Resets backoff for runnable work and invalidates retries at shutdown.
- Adds regression coverage for blocked queues, completion wakeups, and service timing.
| File | Description |
|---|---|
emulation/rocjitsu/tests/pm4_compute_queue_test.cpp |
Tests bounded retries and prompt PM4 queue progress. |
emulation/rocjitsu/tests/amdgpu_vm_test.cpp |
Tests earlier rechecks for fresh AQL stalls. |
emulation/rocjitsu/lib/rocjitsu/src/rocjitsu/vm/amdgpu/command_processor.h |
Adds retry deadline and generation state. |
emulation/rocjitsu/lib/rocjitsu/src/rocjitsu/vm/amdgpu/command_processor.cpp |
Implements coalescing, wakeup resets, and shutdown invalidation. |
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
Keep one pending retry for blocked command streams. Multiple queues and retry sites otherwise multiply doorbell events, delaying shader progress and exhausting host memory. A Mesa Crysis replay on gfx1100 accumulated 680 million queued events. Cover persistent dependencies on two PM4 queues and completion after they become ready.
a3d02cd to
156113d
Compare
TheRock Submodule Bump ActivityNewest first
|
Keep one pending retry for blocked command streams. Multiple queues and retry sites otherwise multiply doorbell events, delaying shader progress and exhausting host memory.
A Mesa Crysis replay on gfx1100 accumulated 680 million queued events. Cover persistent dependencies on two PM4 queues and completion after they become ready.