performance: Disable ULLS if Power Hints are set to 100 (max)

Related-To: NEO-14763, HSD-16026432518

Signed-off-by: Arek G <arkadiusz.grubba@intel.com>
This commit is contained in:
Arek G
2025-05-09 17:58:55 +00:00
committed by Compute-Runtime-Automation
parent 197727c408
commit db84fc713c
5 changed files with 85 additions and 3 deletions

View File

@@ -64,7 +64,8 @@ bool OsContext::ensureContextInitialized(bool allocateInterrupt) {
}
bool OsContext::isDirectSubmissionAvailable(const HardwareInfo &hwInfo, bool &submitOnInit) {
bool enableDirectSubmission = this->isDirectSubmissionSupported();
bool enableDirectSubmission = this->isDirectSubmissionSupported() &&
this->getUmdPowerHintValue() < NEO::OsContext::getUmdPowerHintMax();
if (debugManager.flags.SetCommandStreamReceiver.get() > 0) {
enableDirectSubmission = false;

View File

@@ -55,6 +55,8 @@ class OsContext : public ReferenceTrackedObject<OsContext> {
bool &startOnInit,
bool &startInContext);
virtual void reInitializeContext() {}
inline static constexpr uint8_t getUmdPowerHintMax() { return NEO::OsContext::powerHintMax; }
uint8_t getUmdPowerHintValue() { return powerHintValue; }
void setUmdPowerHintValue(uint8_t powerHintValue) { this->powerHintValue = powerHintValue; }
@@ -120,6 +122,7 @@ class OsContext : public ReferenceTrackedObject<OsContext> {
bool contextInitialized = false;
bool debuggableContext = false;
uint8_t powerHintValue = 0;
static constexpr inline uint8_t powerHintMax = 100u; // by definition: 100% power-saving
bool isContextGroup = false;
const OsContext *primaryContext = nullptr;