Per-lock summary

The pre-locl summary report is generated by default when you use the splat command.

The following example shows a sample of the per-lock summary report.
*********************************************************************************************************
100 max entries, Summary sorted by Acquisitions:

                        T Acqui-        Wait
                        y sitions        or                      Locks or      Percent Holdtime
Lock Names,             p or           Trans-                     Passes   Real     Real     Comb
Class, or Address       e Passes Spins  form    %Miss   %Total   / CSec    CPU      Elapse   Spin
**********************  * ****** ***** ****     *****   ******  *********  *******  ******   *******
PROC_INT_CLASS.0003     Q 486490 0     0        0.0000  36.7705 26539.380  5.3532  100.000   0.0000
THREAD_LOCK_CLASS.0012  S 323277 0     9468     0.0000  24.4343 17635.658  6.8216    6.8216  0.0000
THREAD_LOCK_CLASS.0118  D 323094 0     4568     0.0000  24.4205 17625.674  6.7887    6.7887  0.0000
ELIST_CLASS.003C        S 80453  0     201      0.0000  6.0809   4388.934  1.0564    1.0564  0.0000
ELIST_CLASS.0044        S 80419  0     110      0.0000  6.0783   4387.080  1.1299    1.1299  0.0000
tod_lock                C 10229  0     0        0.0000  0.7731    558.020  0.2212    0.2212  0.0000
LDATA_CONTROL_LOCK.0000 D 1833   0     10       0.0000  0.1385     99.995  0.0204    0.0204  0.0000
U_TIMER_CLASS.0014      S 1514   0     23       0.0000  0.1144     82.593  0.0536    0.0536  0.0000

( ... lines omitted ... ) 

000000002FF22B70        L 368838 0     N/A      0.0000  100.000    9622.964 99.9865  99.9865  0.0000 
00000000F00C3D74        M 160625 0     0        0.0000   14.2831   8762.540 99.7702  99.7702  0.0000 
00000000200017E8        M 160625 175   0        0.1088   14.2831   8762.540 42.9371  42.9371  0.1487 
0000000020001820        V 160623 0     624      0.0000  100.000    1271.728  N/A       N/A     N/A 
00000000F00C3750        M     37 0     0        0.0000    0.0033      2.018  0.0037   0.0037  0.0000 
00000000F00C3800        M     30 0     0        0.0000    0.0027      1.637  0.0698   0.0698  0.0000 

 ( ... lines omitted ... )
************************************************************************************************

The first line indicates the maximum number of locks to report (100 in this case, but we show only 14 of the entries here) as specified by the -S 100 flag. The report also indicates that the entries are sorted by the total number of acquisitions or passes, as specified by the -sa flag. The various Kernel locks and PThread synchronizers are treated as two separate lists in this report, so the report would produce the top 100 Kernel locks sorted by acquisitions, followed by the top 100 PThread synchronizers sorted by acquisitions or passes.

The per-lock summary table consists of the following columns:
Item Descriptor
Lock Names, Class, or Address The name, class, or address of the lock, depending on whether the splat command could map the address from a name file.
Type The type of the lock, identified by one of the following letters:
Q
A RunQ lock
S
An enabled simple kernel lock
D
A disabled simple kernel lock
C
A complex kernel lock
M
A PThread mutex
V
A PThread condition-variable
L
A PThread read/write lock
Acquisitions or Passes The number of times that the lock was acquired or the condition passed, during the analysis interval.
Spins The number of times that the lock (or condition-variable) was spun on during the analysis interval.
Wait or Transform The number of times that a thread was driven into a wait state for that lock or condition-variable during the analysis interval. When Krlocks are enabled, a simple lock never enters the wait state and this value represents the number of Krlocks that the simple lock has allocated, which is the transform count of simple locks.
%Miss The percentage of access attempts that resulted in a spin as opposed to a successful acquisition or pass.
%Total The percentage of all acquisitions that were made to this lock, out of all acquisitions to all locks of this type. All AIX locks (RunQ, simple, and complex) are treated as being the same type for this calculation. The PThread synchronizers mutex, condition-variable, and read/write lock are all distinct types.
Locks or Passes / CSec The number of times that the lock (or condition-variable) was acquired (or passed) divided by the cumulative processor time. This is a measure of the acquisition frequency of the lock.
Percent Holdtime  
Real CPU The percentage of the cumulative processor time that the lock was held by any thread at all, whether running or suspended. Note that this definition is not applicable to condition-variables because they are not held.
Real Elapse The percentage of the elapsed real time that the lock was held by any thread at all, whether running or suspended. Note that this definition is not applicable to condition-variables because they are not held.
Comb Spin The percentage of the cumulative processor time that executing threads spent spinning on the lock. The PThreads library uses waiting for condition-variables, so there is no time actually spent spinning.