Gds_lock_print
Brief Description
The lock print utility has been enhanced in several ways: Performance monitoring may now be done using gds_lock_print. The utility may be run in the background to gather statistics on an application. Two new command line options have been added. The output displayed in response to the gds_lock_print command has been cleaned up.
Feature Description
Usability Changes
Performance Monitoring:
gds_lock_print -I{a,o,w} <interval> <count>
These options display interactive information on current activity in the lock table. <interval> specifies the time (in seconds) between samplings. <count> specifies the number of samplings to be taken. A summary (average) line is printed at the end. The options shown below may be combined, for example: gds_lock_print -iao 3 10.
Option | Description |
---|---|
-I | Prints all statistics |
-ia | Print "acquire" statistics (access to lock table: acquire/s acqwait/s %acqwait acqrtry/s rtrysuc/s) |
-io | Print "operation" statistics (enqueue/s, dequeue/s convert readdata/s wrtdata/s qrydata/s) |
-iw | Print "wait" statistics on locks (reject/s block/s dlkscan/s deadlck/s blckast/s downgrd/s dirsig/s indsig/s wakeup/s avlckwait) |
The -w option prints out the "waiting on" queue for each owner block. This will assist in discovering what owner's request is blocking others in the lock table.
acqrtry/s | Spin lock retries to acquire lock table mutex (new for SMP) |
---|---|
rtrysuc/s | Success rate of spin lock retries to acquire lock table mutex (" " ") |
dequeue/s | Lock dequeue operations |
readata/s | Lock read data operations |
wrtdata/s | Lock write data operations |
qrydata/s | Lock query data operations (new lock operation not yet implemented) |
dirsig/s | Direct signals sent (user >user) |
indsig/s | Indirect signals sent (user>manager>user) |
wakeup/s | Wakeup operations to notify lock waiters or manager |
blckast/s | Blocking ASTs executed for incompatible lock requests |
downgrd/s | Downgrade operations in response to blocking ASTs |
Avlckwait | Average time waiting on a lock request (usec or msec) |
New options
Option -c was added to allow the lock table data to print in a consistent state. Modifications to the lock table made during the command execution will not affect or be reflected in the output. Option -f <filename>. Normally gds_lock_print uses the default lock table for the platform on which it is run. With the -f option a different file can be specified. For instance, if a copy of the lock table is made, the -f option can be used to list its contents .
Display Cleanup
The display of the output has been cleaned up in many ways: Hex values are always preceded by 0x in the display. Flag values are always printed in hex. The starting offset of the queued data structure is reported, rather than the position of the que structure. Queues are printed for request blocks. Output is formatted.