Update zesFrequencySetRange implementation

While setting max frequency also clamp boost frequency
to max frequency.
Clamping boost frequency to max, will ensure that with workload
execution, max frequency that we are setting would not be violated.

Related-To: LOCI-3075

Signed-off-by: Jitendra Sharma <jitendra.sharma@intel.com>
This commit is contained in:
Jitendra Sharma
2022-04-22 11:57:06 +00:00
committed by Compute-Runtime-Automation
parent 54eee2a88b
commit 34028355af
6 changed files with 31 additions and 17 deletions

View File

@@ -227,7 +227,7 @@ ze_result_t LinuxFrequencyImp::setMax(double max) {
}
return result;
}
return ZE_RESULT_SUCCESS;
return pSysfsAccess->write(boostFreqFile, max);
}
ze_result_t LinuxFrequencyImp::getRequest(double &request) {
@@ -319,6 +319,7 @@ void LinuxFrequencyImp::init() {
if (pSysfsAccess->directoryExists(baseDir)) {
minFreqFile = baseDir + "rps_min_freq_mhz";
maxFreqFile = baseDir + "rps_max_freq_mhz";
boostFreqFile = baseDir + "rps_boost_freq_mhz";
requestFreqFile = baseDir + "punit_req_freq_mhz";
tdpFreqFile = baseDir + "rapl_PL1_freq_mhz";
actualFreqFile = baseDir + "rps_act_freq_mhz";
@@ -333,6 +334,7 @@ void LinuxFrequencyImp::init() {
} else {
minFreqFile = "gt_min_freq_mhz";
maxFreqFile = "gt_max_freq_mhz";
boostFreqFile = "gt_boost_freq_mhz";
requestFreqFile = "gt_cur_freq_mhz";
tdpFreqFile = "rapl_PL1_freq_mhz";
actualFreqFile = "gt_act_freq_mhz";

View File

@@ -54,6 +54,7 @@ class LinuxFrequencyImp : public OsFrequency, NEO::NonCopyableOrMovableClass {
private:
std::string minFreqFile;
std::string maxFreqFile;
std::string boostFreqFile;
std::string requestFreqFile;
std::string tdpFreqFile;
std::string actualFreqFile;

View File

@@ -245,7 +245,7 @@ ze_result_t LinuxFrequencyImp::setMax(double max) {
}
return result;
}
return ZE_RESULT_SUCCESS;
return pSysfsAccess->write(boostFreqFile, max);
}
ze_result_t LinuxFrequencyImp::getRequest(double &request) {
@@ -338,6 +338,7 @@ void LinuxFrequencyImp::init() {
minFreqFile = baseDir + "rps_min_freq_mhz";
minDefaultFreqFile = baseDir + ".defaults/rps_min_freq_mhz";
maxFreqFile = baseDir + "rps_max_freq_mhz";
boostFreqFile = baseDir + "rps_boost_freq_mhz";
maxDefaultFreqFile = baseDir + ".defaults/rps_max_freq_mhz";
requestFreqFile = baseDir + "punit_req_freq_mhz";
tdpFreqFile = baseDir + "rapl_PL1_freq_mhz";
@@ -353,6 +354,7 @@ void LinuxFrequencyImp::init() {
} else {
minFreqFile = "gt_min_freq_mhz";
maxFreqFile = "gt_max_freq_mhz";
boostFreqFile = "gt_boost_freq_mhz";
requestFreqFile = "gt_cur_freq_mhz";
tdpFreqFile = "rapl_PL1_freq_mhz";
actualFreqFile = "gt_act_freq_mhz";

View File

@@ -55,6 +55,7 @@ class LinuxFrequencyImp : public OsFrequency, NEO::NonCopyableOrMovableClass {
private:
std::string minFreqFile;
std::string maxFreqFile;
std::string boostFreqFile;
std::string minDefaultFreqFile;
std::string maxDefaultFreqFile;
std::string requestFreqFile;