mirror of
https://github.com/intel/compute-runtime.git
synced 2026-01-03 06:49:52 +08:00
Add logic to implement following scheduler APIs -zetSysmanSchedulerGetCurrentMode -zetSysmanSchedulerGetTimeoutModeProperties -zetSysmanSchedulerGetTimesliceModeProperties -zetSysmanSchedulerSetTimeoutMode -zetSysmanSchedulerSetTimesliceMode -zetSysmanSchedulerSetExclusiveMode Change-Id: I134b200ffd6b13bc50b1f38e955dd584455b4b38 Signed-off-by: Jitendra Sharma <jitendra.sharma@intel.com>
25 lines
719 B
C++
25 lines
719 B
C++
/*
|
|
* Copyright (C) 2020 Intel Corporation
|
|
*
|
|
* SPDX-License-Identifier: MIT
|
|
*
|
|
*/
|
|
|
|
#pragma once
|
|
#include <level_zero/zet_api.h>
|
|
|
|
namespace L0 {
|
|
struct OsSysman;
|
|
class OsScheduler {
|
|
public:
|
|
virtual ze_result_t getPreemptTimeout(uint64_t &timeout) = 0;
|
|
virtual ze_result_t getTimesliceDuration(uint64_t ×lice) = 0;
|
|
virtual ze_result_t getHeartbeatInterval(uint64_t &heartbeat) = 0;
|
|
virtual ze_result_t setPreemptTimeout(uint64_t timeout) = 0;
|
|
virtual ze_result_t setTimesliceDuration(uint64_t timeslice) = 0;
|
|
virtual ze_result_t setHeartbeatInterval(uint64_t heartbeat) = 0;
|
|
static OsScheduler *create(OsSysman *pOsSysman);
|
|
virtual ~OsScheduler() = default;
|
|
};
|
|
|
|
} // namespace L0
|