performance: set 1ms ulls timeout on linux

Related-To: NEO-13843

Signed-off-by: Szymon Morek <szymon.morek@intel.com>
This commit is contained in:
Szymon Morek
2025-09-18 09:56:39 +00:00
committed by Compute-Runtime-Automation
parent 04ad429e58
commit 8ae49b17ae
6 changed files with 27 additions and 27 deletions

View File

@@ -49,7 +49,11 @@ DirectSubmissionController::~DirectSubmissionController() {
void DirectSubmissionController::registerDirectSubmission(CommandStreamReceiver *csr) {
std::lock_guard<std::mutex> lock(directSubmissionsMutex);
directSubmissions.insert(std::make_pair(csr, DirectSubmissionState()));
this->overrideDirectSubmissionTimeouts(csr->getProductHelper());
uint64_t timeoutUs = this->timeout.count();
uint64_t maxTimeoutUs = this->maxTimeout.count();
csr->getProductHelper().overrideDirectSubmissionTimeouts(timeoutUs, maxTimeoutUs);
this->timeout = std::chrono::microseconds(timeoutUs);
this->maxTimeout = std::chrono::microseconds(maxTimeoutUs);
}
void DirectSubmissionController::unregisterDirectSubmission(CommandStreamReceiver *csr) {

View File

@@ -100,7 +100,6 @@ class DirectSubmissionController {
bool isCopyEngineOnDeviceIdle(uint32_t rootDeviceIndex, std::optional<TaskCountType> &bcsTaskCount);
MOCKABLE_VIRTUAL bool sleep(std::unique_lock<std::mutex> &lock);
MOCKABLE_VIRTUAL SteadyClock::time_point getCpuTimestamp();
MOCKABLE_VIRTUAL void overrideDirectSubmissionTimeouts(const ProductHelper &productHelper);
void recalculateTimeout();
void applyTimeoutForAcLineStatusAndThrottle(bool acLineConnected);

View File

@@ -14,7 +14,4 @@ bool DirectSubmissionController::sleep(std::unique_lock<std::mutex> &lock) {
return NEO::waitOnConditionWithPredicate(condVar, lock, getSleepValue(), [&] { return !pagingFenceRequests.empty(); });
}
void DirectSubmissionController::overrideDirectSubmissionTimeouts(const ProductHelper &productHelper) {
}
} // namespace NEO

View File

@@ -7,7 +7,6 @@
#include "shared/source/direct_submission/direct_submission_controller.h"
#include "shared/source/helpers/sleep.h"
#include "shared/source/os_interface/product_helper.h"
#include "shared/source/os_interface/windows/sys_calls_winmm.h"
#include <chrono>
@@ -20,12 +19,4 @@ bool DirectSubmissionController::sleep(std::unique_lock<std::mutex> &lock) {
return returnValue;
}
void DirectSubmissionController::overrideDirectSubmissionTimeouts(const ProductHelper &productHelper) {
uint64_t timeoutUs = this->timeout.count();
uint64_t maxTimeoutUs = this->maxTimeout.count();
productHelper.overrideDirectSubmissionTimeouts(timeoutUs, maxTimeoutUs);
this->timeout = std::chrono::microseconds(timeoutUs);
this->maxTimeout = std::chrono::microseconds(maxTimeoutUs);
}
} // namespace NEO