[RFC] Revive the work on render-nodes branch
ihadzic at research.bell-labs.com
Thu Mar 29 09:41:22 PDT 2012
The following set of patches will revive the drm-render-nodes 
branch that has been dormant in Dave Airlie's repository for some
time. I rebased this branch to the latest drm-core-next and did some
(hopefully useful) follow-up work.
I fixed a few bugs, did a substantial cleanup, separated the
experimental hard-coded stuff from general stuff and implemented
all kinds of checks and protections from any ugly stuff that
user space can send. I also have libdrm patches as well as a small
test-utility program that can be used to create and remove render
nodes from user space. I will send these in the next patch series.
There is still more work to be done, and a few weird behaviors to
track down, but with these patches, I am able to create and remove
render nodes and bring up independent seats on each.
The following are the details of the patch series:
* The first three patches (0001-0003) are direct derivative of
original drm-render-nodes work. Originally, there was one patch
that included multiple logical changes, as well as the test-only
temporary code. I cleaned that up and broke up the original
patch into three separate ones, that appeared logical units to me.
Acknowledgment: Because of the rework (i.e. split into three), these
three patches carry my name in the author field, but they are really
* Patch 0004 adds ioctls for manipulating render nodes and is almost
a verbatim copy of original Dave's patch. I tried to keep it as
intact as possible.
* Patches 0005 (prep) and 0006 (real thing) are my follow-up to
ioctl work. They fix bugs I found in 0004 and provide a general
* Remaining patches are the the follow-up work on render nodes
in general. Some are addressing TODO items listed in ,
and some are from my own TODO.
At this time, I'd like to solicit comments and feedback and I'll
be glad to rework the patches based on the feedback I receive.
Note that although the patches are meant to work on any GPU,
I have only tested this with Radeon hardware. If someone runs
this with other hardware, I would be very interested in hearing
about the result. Also, I have only tested this for multiseat-X
use case. If someone tries this for GPGPU use case, I'd appreciate
More information about the dri-devel