1. Computers
  2. Display Drivers
  3. Graphics Cards
  4. Memory
  5. Motherboards
  6. Processors
  7. Software
  8. Storage
  9. Operating Systems


Facebook RSS Twitter Twitter Google Plus


Phoronix Test Suite

OpenBenchmarking.org

GPU Lockup Recovery For The Nouveau Driver

Nouveau

Published on 23 April 2012 04:15 AM EDT
Written by Michael Larabel in Nouveau
Comment On This Article

An RFC patch-set was published this weekend for providing GPU lock-up recovery support within the Nouveau driver.

The work by Marcin Slusarz allows for detecting lock-ups by watching for time-outs (VM flush / fence), return -EIOs, handle them at the ioctl level, reset the GPU, and repeat last ioctl. The actual Nouveau GPU resetting is done by putting the NVIDIA graphics processor through its suspend / resume cycle but with CPU-only buffer object eviction, ignoring VM flush/fence time-outs, and shortening waits.

The patches can currently be found on the Nouveau mailing list under an "RFC" (Request For Comments) tag, but hopefully they will be able to move on into the mainline Nouveau kernel DRM in the near future. Depending upon the hardware, lock-ups can be a fairly common occurrence when using this open-source NVIDIA Linux graphics driver. This work comes at a time when the Nouveau driver is finally approaching a stable state after being in development for more than the past half-decade.

Over in the open-source Radeon GPU driver camp, they are currently discussing how to rework the GPU reset logic. Those discussions can be found on dri-devel. There's patches there that address multi-ring lock-ups and GPU resets plus overall improvements in case something goes badly wrong with the Radeon DRM driver. That work was done by AMD's Christian K├Ânig.

Meanwhile, the Intel DRM driver continues to recover GPU lock-ups gracefully. I've only hit a handful of lock-ups so far on Intel's about-to-be-launched Ivy Bridge hardware, but each time under Linux the graphics were quickly and properly restored.

About The Author
Michael Larabel is the principal author of Phoronix.com and founded the web-site in 2004 with a focus on enriching the Linux hardware experience and being the largest web-site devoted to Linux hardware reviews, particularly for products relevant to Linux gamers and enthusiasts but also commonly reviewing servers/workstations and embedded Linux devices. Michael has written more than 10,000 articles covering the state of Linux hardware support, Linux performance, graphics hardware drivers, and other topics. Michael is also the lead developer of the Phoronix Test Suite, Phoromatic, and OpenBenchmarking.org automated testing software. He can be followed via and or contacted via .
Latest Articles & Reviews
  1. Khronos Group Announces Vulkan, OpenCL 2.1, SPIR-V
  2. Samsung 850 EVO SSD Linux Benchmarks
  3. Kubuntu 15.04 Is Turning Out Quite Nice, Good Way To Try Out The Latest KDE
  4. 5-Way Linux Distribution Comparison On The Core i3 NUC
  5. OCZ ARC 100 Linux SSD Benchmarks
  6. Lenovo ThinkPad X1 Carbon Works Great As A Linux Ultrabook
Latest Linux News
  1. Valve Launches SteamOS Sale, Confirms A Lot Of New Linux Games
  2. Ubuntu Cloud Switches Over To Using Systemd By Default
  3. System76 Introduces The Broadwell-Powered, Ubuntu-Loaded "Meerkat"
  4. Xfce 4.12 Might Make It For Fedora 22
  5. Pictures Of The Near Production Ready Ubuntu Tablet
  6. OpenVG Support Stripped From Gallium3D
  7. Mozilla Is Getting Excited About WebGL 2
  8. ZOTAC Announces Steam Machine SN970, Powered By SteamOS
  9. Allwinner Continues Violating The LGPL
  10. AMD Gets Into VR With LiquidVR Technology
Most Viewed News This Week
  1. More Proof That Allwinner Is Violating The GPL
  2. The Tremendous Features Of Fedora 22
  3. Krita 2.9 Released, Their Biggest Release Ever
  4. Confirmed: Vulkan Is The Next-Gen Graphics API
  5. A Single UEFI Executable With The Linux Kernel, Initrd & Command Line
  6. Xfce 4.12 Released After Nearly Three Years Of Work
  7. 8cc: A Small C11 Compiler
  8. LLVM 3.6 & Clang 3.6 Deliver More Features, Complete C++14 Support