"A Clear Example Of Why DRM Has Been Problematic"

Posted by Michael Larabel on March 24, 2011

Linus Torvalds is known to have an interesting, colorful e-mail from time to time when becoming frustrated with developers over the quality of patches or when in a very polarized technical debate. In particular, the DRM developers for the Direct Rendering Manager in the kernel (not the restrictive kind, Digital Rights Management) have received a number of critical remarks from Linus. This morning Linus has criticized a second DRM pull request for the Linux 2.6.39 kernel over one of the patches not being ready in advance.

In the past, Linus had called the initial GEM (Graphics Execution Manager) memory management patches untested crap. On the plus side, his Nouveau ranting led to the open-source NVIDIA driver being merged in late 2009. Just last year he asked what's wrong with the whole DRM crowd. Today he's frustrated (in this email) with the developers over a pull request coming in when the 2.6.39 merge window is nearly closed and it includes a DRM patch that is still being discussed.
Quite frankly, this whole discussion is a clear example of why DRM has been problematic.

Why the hell am I getting pushed stuff that is clearly not baked? It's the second week of the merge window, the stuff I'm getting should have been finalized two weeks ago, not be something that is still being discussed and that has API issues.

In other words: Why should I pull this at all?

Linus

This patch is over a VBlank problem that was reported by, and patch provided by, Ilija Hadzic. It's when using more than two displays, disconnecting one of the displays, and restarting the X Server. In such case, any application needing VBlank synchronization will be be stuck when that program is in association with the detached display. A very lengthy technical message describing the problem and proposed fix can be found in this dri-devel message by Ilija.

A discussion ensued, including some recommended improvements to Ilija's patch by the core DRM developers. With the second pull request for the DRM tree in the Linux 2.6.39 kernel, the revised patch was included. Michel Dänzer immediately commented when seeing the pull request.
This patch was still being debated yesterday, are you deliberately pushing it regardless? Once it hits mainline, it'll be pretty much set in stone.

Dave then replied that the debate seemed to be over the user-space patches and not on the kernel DRM side, so the patches went in, and the kernel interface was fine by him. Michel then said back. "The author ignored my suggestions to make the patch smaller and simpler, more maintainable and more future-proof all at once." The technical discussion continued.
Okay I've pushed this to my tree before this discussion got on my radar and I'm just catching up now.

I'll push the following patch to Linus to keep the biggest gap in the 32-bit word for future use, then we can fixup the userspace patches.

Kernel interfaces aren't considered unchangeable usually on the kernel is released.

As said by Dave this morning. Michel still prefers further work, but Ilija Hadzic is now updating his user-space (libdrm) patches today. Linus then interjected with his message being rightfully frustrated over this last-minute, unsettled work. Ilija Hadzic responded to Linus saying the patch is ready.

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. GCC 4.8.0 vs. LLVM Clang 3.3 Compiler Performance
  2. Intel Linux OpenGL Driver Leading Over Apple OS X
  3. The Cost Of Ubuntu Disk Encryption
  4. Btrfs vs. EXT4 vs. XFS vs. F2FS On Linux 3.10
Latest Linux News
  1. A New X.Org-Free Wayland LiveCD Released
  2. Unity 8, Mir Made Progress This Week On Features
  3. LLVM Clang 3.3 RC2 Is Ready For Testing
  4. AMD RadeonSI Gallium3D Begins Simple CL Demos
  5. Intel Shows Off GNOME3-Based Tizen Shell
  6. Linux Desktop Security Could Be A Whole Lot Better
  7. KDE 4.11 Will Be The Last Major KDE4 Workspaces Feature Release
  8. New NVIDIA Linux Driver Supports The GeForce GTX 780
  9. Chrome 28 To Offer More Speed Improvements
  10. Digia Announces "Boot To Qt" Project
  11. X.Org Libraries Hit By Round Of Security Issues
Latest Forum Talk
  1. Jolla Announces Their First Phone
  2. Steam: No used games...
  3. AMD RadeonSI Gallium3D Begins Simple CL Demos
  4. KDE 4.11 Will Be The Last Major KDE4 Workspaces...
  5. Intel Shows Off GNOME3-Based Tizen Shell
  6. Openbenchmarking.org (again) issue
  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