[PATCH] drm/radeon: Add support for userspace fence waits

Jerome Glisse j.glisse at gmail.com
Tue Jan 31 10:56:21 PST 2012


On Tue, Jan 31, 2012 at 06:56:01PM +0100, Michel Dänzer wrote:
> On Die, 2012-01-31 at 16:59 +0000, Simon Farnsworth wrote: 
> > Userspace currently busywaits for fences to complete; on my workload, this
> > busywait consumes 10% of the available CPU time.
> > 
> > Provide an ioctl so that userspace can wait for an EOP interrupt that
> > corresponds to a previous EVENT_WRITE_EOP.
> > 
> > Signed-off-by: Simon Farnsworth <simon.farnsworth at onelan.co.uk>
> > ---
> > I've been working on top of Jerome's tiling patches, so this doesn't apply
> > directly on top of current upstream kernels. I can easily rebase to another
> > version upon request - just point me to a git tree.
> > 
> > My goal is to remove the sched_yield in Mesa's r600_fence_finish given up to
> > date enough kernel; I hope, though, that the interface is clean enough for
> > other users to extend it in the future (e.g. using compute rings).
> 
> I'm afraid not: Unless I'm missing something, userspace can't know which
> ring the kernel submitted the CS to, and the kernel can't guess which
> ring userspace needs to wait for.

iirc the plan was to add a return value to cs ioctl and add an ioctl to
allow to wait on this return value. ie allowing userspace to wait on
specific submited cs.

Cheers,
Jerome


More information about the dri-devel mailing list