From: Thomas <uni...@sh...> - 2004-03-15 17:22:10
|
> Thomas Hellstr=F6m wrote: >> Hi! >> >> Is it possible to use the heavyweight drm locking mechanisms for other >> locks than the global hardware lock? >> >> What I'm after is a mechanism to suspend drm-aware processes until a >> display resource gets available and then wake them up on a FIFO basis >> when >> the process that currently holds the resource signals it's availabilit= y. >> Typically processes hold the resource for at least 10 ms, so the globa= l >> lock is not an option; spinlocks are too cpu-consuming. >> >> I was wondering if one could implement a second lock struct in the >> private >> part of the SAREA and then use a drm IOCTL on that one, but briefly >> browsing the headers I see no way to pass a private lock to the DRM? >> >> Any help would be greatly appreciated. > > You should look at the way vblank interrupt waiting is handled in the > radeon driver. That works by just having the calling process block in > an ioctl. The other way to do it would be by using a standard futex. > Either should work. > Thanks! A futex was exactly what I was looking for. /Thomas |