Repository navigation
test(agc): give the store idle results test the deadline its siblings use - #7992
adriadam10 merged 2 commits into
Conversation
… use agc_driver_store_idle_results waits 2 s after its submission for the stored texels (and, with --idle-epoch-wake, for the pending storage results). That window also holds the driver start and the compute program's compilation at dispatch (ANYPS5_NO_SHADER_CACHE=1), so on a loaded host the result arrives after the deadline: alone it takes about 350 ms on an RTX 5060 Ti, with 8 concurrent instances about 2.0-2.1 s, with 16 about 4.3 s and with 24 about 6.4 s. Wait 10 s, as the other execution tests that wait on a deadline after Submit do. The driver is not changed.
MarcZX10
left a comment
There was a problem hiding this comment.
The current Tested section says tools/pr_overlap.py reports no overlap, but the PR already has an overlap report identifying shared StoreIdleResults.cpp lines 113–122 with open #7535. I compared the current heads against main: their combined tree is clean, and the changes are distinct (timeout length versus the async queue wake fixture), but both touch the same test flow. Please correct the overlap statement and record the coordination/combined validation; add a dependency only if the merge order is actually required. I’m holding a formal approval until the PR description matches the current overlap result.
|
@MarcZX10 thanks, you're right: the overlap statement was wrong, and I've corrected the Tested section. Merging both heads onto current With that resolution, on Intel Arc (MTL) with Mesa 26.0.8 ANV:
No merge order is required, so I left |
…store-idle-results-deadline
|
Checked the two 2 s waits in |
What
agc_driver_store_idle_resultsfails on a loaded host withAGC graphics: the queue-idle store did not bring the result to guest memory without a direct flush or further submission. It waits 2 s after its submission for the stored texels, and with--idle-epoch-wakealso 2 s for the pending storage results. That window also holds the driver start and the compute program's compilation at dispatch (ANYPS5_NO_SHADER_CACHE=1), so the time grows with the load on the host, not with a driver timer. Measured from the store to the texels reaching guest memory on an RTX 5060 Ti, with N instances started at once:The other execution tests that wait on a deadline after
Submitgive it 10 s (AliasCopyLabel,PipelinedDispatch,PipelinedDma,PreparedShaders,StoreOverUntracked,UnimportedLabelOrder,FlipStoresSmallResultsfrom #7774, among others). Both waits here now use 10 s. The driver is not changed.Tested
Ubuntu 26.04.1, kernel 7.0.0-38, GCC 15.2.0, Release, full build with
BUILD_TESTING=ON.ctest -j12run onmainthe test failed once and passed when run alone.main, 24 of 24 pass with this change. 16 at once: 16 of 16 pass with this change, with and without--idle-epoch-wake(onmain,--idle-epoch-wakepassed 4 of 8 at 8 instances and 0 of 16 at 16, stopping atidle wake fixture did not observe pending storage results).ctest -R '^agc_driver_store_idle_results$' -Vonmainand on this change withANYPS5_REQUIRE_VULKAN=1,ANYPS5_NO_SHADER_CACHE=1andVK_INSTANCE_LAYERS=VK_LAYER_KHRONOS_validationon each device below: passed on both, noVUID-in either log, and neither log containswas not found but was requested by env var VK_INSTANCE_LAYERS.tools/check_conventions.py --base origin/mainpasses.tools/pr_overlap.pyreports it onStoreIdleResults.cppL113-122. fix(agc): wake queue 0 when storage results are pending #7535 moves the same wait block under its new--async-queue-wakebranch, so the two conflict textually there; the changes themselves are distinct (timeout length here, queue wake fixture there). No merge order is required: whichever lands second keeps fix(agc): wake queue 0 when storage results are pending #7535's block with this PR's 10 s waits. fix(agc): wake queue 0 when storage results are pending #7535's new 2 s wait for queue 0 to go dormant could then take the same 10 s.main524398151fwith that resolution. On Intel Arc (MTL), Mesa 26.0.8 ANV, Ubuntu 26.04.1:agc_driver_store_idle_resultsandagc_driver_store_idle_results_async_queue_wakepass withANYPS5_REQUIRE_VULKAN=1,ANYPS5_NO_SHADER_CACHE=1andVK_INSTANCE_LAYERS=VK_LAYER_KHRONOS_validation;VUID-and nowas not found but was requested by env var VK_INSTANCE_LAYERS;Checklist
main; no other open PR implements the same functionsNotImplemented_nid_no_patch); silent stubs are listed under Silent stubs in their library's technical debt file.mdfiles or images added to the repository (attach them to this PR)