GPU Lockup Recovery For The Nouveau Driver

Posted by Michael Larabel on April 23, 2012

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.

Discuss this article in our forums, IRC channel, or email the author. You can also follow our content via RSS and on social networks like Facebook, Identi.ca, and Twitter (@Phoronix and @MichaelLarabel). Subscribe to Phoronix Premium to view our content without advertisements, view entire articles on a single page, and experience other benefits.
Latest Hardware Reviews
  1. Sumo Lounge Emperor
  2. Gallium3D Continues Improving OpenGL For Older Radeon GPUs
  3. 15-Way Open vs. Closed Source NVIDIA/AMD Linux GPU Comparison
  4. Nouveau vs. NVIDIA Linux Comparison Shows Shortcomings
Latest Software Articles
  1. Intel Linux OpenGL Driver Leading Over Apple OS X
  2. The Cost Of Ubuntu Disk Encryption
  3. Btrfs vs. EXT4 vs. XFS vs. F2FS On Linux 3.10
  4. AMD Radeon R600 GPU LLVM 3.3 Back-End Testing
Latest Linux News
  1. Raspberry Pi Gets New Wayland Weston Renderer
  2. Debian GNU/Hurd 2013 Release Brings New Packages
  3. Intel Ultrabook Performance Is Faster With Mesa 9.2
  4. Hot Relocation HDD To SSD Support For Btrfs
  5. Phoronix Test Suite 4.6.0 "Utsira" Released
  6. New Intel X.Org Driver Supports All Of Haswell
  7. SQLite Now Faster With Memory Mapped I/O
  8. Microsoft Releases Skype For Linux 4.2, Has Bug-Fixes
  9. Qt For Tizen Launches, Based On Qt 5.1
  10. KTAP Released For Linux Kernel Dynamic Tracing
  11. Linux 3.10-rc2 Kernel Takes In A Few Extra Pulls
Latest Forum Talk
  1. Debian GNU/Hurd 2013 Release Brings New Packages
  2. Intel Linux OpenGL Driver Leading Over Apple OS X
  3. Raspberry Pi Gets New Wayland Weston Renderer
  4. Handbrake 0.9.9 Supports OpenCL Offloading
  5. DRM Moves Ahead With HTML5 Specification
  6. Chrome 27 Loads Web Pages Faster
  1. Computers
  2. Display Drivers
  3. Graphics Cards
  4. Motherboards
  5. Peripherals
  6. Processors
  7. Software
  8. Operating Systems
  9. All Articles
  1. Linux Benchmarking
  2. OpenBenchmarking.org
  3. Phoronix Test Suite