lockstat(1) currently uses lock addresses as identifiers and uses ksyms
to look up the associated symbol. As many locks are embedded into
dynamically-allocated structures, this doesn't work too well. However,
in FreeBSD we can do better since the lock object contains a name for
the lock. This change converts lockstat(1) to use lock names instead of
addresses as identifiers.
This breaks the -c option, which tells lockstat to attempt to coalesce
info for arrays of locks. Since FreeBSD has relatively few examples of
such arrays (sched locks and page locks are the only examples come to
mind), just disable it for now. If it turns out to be more useful than I
thought, it could be fixed by tracing both lock addresses and names.