On Nov 16, 2010, at 8:04 PM, Johnny Billquist wrote: > On 2010-11-17 04:52, Matt Thomas wrote: >> >> Not true. Spinlocks must enter through mutex_spin_enter and adaptive mutexes >> enter through mutex_enter. The corresponding is true for exiting as well. >> The only reason mutex_vector_{enter,exit} is called to cause a panic. > > That may be true in theory, but I happen to know (now) that it's not true in > reality. I've found atleast one place in the kernel where this is done.
Then that is a bug and should be fixed. File a PR. > Oh, and mutex_vector_exit will not cause a panic, just because it was called > from mmutex_spin_exit with a adaptive mutex. mutex_vector_exit will simply > just handle it as an adaptive mutex, and release it. That should probably be fixed.