Timeout Detection and Recovery: Difference between revisions

Content deleted Content added
No edit summary
Tags: Mobile edit Mobile web edit
Added possible causes and bsod stop codes subsection
Line 1:
'''Timeout Detection and Recovery''' or '''TDR''' is a feature of the [[Windows]] [[operating system]] (OS) introduced in [[Windows Vista]]. It detects response problems from a [[graphics card]] (GPU), and if a [[Timeout (computing)|timeout]] occurs, the OS will attempt a card reset to recover a functional and responsive [[desktop environment]]. However, if the attempt was unsuccessful, it results in the [[Blue Screen of Death]] (BSOD). ThisThe mitigatesrecovery tries to mitigate the scenario where thean end user superfluously reboots their device should it become unresponsive.<ref name=ms>{{Cite web|url=https://docs.microsoft.com/en-us/windows-hardware/drivers/display/timeout-detection-and-recovery|title=Timeout detection and recovery (TDR) - Windows drivers|author=[[Microsoft]]|access-date=2022-03-23}}</ref>
 
==Timeline==
When the GPU takes more than the allotted time to process a request, the system's GPU [[Scheduling (computing)|scheduler]] will pick up the anomaly. It then tries to [[Preemption (computing)|preempt]] the particular task, this operation has the TDR timeout.<ref name=ms/>
 
Once the timeout is up and the task is not completed or preempted, the [[Kernel (operating system)|kernel]] determines that the GPU is frozen and proceeds to inform the respective driver about the detected timeout. It is then the driver's responsibility to properly reset and reinitialize the underlying GPU.<ref name=ms/>
 
The OS will then do a bunch of other recovery steps needed for the system to regain responsiveness. If the entire operation was successful, the end user might see some visual artefacts and a message will be shown on the screen describing what had happened, else a BSOD might ensue.<ref name=ms/>
 
==Possible causes==
There are multiple probable causes should a recovery fail, causing an inevitable BSOD:<ref name=ms2>{{Cite web|url=https://learn.microsoft.com/en-us/windows-hardware/drivers/debugger/bug-check-0x116---video-tdr-failure|title=Bug Check 0x116 VIDEO_TDR_FAILURE - Windows drivers {{!}} Microsoft Learn|author=[[Microsoft]]|access-date=2022-03-23}}</ref><ref>{{Cite web|url=https://www.amd.com/en/support/kb/faq/gpu-800|title=How to Troubleshoot Timeout Detection and Recovery Errors {{!}} AMD|author=[[AMD]]|access-date=2023-03-23}}</ref>
* Outdated drivers
* GPU/Hardware issue
* Overloading the GPU
* [[Data corruption|Corrupted]] [[Application software|application]]/system files/driver
 
==BSOD stop codes==
Possible BSOD stop codes emitted if the attempted recovery failed:
* VIDEO_TDR_FAILURE (Bug check value: 0x116), recovery and resetting of display driver from a TDR timeout failed.<ref name=ms2/><ref>{{Cite web|url=https://www.howto-connect.com/blue-screen-of-death-windows-10-error-codes-list-bsod/|title=Blue Screen of Death Windows 11 and 10 Error Codes List [BSOD]|access-date=2022-03-23}}</ref>
 
==See also==
Line 18 ⟶ 29:
 
==Further reading==
*[https://docs.nvidia.com/gameworks/content/developertools/desktop/timeout_detection_recovery.htm Timeout Detection & Recovery (TDR) Nvidia]
* [https://learn.microsoft.com/en-us/windows-hardware/drivers/display/tdr-changes-in-windows-8 TDR in Windows 8 and later - Windows drivers {{!}} Microsoft Learn]
*[https://www.amd.com/en/support/kb/faq/gpu-800]