performance: Enable timestamp wait for queues on Xe2

Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
This commit is contained in:
Lukasz Jobczyk
2024-12-12 14:42:05 +00:00
committed by Compute-Runtime-Automation
parent 8151224501
commit 093d987e33
3 changed files with 8 additions and 9 deletions

View File

@@ -1332,6 +1332,8 @@ bool CommandQueue::isWaitForTimestampsEnabled() const {
auto enabled = CommandQueue::isTimestampWaitEnabled();
enabled &= gfxCoreHelper.isTimestampWaitSupportedForQueues();
enabled &= !productHelper.isDcFlushAllowed();
enabled &= !getDevice().getRootDeviceEnvironment().isWddmOnLinux();
enabled &= !this->isOOQEnabled(); // TSP for OOQ dispatch is optional. We need to wait for task count.
switch (debugManager.flags.EnableTimestampWaitForQueues.get()) {
case 0:
@@ -1371,12 +1373,9 @@ WaitStatus CommandQueue::waitForAllEngines(bool blockedQueue, PrintfHandler *pri
auto waitStatus = WaitStatus::notReady;
bool waitedOnTimestamps = false;
// TSP for OOQ dispatch is optional. We need to wait for task count.
if (!isOOQEnabled()) {
waitedOnTimestamps = waitForTimestamps(activeBcsStates, waitStatus, this->timestampPacketContainer.get(), this->deferredTimestampPackets.get());
if (waitStatus == WaitStatus::gpuHang) {
return WaitStatus::gpuHang;
}
waitedOnTimestamps = waitForTimestamps(activeBcsStates, waitStatus, this->timestampPacketContainer.get(), this->deferredTimestampPackets.get());
if (waitStatus == WaitStatus::gpuHang) {
return WaitStatus::gpuHang;
}
TakeOwnershipWrapper<CommandQueue> queueOwnership(*this);