all mutexes -> read-write locks?

Daniel Eischen eischen at vigrid.com
Mon Jun 2 05:20:24 UTC 2008


On Sun, 1 Jun 2008, Ed Schouten wrote:

> Hello Julian,
>
> * Julian Elischer <julian at elischer.org> wrote:
>> it has been mentioned several times that through the evolution of the
>> locking primitives it has come to be that mutexes and exclusively
>> acquired reader-writer locks are almost the same in terms of  overhead
>> and that it might be a good move to define all mutexes to be
>> actually just that.
>>
>> this would allow people to slowly go through the system, catching low
>> hanging fruit by converting some of the mutex operations to reader
>> acquisitions wherever a writer is not required, thus reducing general
>> system contention.
>>
>> Is there any thought on this?  Last I heard jhb had confirmed that it
>> was feasible..
>
> If this is going to be done, could we have mtx_* macro's pointing to the
> proper read/write ops? I know, it's just names, but I think most novice
> FreeBSD kernel hackers will almost instantaneously figure out what 'mtx'
> stands for.

Yes, mutex (mtx) is known very well.

I don't think changing all mutex operations to rdlock operations
is wise.  They are two different animals, regardless of their
implementation.  Mutexes are very commonly used in device drivers,
at least outside of FreeBSD.  And just because our current
implementation of them are the same as rwlocks doesn't mean that
it will always be the same in the future.

-- 
DE


More information about the freebsd-arch mailing list