On Thu, Oct 21, 2004 at 04:18:12PM -0400, john cooper wrote:Yes, but my concern was having to backoff in out-of-sequence
Yet considering the cost to maintain these lists in priority
order with multiple spinlock acquisition sequences due to how
the aggregate data structure must be traversed/ordered,
I haven't yet convinced myself either way.
Another issue is that if you keep them in order, you have to fix the
list whenever an owner of a listed mutex changes its priority.
My concern is removing what should be available readerIt isn't obvious to me how this would address the case of a
task holding a reader lock on mx-A then blocking on mx-B.
Another task attempting to acquire a reader lock on mx-A would
block rather than immediately acquiring the lock.
Yes. However, the contention case should not be optimized at the
expense of the common case, which can be faster for non-rwlock
implementations when PI is involved. On SMP, you'd be introducing a
bottleneck by taking away rwlocks, but on UP it's only an issue when
you get preempted or block in a critical section.