Module Name: src Committed By: martin Date: Mon Apr 2 09:07:53 UTC 2018
Modified Files: src/share/man/man4 [netbsd-8]: ddb.4 src/sys/arch/x86/x86 [netbsd-8]: db_memrw.c src/sys/ddb [netbsd-8]: db_command.c src/sys/kern [netbsd-8]: kern_mutex.c kern_mutex_obj.c kern_rwlock.c kern_rwlock_obj.c subr_lockdebug.c subr_xcall.c src/sys/rump/librump/rumpkern [netbsd-8]: locks.c src/sys/sys [netbsd-8]: lockdebug.h Log Message: Pull up following revision(s) (requested by ozaki-r in ticket #687): sys/kern/kern_rwlock_obj.c: revision 1.4 sys/rump/librump/rumpkern/locks.c: revision 1.80 sys/kern/kern_rwlock.c: revision 1.50 sys/arch/x86/x86/db_memrw.c: revision 1.5,1.6 sys/ddb/db_command.c: revision 1.150-1.153 share/man/man4/ddb.4: revision 1.175 (via patch),1.176-1.178 sys/kern/kern_mutex_obj.c: revision 1.6 sys/kern/subr_lockdebug.c: revision 1.61-1.64 sys/sys/lockdebug.h: revision 1.17 sys/kern/kern_mutex.c: revision 1.71 sys/sys/lockdebug.h: revision 1.18,1.19 sys/kern/subr_xcall.c: revision 1.26 Obtain proper initialized addresses of locks allocated by mutex_obj_alloc or rw_obj_alloc Initialized addresses of locks allocated by mutex_obj_alloc or rw_obj_alloc were not useful because the addresses were mutex_obj_alloc or rw_obj_alloc itself. What we want to know are callers of them. Spinkle ASSERT_SLEEPABLE to xcall functions Use db_printf instead of printf in ddb Add a new command, show lockstat, which shows statistics of locks Currently the command shows the number of allocated locks. The command is useful only if LOCKDEBUG is enabled. Add a new command, show all locks, which shows information of active locks The command shows information of all active (i.e., being held) locks that are tracked through either of LWPs or CPUs by the LOCKDEBUG facility. The /t modifier additionally shows a backtrace for each LWP additionally. This feature is useful for debugging especially to analyze deadlocks. The command is useful only if LOCKDEBUG is enabled. Don't pass a unset address to lockdebug_lock_print x86: avoid accessing invalid addresses in ddb like arm32 This avoids that a command stops in the middle of an execution if a fault occurs due to an access to an invalid address. Get rid of a redundant output Improve wording. Fix a Cm argument. ddb: rename "show lockstat" to "show lockstats" to avoid conflicting with lockstat(8) Requested by mrg@ To generate a diff of this commit: cvs rdiff -u -r1.166 -r1.166.6.1 src/share/man/man4/ddb.4 cvs rdiff -u -r1.2 -r1.2.10.1 src/sys/arch/x86/x86/db_memrw.c cvs rdiff -u -r1.148 -r1.148.8.1 src/sys/ddb/db_command.c cvs rdiff -u -r1.65.2.1 -r1.65.2.2 src/sys/kern/kern_mutex.c cvs rdiff -u -r1.5 -r1.5.46.1 src/sys/kern/kern_mutex_obj.c cvs rdiff -u -r1.46.6.1 -r1.46.6.2 src/sys/kern/kern_rwlock.c cvs rdiff -u -r1.3 -r1.3.48.1 src/sys/kern/kern_rwlock_obj.c cvs rdiff -u -r1.57 -r1.57.2.1 src/sys/kern/subr_lockdebug.c cvs rdiff -u -r1.19.8.1 -r1.19.8.2 src/sys/kern/subr_xcall.c cvs rdiff -u -r1.74.2.1 -r1.74.2.2 src/sys/rump/librump/rumpkern/locks.c cvs rdiff -u -r1.15 -r1.15.6.1 src/sys/sys/lockdebug.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.