SWDEV-555347 - Remove lock contention in async events loop (#878)

* SWDEV-555347 - Remove lock contention in async events loop

* SWDEV-555347 - Introduce Pool of AsyncEventItems

* create generic mempool for AsyncEventItem

* Use BaseShared allocate and free for async event pool

---------

Co-authored-by: Rahul Manocha <rmanocha@amd.com>
This commit is contained in:
Rahul Manocha
2025-10-24 08:43:00 -07:00
committed by GitHub
parent 7e20e8ec13
commit 4f075902fc
5 changed files with 451 additions and 22 deletions
@@ -168,6 +168,7 @@ void HostQueue::finish(bool cpu_wait) {
command = getLastQueuedCommand(true);
if (command == nullptr) {
ClPrint(LOG_DEBUG, LOG_CMD, "No command awaiting completion on host");
return;
}
// Force blocking wait if requested. That allows to avoid a build up of unreleased CPU commands