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.