[RFC] Revive the work on render-nodes branch

Ilija Hadzic 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 [1]
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
  Dave's work.

  * 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 [1],
    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
the feedback.

-- Ilija

[1] http://airlied.livejournal.com/72187.html

More information about the dri-devel mailing list