mirror of
https://github.com/intel/compute-runtime.git
synced 2026-01-04 23:56:39 +08:00
feature: debug flag to change ULLS BCS timeout
Related-To: HSD-18040119232 Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
This commit is contained in:
committed by
Compute-Runtime-Automation
parent
ac9386e190
commit
9d76158c1f
@@ -31,7 +31,7 @@ using SteadyClock = std::chrono::steady_clock;
|
||||
struct TimeoutParams {
|
||||
std::chrono::microseconds maxTimeout;
|
||||
std::chrono::microseconds timeout;
|
||||
int timeoutDivisor;
|
||||
int32_t timeoutDivisor;
|
||||
bool directSubmissionEnabled;
|
||||
};
|
||||
|
||||
@@ -40,6 +40,12 @@ struct WaitForPagingFenceRequest {
|
||||
uint64_t pagingFenceValue;
|
||||
};
|
||||
|
||||
enum class TimeoutElapsedMode {
|
||||
notElapsed,
|
||||
bcsOnly,
|
||||
fullyElapsed
|
||||
};
|
||||
|
||||
class DirectSubmissionController {
|
||||
public:
|
||||
static constexpr size_t defaultTimeout = 5'000;
|
||||
@@ -98,7 +104,8 @@ class DirectSubmissionController {
|
||||
size_t getTimeoutParamsMapKey(QueueThrottle throttle, bool acLineStatus);
|
||||
|
||||
void handlePagingFenceRequests(std::unique_lock<std::mutex> &lock, bool checkForNewSubmissions);
|
||||
MOCKABLE_VIRTUAL bool timeoutElapsed();
|
||||
MOCKABLE_VIRTUAL TimeoutElapsedMode timeoutElapsed();
|
||||
std::chrono::microseconds getSleepValue() const { return std::chrono::microseconds(this->timeout / this->bcsTimeoutDivisor); }
|
||||
|
||||
uint32_t maxCcsCount = 1u;
|
||||
std::array<uint32_t, DeviceBitfield().size()> ccsCount = {};
|
||||
@@ -113,7 +120,8 @@ class DirectSubmissionController {
|
||||
SteadyClock::time_point lastTerminateCpuTimestamp{};
|
||||
std::chrono::microseconds maxTimeout{defaultTimeout};
|
||||
std::chrono::microseconds timeout{defaultTimeout};
|
||||
int timeoutDivisor = 1;
|
||||
int32_t timeoutDivisor = 1;
|
||||
int32_t bcsTimeoutDivisor = 1;
|
||||
std::unordered_map<size_t, TimeoutParams> timeoutParamsMap;
|
||||
QueueThrottle lowestThrottleSubmitted = QueueThrottle::HIGH;
|
||||
bool adjustTimeoutOnThrottleAndAcLineStatus = false;
|
||||
|
||||
Reference in New Issue
Block a user