"A Clear Example Of Why DRM Has Been Problematic"

Written by Michael Larabel in Linux Kernel on 24 March 2011 at 12:36 PM EDT. 8 Comments
LINUX KERNEL
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.
Related News
About The Author
Michael Larabel

Michael Larabel is the principal author of Phoronix.com and founded the site in 2004 with a focus on enriching the Linux hardware experience. Michael has written more than 20,000 articles covering the state of Linux hardware support, Linux performance, graphics drivers, and other topics. Michael is also the lead developer of the Phoronix Test Suite, Phoromatic, and OpenBenchmarking.org automated benchmarking software. He can be followed via Twitter, LinkedIn, or contacted via MichaelLarabel.com.

Popular News This Week