mirror of
https://git.rtems.org/rtems-docs/
synced 2025-07-20 20:53:28 +08:00
c-user: Add SMP profiling
This commit is contained in:
parent
138c1ba886
commit
0874d7dd59
@ -2,6 +2,7 @@
|
|||||||
|
|
||||||
.. COMMENT: COPYRIGHT (c) 2014.
|
.. COMMENT: COPYRIGHT (c) 2014.
|
||||||
.. COMMENT: On-Line Applications Research Corporation (OAR).
|
.. COMMENT: On-Line Applications Research Corporation (OAR).
|
||||||
|
.. COMMENT: Copyright (c) 2017 embedded brains GmbH.
|
||||||
.. COMMENT: All rights reserved.
|
.. COMMENT: All rights reserved.
|
||||||
|
|
||||||
Symmetric Multiprocessing (SMP)
|
Symmetric Multiprocessing (SMP)
|
||||||
@ -599,6 +600,63 @@ processors.
|
|||||||
:width: 400
|
:width: 400
|
||||||
:align: center
|
:align: center
|
||||||
|
|
||||||
|
Profiling
|
||||||
|
---------
|
||||||
|
|
||||||
|
To identify the bottlenecks in the system, support for profiling of low-level
|
||||||
|
synchronization is optionally available. The profiling support is a BSP build
|
||||||
|
time configuration option (``--enable-profiling``) and is implemented with an
|
||||||
|
acceptable overhead, even for production systems. A low-overhead counter for
|
||||||
|
short time intervals must be provided by the hardware.
|
||||||
|
|
||||||
|
Profiling reports are generated in XML for most test programs of the RTEMS
|
||||||
|
testsuite (more than 500 test programs). This gives a good sample set for
|
||||||
|
statistics. For example the maximum thread dispatch disable time, the maximum
|
||||||
|
interrupt latency or lock contention can be determined.
|
||||||
|
|
||||||
|
.. code-block:: xml
|
||||||
|
|
||||||
|
<ProfilingReport name="SMPMIGRATION 1">
|
||||||
|
<PerCPUProfilingReport processorIndex="0">
|
||||||
|
<MaxThreadDispatchDisabledTime unit="ns">36636</MaxThreadDispatchDisabledTime>
|
||||||
|
<MeanThreadDispatchDisabledTime unit="ns">5065</MeanThreadDispatchDisabledTime>
|
||||||
|
<TotalThreadDispatchDisabledTime unit="ns">3846635988
|
||||||
|
</TotalThreadDispatchDisabledTime>
|
||||||
|
<ThreadDispatchDisabledCount>759395</ThreadDispatchDisabledCount>
|
||||||
|
<MaxInterruptDelay unit="ns">8772</MaxInterruptDelay>
|
||||||
|
<MaxInterruptTime unit="ns">13668</MaxInterruptTime>
|
||||||
|
<MeanInterruptTime unit="ns">6221</MeanInterruptTime>
|
||||||
|
<TotalInterruptTime unit="ns">6757072</TotalInterruptTime>
|
||||||
|
<InterruptCount>1086</InterruptCount>
|
||||||
|
</PerCPUProfilingReport>
|
||||||
|
<PerCPUProfilingReport processorIndex="1">
|
||||||
|
<MaxThreadDispatchDisabledTime unit="ns">39408</MaxThreadDispatchDisabledTime>
|
||||||
|
<MeanThreadDispatchDisabledTime unit="ns">5060</MeanThreadDispatchDisabledTime>
|
||||||
|
<TotalThreadDispatchDisabledTime unit="ns">3842749508
|
||||||
|
</TotalThreadDispatchDisabledTime>
|
||||||
|
<ThreadDispatchDisabledCount>759391</ThreadDispatchDisabledCount>
|
||||||
|
<MaxInterruptDelay unit="ns">8412</MaxInterruptDelay>
|
||||||
|
<MaxInterruptTime unit="ns">15868</MaxInterruptTime>
|
||||||
|
<MeanInterruptTime unit="ns">3525</MeanInterruptTime>
|
||||||
|
<TotalInterruptTime unit="ns">3814476</TotalInterruptTime>
|
||||||
|
<InterruptCount>1082</InterruptCount>
|
||||||
|
</PerCPUProfilingReport>
|
||||||
|
<!-- more reports omitted --->
|
||||||
|
<SMPLockProfilingReport name="Scheduler">
|
||||||
|
<MaxAcquireTime unit="ns">7092</MaxAcquireTime>
|
||||||
|
<MaxSectionTime unit="ns">10984</MaxSectionTime>
|
||||||
|
<MeanAcquireTime unit="ns">2320</MeanAcquireTime>
|
||||||
|
<MeanSectionTime unit="ns">199</MeanSectionTime>
|
||||||
|
<TotalAcquireTime unit="ns">3523939244</TotalAcquireTime>
|
||||||
|
<TotalSectionTime unit="ns">302545596</TotalSectionTime>
|
||||||
|
<UsageCount>1518758</UsageCount>
|
||||||
|
<ContentionCount initialQueueLength="0">759399</ContentionCount>
|
||||||
|
<ContentionCount initialQueueLength="1">759359</ContentionCount>
|
||||||
|
<ContentionCount initialQueueLength="2">0</ContentionCount>
|
||||||
|
<ContentionCount initialQueueLength="3">0</ContentionCount>
|
||||||
|
</SMPLockProfilingReport>
|
||||||
|
</ProfilingReport>
|
||||||
|
|
||||||
Scheduler Helping Protocol
|
Scheduler Helping Protocol
|
||||||
--------------------------
|
--------------------------
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user