![IBM Power System POWER7 Series Скачать руководство пользователя страница 183](http://html2.mh-extra.com/html/ibm/power-system-power7-series/power-system-power7-series_optimization-and-tuning-manual_3363642183.webp)
Appendix B. Performance tooling and empirical performance analysis
167
This report is useful in determining what system calls are blocking threads from proceeding.
For example, threads appearing in this report with an unfinished
recv
call are waiting on data
to be received over a socket.
Another useful trace-based tool is
splat
, which is the Simple Performance Lock Analysis
Tool. The
splat
tool provides reports about the usage of kernel and application
(pthread-level) locks. At the pthread level,
splat
can report about the usage of pthread
synchronizers: mutexes, read/write locks, and condition variables. Importantly,
splat
provides
data about the degree of contention and blocking on these objects, an important
consideration in creating highly scalable and pthread-based applications.
The pthread library instrumentation does not provide names or classes of synchronizers, so
the addresses are the only way that you have to identify them. Under certain conditions, the
instrumentation can capture the return addresses of the function call stack, and these
addresses are used with the output of the
gensyms
tool to identify the call chains when these
synchronizers are created. The creation and deletion times of the synchronizer can
sometimes be determined as well, along with the ID of the pthread that created them.
An example of a mutex report from
splat
is shown in Example B-7.
Example B-7 Mutex report from splat
[pthread MUTEX] ADDRESS: 00000000F0154CD0
Parent Thread: 0000000000000001 creation time: 26.232305
Pid: 18396 Process Name: trcstop
Creation call-chain ==================================================================
00000000D268606C .pthread_mutex_lock
00000000D268EB88 .pthread_once
00000000D01FE588 .__libs_init
00000000D01EB2FCdne_callbacks
00000000D01EB280 ._libc_declare_data_functions
00000000D269F960 ._pth_init_libc
00000000D268A2B4 .pthread_init
00000000D01EAC08 .__modinit
000000001000014C .__start
| | | Percent Held ( 26.235284s )
Acqui- | Miss Spin Wait Busy | Secs Held | Real Real Comb Real
sitions | Rate Count Count Count |CPU Elapsed | CPU Elapsed Spin Wait
1 | 0.000 0 0 0 |0.000006 0.000006 | 0.00 0.00 0.00 0.00
-------------------------------------------------------------------------------------
Depth Min Max Avg
SpinQ 0 0 0
WaitQ 0 0 0
Recursion 0 1 0
Acqui- Miss Spin Wait Busy Percent Held of Total Time
PThreadID sitions Rate Count Count Count CPU Elapse Spin Wait
~~~~~~~~~~ ~~~~~~~~ ~~~~~~ ~~~~~~ ~~~~~~ ~~~~~~ ~~~~~~ ~~~~~~ ~~~~~~ ~~~~~~
1 1 0.00 0 0 0 0.00 0.00 0.00 0.00
Acqui- Miss Spin Wait Busy Percent Held of Total Time
Function Name sitions Rate Count Count Count CPU Elapse Spin Wait Return Address Start Address
Offset
^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^^^ ^^^^^^ ^^^^^^ ^^^^^^ ^^^^^^ ^^^^^^ ^^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^
^^^^^^^^
.pthread_once 0 0.00 0 0 0 99.99 99.99 0.00 0.00 00000000D268EC98 00000000D2684180
.pthread_once 1 0.00 0 0 0 0.01 0.01 0.00 0.00 00000000D268EB88 00000000D2684180
In addition to the common header information and the [
pthread MUTEX]
identifier, this report
lists the following lock details:
Parent thread
Pthread ID of the parent pthread
Creation time
Elapsed time in seconds after the first event recorded in trace (if available)
Содержание Power System POWER7 Series
Страница 2: ......
Страница 36: ...20 POWER7 and POWER7 Optimization and Tuning Guide...
Страница 70: ...54 POWER7 and POWER7 Optimization and Tuning Guide...
Страница 112: ...96 POWER7 and POWER7 Optimization and Tuning Guide...
Страница 140: ...124 POWER7 and POWER7 Optimization and Tuning Guide...
Страница 162: ...146 POWER7 and POWER7 Optimization and Tuning Guide...
Страница 170: ...154 POWER7 and POWER7 Optimization and Tuning Guide...
Страница 222: ...POWER7 and POWER7 Optimization and Tuning Guide POWER7 and POWER7 Optimization and Tuning Guide...
Страница 223: ......