mirror of
https://github.com/intel/compute-runtime.git
synced 2025-09-15 13:01:45 +08:00
Kmd notify improvements [1/n]: Quick KMD sleep optimization
- KmdNotifyProperties struct for CapabilityTable that can be extended by incoming KmdNotify related optimizations - Quick KMD sleep optimization that is called from async events handler - Optimization makes a taskCount check in busy loop with much smaller delay than basic version of KMD Notify optimization Change-Id: I60c851c59895f0cf9de1e1f21e755a8b4c2fe900
This commit is contained in:

committed by
sys_ocldev

parent
029094437a
commit
516082e7c5
@ -151,13 +151,13 @@ bool CommandQueue::isCompleted(uint32_t taskCount) const {
|
||||
return tag >= taskCount;
|
||||
}
|
||||
|
||||
void CommandQueue::waitUntilComplete(uint32_t taskCountToWait, FlushStamp flushStampToWait) {
|
||||
void CommandQueue::waitUntilComplete(uint32_t taskCountToWait, FlushStamp flushStampToWait, bool useQuickKmdSleep) {
|
||||
WAIT_ENTER()
|
||||
|
||||
DBG_LOG(LogTaskCounts, __FUNCTION__, "Waiting for taskCount:", taskCountToWait);
|
||||
DBG_LOG(LogTaskCounts, __FUNCTION__, "Line: ", __LINE__, "Current taskCount:", getHwTag());
|
||||
|
||||
device->getCommandStreamReceiver().waitForTaskCountWithKmdNotifyFallback(taskCountToWait, flushStampToWait);
|
||||
device->getCommandStreamReceiver().waitForTaskCountWithKmdNotifyFallback(taskCountToWait, flushStampToWait, useQuickKmdSleep);
|
||||
|
||||
DEBUG_BREAK_IF(getHwTag() < taskCountToWait);
|
||||
latestTaskCountWaited = taskCountToWait;
|
||||
|
Reference in New Issue
Block a user