[UR][CTS] Replace urEnqueueEventsWait with dummy event in waitlist tests#21671
Open
kswiecicki wants to merge 2 commits intointel:syclfrom
Open
[UR][CTS] Replace urEnqueueEventsWait with dummy event in waitlist tests#21671kswiecicki wants to merge 2 commits intointel:syclfrom
kswiecicki wants to merge 2 commits intointel:syclfrom
Conversation
a6b01d1 to
b0f0eca
Compare
InvalidNullPtrEventWaitList tests used urEnqueueEventsWait as the first operation on a queue to create a valid event for validation testing. This triggers a hang in the L0 driver when multiple test shards concurrently call zeCommandListAppendSignalEvent + zeCommandListHostSynchronize on immediate command lists. Replace with urEventCreateWithNativeHandle(0, ...) which creates a dummy event without enqueuing any work, avoiding the L0 driver concurrency issue entirely. The validation layer rejects invalid waitlist arguments before reaching the adapter, so the dummy event is sufficient for these tests.
pbalcer
reviewed
Apr 3, 2026
Comment on lines
+154
to
+156
| uur::raii::Event eventDummy = nullptr; | ||
| ASSERT_SUCCESS( | ||
| urEventCreateWithNativeHandle(0, context, nullptr, eventDummy.ptr())); |
Contributor
There was a problem hiding this comment.
This isn't equivalent to urEnqueueEventsWait. It will not wait for the preceding operations on the queue.
pbalcer
reviewed
Apr 3, 2026
Contributor
pbalcer
left a comment
There was a problem hiding this comment.
What is the actual issue in L0? Hang if zeCommandListAppendSignalEvent is immediately followed by zeCommandListHostSynchronize, when the command list is otherwise empty?
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.
InvalidNullPtrEventWaitList tests used urEnqueueEventsWait as the first
operation on a queue to create a valid event for validation testing.
This triggers a hang in the L0 driver when multiple test shards
concurrently call zeCommandListAppendSignalEvent +
zeCommandListHostSynchronize on immediate command lists.
Replace with urEventCreateWithNativeHandle(0, ...) which creates a
dummy event without enqueuing any work, avoiding the L0 driver
concurrency issue entirely. The validation layer rejects invalid
waitlist arguments before reaching the adapter, so the dummy event
is sufficient for these tests.