fix: ulls controller sleep, windows

Request higher resolution for windows periodic timers for ulls
controller sleep.

Allows for controller thread to sleep with granularity of 1ms.

Related-To: NEO-10800

Signed-off-by: Dominik Dabek <dominik.dabek@intel.com>
This commit is contained in:
Dominik Dabek
2024-08-22 15:42:01 +00:00
committed by Compute-Runtime-Automation
parent dbc8baddc1
commit 6455d4648c
16 changed files with 150 additions and 12 deletions

View File

@@ -0,0 +1,20 @@
/*
* Copyright (C) 2024 Intel Corporation
*
* SPDX-License-Identifier: MIT
*
*/
#include "shared/source/direct_submission/direct_submission_controller.h"
#include "shared/source/helpers/sleep.h"
#include "shared/source/os_interface/windows/sys_calls_winmm.h"
#include <chrono>
namespace NEO {
bool DirectSubmissionController::sleep(std::unique_lock<std::mutex> &lock) {
SysCalls::timeBeginPeriod(1u);
bool returnValue = NEO::waitOnConditionWithPredicate(condVar, lock, std::chrono::microseconds(this->timeout), [&] { return !pagingFenceRequests.empty(); });
SysCalls::timeEndPeriod(1u);
return returnValue;
}
} // namespace NEO