[Nouveau] [PATCH 2/3] drm/nouveau: add lockless dynamic semaphore allocator
luca at luca-barbieri.com
Mon Feb 1 05:27:53 PST 2010
> How often do we expect cross-channel sync to kick in? Maybe 2-3 times
> per frame? I suspect contentions will be rare enough to make spinlocks
> as fast as atomics for all real-life cases, and they don't have such a
> high maintainability cost. What do you guys think?
For the case of a single (or a few) GL application the requirements
are indeed modest.
I'm not sure that spinlocks or an otherwise reduced solution would be
You basically would just avoid the retrying code.
Also if you have a multithreaded/multiprocess GPGPU application on
large SMP machine things may change, as you may have a lot of commands
and semaphores in flight, as well as high contention for anything
Of course, currently we hold both the BKL and struct_mutex around
things, which makes it all moot, but hopefully we'll switch to
per-channel mutexes soon (I'm looking into that).
More information about the Nouveau