-
Maggie Chen authored
A delayed task OnWatchdogTimeout() is posted during watchdog thread init. It will continue posting the next delayed timeout task when no GPU hang is detected. A atomic counter is incremented by one in Arm() or Disarm(), and by two in ReportProgress(). When OnWatchdogTimeout() task is running, it checks if the counter increases from the last timeout (i.e still running) or if the counter is an even number (i.e. disarmed). If not, Watchdog thread will crash deliberately in order to recover from gpu hang. Bug:949839 Change-Id: Ie0e98c9e7621068a5143bf9c3a70cc8a6267955a Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1674786 Commit-Queue: Maggie Chen <magchen@chromium.org> Reviewed-by:
Antoine Labour <piman@chromium.org> Cr-Commit-Position: refs/heads/master@{#672789}
05430111