"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. Intel Haswell HD Graphics 4600 vs. AMD Radeon Graphics On Linux
  2. Intel Haswell HD Graphics 4600 Performance On Ubuntu Linux
  3. Intel Core i7 4770K "Haswell" Benchmarks On Ubuntu Linux
  4. The First Experience Of Intel Haswell On Linux
Latest Software Articles
  1. Optimized Binaries Provide Great Benefits For Intel Haswell
  2. 11-Way Linux, BSD Platform Comparison
  3. SNA Acceleration Works Great For Intel Core i7 Haswell
  4. The Linux Evolution For Intel Haswell's Performance
Latest Linux News
  1. KDE's KWin Made Lots Of Progress In 4.11
  2. Ubuntu Announces Carrier Advisory Group
  3. Qt 5.1 Release Candidate 1 Has Arrived
  4. In-Fighting Continues Over Mir On Non-Unity Ubuntu
  5. Subversion 1.8 Presents New Features
  6. LLVM 3.3 Officially Released
  7. LLVM/Clang Now Uses Loop Vectorizer At New Levels
  8. Intel GPU Driver Tries To Rip Out FBDEV Support
  9. Coreboot Doing AMD USB 3.0, Q35 QEMU Emulation
  10. VP9 Codec Now Enabled By Default In Chrome
  11. openSUSE 13.1 M2 Plays On PulseAudio 4.0
Latest Forum Talk
  1. In-Fighting Continues Over Mir On Non-Unity Ubuntu
  2. Ubuntu Announces Carrier Advisory Group
  3. VP9 Codec Now Enabled By Default In Chrome
  4. Intel GPU Driver Tries To Rip Out FBDEV Support
  5. Handbrake 0.9.9 Supports OpenCL Offloading
  6. Planetary Annihilation Plans To Come To Linux
  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