Revert "performance: set 1ms ulls timeout on linux"

This reverts commit 0ea4b8cf9c.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
This commit is contained in:
Compute-Runtime-Validation
2025-08-20 14:04:43 +02:00
committed by Compute-Runtime-Automation
parent 49a946ffef
commit 93b2e68707
6 changed files with 27 additions and 29 deletions

View File

@@ -45,12 +45,7 @@ DirectSubmissionController::~DirectSubmissionController() {
void DirectSubmissionController::registerDirectSubmission(CommandStreamReceiver *csr) {
std::lock_guard<std::mutex> lock(directSubmissionsMutex);
directSubmissions.insert(std::make_pair(csr, DirectSubmissionState()));
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);
this->overrideDirectSubmissionTimeouts(csr->getProductHelper());
}
void DirectSubmissionController::unregisterDirectSubmission(CommandStreamReceiver *csr) {
@@ -261,5 +256,4 @@ TimeoutElapsedMode DirectSubmissionController::timeoutElapsed() {
return TimeoutElapsedMode::notElapsed;
}
} // namespace NEO

View File

@@ -91,6 +91,7 @@ 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,4 +14,7 @@ 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,6 +7,7 @@
#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>
@@ -19,4 +20,12 @@ 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

View File

@@ -573,26 +573,4 @@ TEST_F(DirectSubmissionCheckForCopyEngineIdleTests, givenCheckBcsForDirectSubmis
EXPECT_EQ(1u, ccsCsr->stopDirectSubmissionCalledTimes);
}
TEST(DirectSubmissionControllerTests, givenDirectSubmissionControllerWhenRegisterCsrsThenTimeoutIsAdjusted) {
MockExecutionEnvironment executionEnvironment;
executionEnvironment.prepareRootDeviceEnvironments(1);
executionEnvironment.initializeMemoryManager();
DeviceBitfield deviceBitfield(1);
MockCommandStreamReceiver csr(executionEnvironment, 0, deviceBitfield);
std::unique_ptr<OsContext> osContext(OsContext::create(nullptr, 0, 0,
EngineDescriptorHelper::getDefaultDescriptor({aub_stream::ENGINE_CCS, EngineUsage::regular},
PreemptionMode::ThreadGroup, deviceBitfield)));
csr.setupContext(*osContext.get());
DirectSubmissionControllerMock controller;
uint64_t timeoutUs{5'000};
EXPECT_EQ(static_cast<uint64_t>(controller.timeout.count()), timeoutUs);
controller.registerDirectSubmission(&csr);
csr.getProductHelper().overrideDirectSubmissionTimeouts(timeoutUs, timeoutUs);
EXPECT_EQ(static_cast<uint64_t>(controller.timeout.count()), timeoutUs);
controller.unregisterDirectSubmission(&csr);
}
} // namespace NEO

View File

@@ -1333,4 +1333,17 @@ HWTEST2_F(WddmDirectSubmissionTest, givenRelaxedOrderingSchedulerRequiredWhenAsk
EXPECT_EQ(expectedBaseEndSize, directSubmission.getSizeEnd(false));
}
HWTEST_F(WddmDirectSubmissionTest, givenDirectSubmissionControllerWhenRegisterCsrsThenTimeoutIsAdjusted) {
auto csr = device->getDefaultEngine().commandStreamReceiver;
DirectSubmissionControllerMock controller;
uint64_t timeoutUs{5'000};
EXPECT_EQ(static_cast<uint64_t>(controller.timeout.count()), timeoutUs);
controller.registerDirectSubmission(csr);
csr->getProductHelper().overrideDirectSubmissionTimeouts(timeoutUs, timeoutUs);
EXPECT_EQ(static_cast<uint64_t>(controller.timeout.count()), timeoutUs);
controller.unregisterDirectSubmission(csr);
}
} // namespace NEO