Botching up IOCTLs

Session information has not yet been published for this event.

50 Minute Talk
Scheduled: Wednesday, August 19, 2015 from 4:00 – 4:50pm in Grand Ballroom C

One Line Summary

This talk will present lessons learned while creating tons userspace interfaces for the drm subsystem and its gpu drivers.


One clear insight kernel graphics hackers gained in the past few years is that trying to come up with a unified interface to manage the execution units and memory on completely different GPUs is a futile effort. So nowadays every driver has its own set of ioctls to allocate memory and submit work to the GPU. Which is nice, since there’s no more insanity in the form of fake-generic, but actually only used-once interfaces. But the clear downside is that there’s much more potential to screw things up.

To avoid repeating all the same mistakes again this talk will present some of the lessons learned while botching the job for the drm subsystem in general and the i915 driver specifically. The presentation will cover the very basics to avoid busywork and other embarrassment later on, reasonable testing, some higher level concepts and a thicket of stories of what all went wrong thus far in the drm subsystem.


  • Bw


    Daniel Vetter is the maintainer of the Intel drm/i915 graphics driver since a few years. Besides the usual maintainer duties and feature work he spends a sizeable amount of time in trying to rectify past mistakes in the drm subsystem. Of which there are a lot, and a lot of these mistakes are in the form of bad userspace API which can’t be removed anytime soon. He is working at the Intel Open Source Technology Center.