From: Linus T. <tor...@tr...> - 2003-05-29 20:30:19
|
On Thu, 29 May 2003, Keith Whitwell wrote: > > The lock doesn't seem to be 'fair' like that - in practise it isn't transfered > to the waiting process (unless you do a sched_yield() after unlocking). Indeed. If you want fairness, you need to code for it explicitly. It's not hard per se, but it does slow down locking, sometimes noticeably. This is not likely to be a huge problem for DRI, but it comes up in other circumstances (ie in-kernel spinlocks don't even try to be fair, it's just too expensive and if you get the kind of contention that you care you must do something else altogether). The DRI locking really should be revisited at some point. It could probably be done more cleverly, and without these problems. Linus |