HP Caliper User's Guide
Example 11-1 Sample cstack Report - Blocking Primitives Details
Blocking Primitives Details (All Threads)
------------------------------------------------------------------------------------------------
Sample Callpath Holder's
% Total Sample Sample Sample Hits Index Kernel
Hits Hits Hits Hits Blocking For Holder Holder Thread
Waiting Waiting Spinning Blocked Primitive --For Waiter --Waiter ID
------------------------------------------------------------------------------------------------
20.00 20 0 20 mutex@counter_lock1
20 0 4206064@t1func
20 2
10.00 10 0 10 mutex@counter_lock2
10 3 4206065@t2func
10 4
------------------------------------------------------------------------------------------------
[Minimum primitives: 10, Percent cutoff: 1.00, cumulative percent cutoff: 100.00]
Hot Call Paths (All Threads)
-------------------------------------------------------------
--% Total Hits In Only--
Run + Run Block
Index Block Hits Hits Name
Hits Only Only
-------------------------------------------------------------
0 30.0 0.0 30.0 libc.so.1::__sigtimedwait_sys [2]
libc.so.1::sigtimedwait [4]
libc.so.1::_sleep [3]
mutex.hpux.64::t1func [8]
libpthread.so.1::__pthread_bound_body [6]
-------------------------------------------------------------
1 20.0 0.0 20.0 libc.so.1::__sigtimedwait_sys [2]
libc.so.1::sigtimedwait [4]
libc.so.1::_sleep [3]
mutex.hpux.64::main [5]
dld.so::main_opd_entry [7]
-------------------------------------------------------------
2 20.0 0.0 20.0 libc.so.1::__ksleep { mutex@counter_lock1 } [9]
libpthread.so.1::__mxn_sleep [13]
libpthread.so.1::*unnamed@0x400000000006(8bf0-e480)* [12]
libpthread.so.1::pthread_mutex_lock [11]
mutex.hpux.64::mfunc [10]
mutex.hpux.64::main [5]
dld.so::main_opd_entry [7]
-------------------------------------------------------------
3 20.0 0.0 20.0 libc.so.1::__sigtimedwait_sys [2]
libc.so.1::sigtimedwait [4]
libc.so.1::_sleep [3]
mutex.hpux.64::t2func [14]
libpthread.so.1::__pthread_bound_body [6]
-------------------------------------------------------------
4 10.0 0.0 10.0 libc.so.1::__ksleep { mutex@counter_lock2 } [9]
libpthread.so.1::__mxn_sleep [13]
libpthread.so.1::*unnamed@0x400000000006(8bf0-e480)* [12]
libpthread.so.1::pthread_mutex_lock [11]
mutex.hpux.64::mfunc [10]
mutex.hpux.64::main [5]
dld.so::main_opd_entry [7]
-------------------------------------------------------------
[Minimum function entries: 5, percent cutoff: 1.00, cumulative percent cutoff: 100.00]
The 'Blocking Primitives Details' section has holder and waiter thread details for a
mutex. For other primitives, holder and waiter details will not be reported. In an
application, a mutex can be held by many threads, and while a thread is holding a
mutex, there may be many waiter threads. Activity of holder and waiter threads is
reported with their call-paths, indexed in the 'Hot Call Paths' section. A holder thread
192 Producing a Sampled Call Stack Profile Analysis