Skip to content

[VITIS-15472] Add io_uring changes to adf_runtime_api.cpp files#9708

Open
ManojTakasi wants to merge 1 commit intoXilinx:masterfrom
ManojTakasi:shim_bd
Open

[VITIS-15472] Add io_uring changes to adf_runtime_api.cpp files#9708
ManojTakasi wants to merge 1 commit intoXilinx:masterfrom
ManojTakasi:shim_bd

Conversation

@ManojTakasi
Copy link
Copy Markdown
Collaborator

Problem solved by the commit

Adds an optional io_uring-style async path for GMIO shim BD enqueue on edge AIE.
when enabled, BD programming uses XAie_DmaWriteBdAsync and queueing uses XAie_DmaChannelPushBdToQueueAsync, with completion handled via XAie_AsyncWaitNr, instead of the synchronous XAie_DmaWriteBd / XAie_DmaChannelPushBdToQueue sequence. This is intended to improve throughput when the AI Engine driver stack supports these async entry points.

Waiting for io_uring changes to be merged in the aie-rt repo. After that, we can merge this PR.

Bug / issue (if any) fixed, which PR introduced the bug, how it was discovered

his is a performance enhancement

How problem was solved, alternative solutions (if any) and why they were rejected

Plumb an io_uring flag through config_manager and in gmio_api::enqueueBD
async path builds the same BD fields as before, then submits with the async APIs and waits/errors consistently via a small helper around XAie_AsyncWaitNr.

Risks (if any) associated the changes in the commit

low

What has been tested and how, request additional testing if necessary

Tested on vck190 hw emulation by generating and installing the xrt package

Documentation impact (if any)

Yes. I will update the document once this PR is merged.

Signed-off-by: Takasi, Manoj <Manoj.Takasi@amd.com>
@ManojTakasi ManojTakasi added the do not merge hold off on merging label Apr 2, 2026
@github-actions
Copy link
Copy Markdown
Contributor

github-actions bot commented Apr 2, 2026

clang-tidy review says "All clean, LGTM! 👍"

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

do not merge hold off on merging

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant