tech-kern archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
re: Modules loading modules?
> According to the mutex(9) man page:
>
> mutex_owned(mtx)
>
> For adaptive mutexes, return non-zero if the current LWP holds
> the mutex. ...
this is an incomplete reading of the manual page, and you can not
use mutex_owned() the way you are trying to (regardless of what
pooka posted.) you can't even using it in various forms of assertions
safely. from the man page:
It should not be used to make locking decisions at run time, or to
verify that a lock is not held.
ie, you can not even KASSERT(!mutex_owned()).
the documentation matches my experience with using mutex(9) and
KASSERT().
but i'm still not sure why we're going to such lengths to hold a
lock across such a heavy weight operation like loading a module.
that may involve disk speeds, and so you're looking at waiting
millions of cycles for the lock. aka, what eeh posted.
.mrg
Home |
Main Index |
Thread Index |
Old Index