|
|
> I'm still confused though, I believe that locking an adaptive mutex will spin
> for a short
> period then context switch and so they shouldn't be burning CPU - at least
> not .4s worth!
An adaptive mutex will spin as long as the thread which holds the mutex is on
CPU. If the lock is moderately contended, you can wind up with threads
spinning for quite a while as ownership of the lock passes from thread to
thread across CPUs.
Mutexes in Solaris tend to be most useful when they're held for very short
periods of time; they also work pretty well if the owning thread blocks. If
somebody is computing for quite a while while holding them (e.g. if
dnode_next_offset is repeatedly called and is slow), they can waste a lot of
time on other CPUs. In this case an rwlock usually works better.
Anton
This message posted from opensolaris.org
_______________________________________________
zfs-discuss mailing list
zfs-discuss@xxxxxxxxxxxxxxx
http://mail.opensolaris.org/mailman/listinfo/zfs-discuss
|
|