Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

[UR][L0v2] remove cross-queue async allocations#21320

Merged
kswiecicki merged 2 commits intointel:sycl from
pbalcer:remove-cross-queue-allocs
Feb 19, 2026
Merged

[UR][L0v2] remove cross-queue async allocations #21320
kswiecicki merged 2 commits intointel:sycl from
pbalcer:remove-cross-queue-allocs

Conversation

@pbalcer
Copy link
Contributor

@pbalcer pbalcer commented Feb 19, 2026

Queue asynchronous allocations are currently capable of taking memory
deallocated from other queues. This adds implicit synchronization,
and might lead to non-obvious performance impact on applications.
On top of that, the current implementation of this functionality
requires all deallocations to always create signal events,
potentially impacting performance in the hot path.

This patch simplifies this logic, only creating signal events when
truly required (for out-of-order queues). The downside is that
cross-queue async allocations will no longer happen implicitly.

@pbalcer pbalcer requested a review from a team as a code owner February 19, 2026 08:28
@pbalcer pbalcer force-pushed the remove-cross-queue-allocs branch from 7d9c845 to 769531f Compare February 19, 2026 09:17
@pbalcer pbalcer force-pushed the remove-cross-queue-allocs branch from 769531f to 25d19b6 Compare February 19, 2026 10:26
Queue asynchronous allocations are currently capable of taking memory
deallocated from other queues. This adds implicit synchronization,
and might lead to non-obvious performance impact on applications.
On top of that, the current implementation of this functionality
requires all deallocations to always create signal events,
potentially impacting performance in the hot path.
This patch simplifies this logic, only creating signal events when
truly required (for out-of-order queues). The downside is that
cross-queue async allocations will no longer happen implicitly.
@kswiecicki kswiecicki merged commit ebb6b65 into intel:sycl Feb 19, 2026
52 of 57 checks passed
pbalcer added a commit to pbalcer/llvm that referenced this pull request Feb 19, 2026
A recent patch intel#21320, changed how events are allocated for async
allocations. Instead of always allocating an event, we now allocate it
optionally, depending on whether user specified it. But that changed
did not update how event refcounts are updated, in the case that the
event is actually allocated. This could lead to potential
use-after-free.
This patch moves the refcount management into command list manager,
and correctly increments it when required.
pbalcer added a commit to pbalcer/llvm that referenced this pull request Feb 19, 2026
A recent patch intel#21320, changed how events are allocated for async
allocations. Instead of always allocating an event, we now allocate it
optionally, depending on whether user specified it. But that changed
did not update how event refcounts are updated, in the case that the
event is actually allocated. This could lead to potential
use-after-free.
This patch moves the refcount management into command list manager,
and correctly increments it when required.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Reviewers

@kswiecicki kswiecicki kswiecicki approved these changes

Assignees

No one assigned

Labels

None yet

Projects

None yet

Milestone

No milestone

Development

Successfully merging this pull request may close these issues.

Comments

AltStyle によって変換されたページ (->オリジナル) /