Test e debug della route TDR durante lo sviluppo del driver

Questo articolo fornisce strategie di test e debug TDR (timeout detection and recovery) per gli sviluppatori di driver di visualizzazione.

Test TDR in WHLK

Windows Hardware Lab Kit (WHLK) contiene test specifici della TDR che gli sviluppatori di driver possono usare per scopi di test e debug. Ad esempio, gli sviluppatori possono attivare manualmente un TDR gpu usando il TDR SimulatePreemption. Per altre informazioni sui vari test correlati alla TDR, vedere Device.Graphics .

Chiavi del Registro di sistema TDR per il test e il debug

Gli sviluppatori possono usare le chiavi del Registro di sistema correlate al TDR seguenti per scopi di test o debug solo durante il processo di sviluppo dei driver.

Importante

Queste chiavi del Registro di sistema non devono essere modificate dagli utenti finali o da applicazioni esterne a test o debug di destinazione durante lo sviluppo del driver.

TdrLevel

Specifica il livello iniziale di ripristino.

KeyPath   : HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\GraphicsDrivers
KeyValue  : TdrLevel
ValueType : REG_DWORD
ValueData : TdrLevelXxx (see the following table)

Dove TdrLevelXxx può essere uno dei valori seguenti:

Valore Significato
TdrLevelOff (0) Rilevamento disabilitato
TdrLevelBugcheck (1) Controllo dei bug in caso di timeout rilevato; ad esempio, nessun ripristino.
TdrLevelRecoverVGA (2) Ripristino in VGA (non implementato).
TdrLevelRecover (3) Ripristino in caso di timeout (valore predefinito).

TdrDelay

Specifica il numero di secondi che la GPU può ritardare la richiesta di precedenza dall'utilità di pianificazione GPU. TdrDelay è in effetti la soglia di timeout.

KeyPath   : HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\GraphicsDrivers
KeyValue  : TdrDelay
ValueType : REG_DWORD
ValueData : Number of seconds to delay. The default value is 2 seconds.

TdrDdiDelay

Specifica il numero di secondi che il sistema operativo consente ai thread di lasciare il driver. Dopo un determinato periodo di tempo, il sistema operativo controlla il computer con il codice VIDEO_TDR_FAILURE (0x116).

KeyPath   : HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\GraphicsDrivers
KeyValue  : TdrDdiDelay
ValueType : REG_DWORD
ValueData : Number of seconds to leave the driver. The default value is 5 seconds.

TdrDebugMode

Specifica il comportamento correlato al debug del processo TDR. Il valore predefinito è TDR_DEBUG_MODE_RECOVER_NO_PROMPT, che indica di non eseguire l'interruzione nel debugger.

KeyPath   : HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\GraphicsDrivers
KeyValue  : TdrDebugMode
ValueType : REG_DWORD
ValueData : TDR_DEBUG_MODE_XXX (see the following table)
Valore Significato
TDR_DEBUG_MODE_OFF (0) Interrompere il debugger del kernel prima del ripristino per consentire l'analisi del timeout.
TDR_DEBUG_MODE_IGNORE_TIMEOUT (1) Ignorare qualsiasi timeout.
TDR_DEBUG_MODE_RECOVER_NO_PROMPT (2) Ripristinare senza interrompere il debugger (valore predefinito).
TDR_DEBUG_MODE_RECOVER_UNCONDITIONAL (3) Ripristinare anche se alcune condizioni di ripristino non sono soddisfatte ( ad esempio, recuperare in timeout consecutivi).

TdrLimitTime

Specifica l'ora predefinita entro la quale è consentito un numero specifico di TDR (specificato dalla chiave TdrLimitCount ) senza arrestare il computer.

KeyPath   : HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\GraphicsDrivers
KeyValue  : TdrLimitTime
ValueType : REG_DWORD
ValueData : Number of seconds before crashing. The default value is 60 seconds.

TdrLimitCount

Specifica il numero predefinito di TDR (0x117) consentiti durante il periodo specificato dalla chiave TdrLimitTime senza arrestare il computer.

KeyPath   : HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\GraphicsDrivers
KeyValue  : TdrLimitCount
ValueType : REG_DWORD
ValueData : Number of TDRs before crashing. The default value is 5.

TdrTestMode

Riservato. Non usare.

KeyPath   : HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\GraphicsDrivers
KeyValue  : TdrTestMode
ValueType : REG_DWORD
ValueData : Do not use.