mirror of
https://github.com/intel/compute-runtime.git
synced 2025-12-21 17:29:14 +08:00
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>
20 lines
650 B
C++
20 lines
650 B
C++
/*
|
|
* 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
|