Repository navigation
Conversation
Contributor
crystarm
force-pushed
the
fix/external-semaphore-submission-check
branch
from
October 20, 2026 14:35
33cdbc5 to
edff09d
Compare
This branch has not been deployed
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.
Follow-up to #23399.
Fixes #23549.
Summary
The regular-command-list external semaphore tests currently infer that the preceding batch was submitted by polling a shared-USM marker written by a kernel. This indirect check has failed sporadically in the Linux DG2 postcommit configuration.
Replace the marker polling with direct checks of the Level Zero submission trace. The existing semantic checks remain in place to verify that the external semaphore wait stays incomplete before the native semaphore is signaled and completes afterwards.
Changes
zeCommandQueueExecuteCommandListsfor the Level Zero v1 adapter;zeCommandListImmediateAppendCommandListsExpfor the Level Zero v2adapter.
aspect-usm_shared_allocationsrequirement.The two submissions distinguish the intended behavior from a wait left in an open batch: one submission flushes the preceding command list and another submits the external semaphore wait.
Validation
Tested locally on Intel Iris Xe Graphics (ADL-P) with NEO
1.17.39758+10:clang-format --dry-run --Werror: PASSgit diff --check: PASSThe test was also mutation-tested by allowing the Level Zero v1 external semaphore wait to be batched. The test failed as expected because only one
zeCommandQueueExecuteCommandListscall occurred between the trace markers. After restoring the non-batchable behavior, the test passed.The D3D12 variant could not be executed locally because the test host runs Linux.