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?
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
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