13:19:26drmeisterI got a bit better at dtrace - I can now catch when locks are attempted to be acquired and when they are acquired - hopefully now I can quantitate lock contention.
13:20:08drmeisterWhoah - train is about to go - gotta run brb
14:03:16drmeisterI can recover the name of each mutex (they are getting unique names now) and when I ask for the lock and when I get the lock
15:48:38drmeisterIt appears to be the class table mutexes that are blocking - why, why why?
15:50:17drmeisterI say appears because all thread safe hash tables have mutexes and they all have the same name at the moment - I'm giving select ones (system hash tables) unique names now.
15:51:32drmeisterBut generally, this is really nice. I can quantify lock contention.
15:52:42BikeWhat do class table mutexes lock? Just the find-class name association?
15:54:22drmeisterYeah - there is a hash-table for the classes and that hash-table has upgradable read/write lock. Every find-class involves a read lock and every (setf find-class) or rehash involves a write lock.
15:55:08drmeisterThe read lock is a shared lock - so many threads should be able to read at once.