diff options
author | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2023-05-08 17:16:18 +0200 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2023-05-19 08:08:45 +0200 |
commit | ee748932678b0fedea3399b3bc9f1b124fb7bbaa (patch) | |
tree | d2c39de9b930c7754f150e4e25c6e33f3dfcd3dd /testsuites | |
parent | 649dc37c8fcee2820a266afa9fe1938329801043 (diff) |
validation: Add group for runtime measurements
Update #3716.
Diffstat (limited to 'testsuites')
-rw-r--r-- | testsuites/validation/tc-barrier-performance.c | 36 | ||||
-rw-r--r-- | testsuites/validation/tc-event-performance.c | 42 | ||||
-rw-r--r-- | testsuites/validation/tc-message-performance.c | 62 | ||||
-rw-r--r-- | testsuites/validation/tc-part-performance.c | 26 | ||||
-rw-r--r-- | testsuites/validation/tc-sem-performance.c | 70 | ||||
-rw-r--r-- | testsuites/validation/tc-task-performance.c | 86 |
6 files changed, 322 insertions, 0 deletions
diff --git a/testsuites/validation/tc-barrier-performance.c b/testsuites/validation/tc-barrier-performance.c index 5b6b4a24bb..051aaa0f66 100644 --- a/testsuites/validation/tc-barrier-performance.c +++ b/testsuites/validation/tc-barrier-performance.c @@ -160,6 +160,13 @@ static T_fixture RtemsBarrierValPerf_Fixture = { }; /** + * @defgroup RtemsBarrierReqPerfReleaseAuto \ + * spec:/rtems/barrier/req/perf-release-auto + * + * @{ + */ + +/** * @brief Create an automatic release barrier. */ static void RtemsBarrierReqPerfReleaseAuto_Prepare( @@ -244,8 +251,17 @@ static void RtemsBarrierReqPerfReleaseAuto_Cleanup( T_rsc_success( sc ); } +/** @} */ + #if defined(RTEMS_SMP) /** + * @defgroup RtemsBarrierReqPerfReleaseAutoOtherCpu \ + * spec:/rtems/barrier/req/perf-release-auto-other-cpu + * + * @{ + */ + +/** * @brief Create an automatic release barrier. Create and start a worker task. */ static void RtemsBarrierReqPerfReleaseAutoOtherCpu_Prepare( @@ -341,9 +357,18 @@ static void RtemsBarrierReqPerfReleaseAutoOtherCpu_Cleanup( sc = rtems_barrier_delete( ctx->barrier_id ); T_rsc_success( sc ); } + +/** @} */ #endif /** + * @defgroup RtemsBarrierReqPerfReleaseManual \ + * spec:/rtems/barrier/req/perf-release-manual + * + * @{ + */ + +/** * @brief Create a manual release barrier. Create and start a worker task. */ static void RtemsBarrierReqPerfReleaseManual_Prepare( @@ -456,6 +481,15 @@ static void RtemsBarrierReqPerfReleaseManual_Cleanup( RestoreRunnerPriority(); } +/** @} */ + +/** + * @defgroup RtemsBarrierReqPerfReleaseManualPreempt \ + * spec:/rtems/barrier/req/perf-release-manual-preempt + * + * @{ + */ + /** * @brief Create a manual release barrier. Create and start a worker task. */ @@ -555,6 +589,8 @@ static void RtemsBarrierReqPerfReleaseManualPreempt_Cleanup( RestoreRunnerPriority(); } +/** @} */ + /** * @fn void T_case_body_RtemsBarrierValPerf( void ) */ diff --git a/testsuites/validation/tc-event-performance.c b/testsuites/validation/tc-event-performance.c index de29cdd1b5..052eee3894 100644 --- a/testsuites/validation/tc-event-performance.c +++ b/testsuites/validation/tc-event-performance.c @@ -210,6 +210,12 @@ static T_fixture RtemsEventValPerf_Fixture = { }; /** + * @defgroup RtemsEventReqPerfIsrPreempt spec:/rtems/event/req/perf-isr-preempt + * + * @{ + */ + +/** * @brief Send two events from with interrupt context. Satisfy the event * condition. */ @@ -259,6 +265,14 @@ static bool RtemsEventReqPerfIsrPreempt_Teardown_Wrap( return RtemsEventReqPerfIsrPreempt_Teardown( ctx, delta, tic, toc, retry ); } +/** @} */ + +/** + * @defgroup RtemsEventReqPerfOther spec:/rtems/event/req/perf-other + * + * @{ + */ + /** * @brief Lower the worker priority. */ @@ -324,8 +338,16 @@ static bool RtemsEventReqPerfOther_Teardown_Wrap( return RtemsEventReqPerfOther_Teardown( ctx, delta, tic, toc, retry ); } +/** @} */ + #if defined(RTEMS_SMP) /** + * @defgroup RtemsEventReqPerfOtherCpu spec:/rtems/event/req/perf-other-cpu + * + * @{ + */ + +/** * @brief Move worker to scheduler B. */ static void RtemsEventReqPerfOtherCpu_Prepare( RtemsEventValPerf_Context *ctx ) @@ -391,9 +413,18 @@ static void RtemsEventReqPerfOtherCpu_Cleanup( RtemsEventValPerf_Context *ctx ) { SetScheduler( ctx->worker_id, SCHEDULER_A_ID, PRIO_HIGH ); } + +/** @} */ #endif /** + * @defgroup RtemsEventReqPerfOtherNotSatisfied \ + * spec:/rtems/event/req/perf-other-not-satisfied + * + * @{ + */ + +/** * @brief Send an event. Do not satisfy the event condition. */ static void RtemsEventReqPerfOtherNotSatisfied_Body( @@ -450,6 +481,15 @@ static bool RtemsEventReqPerfOtherNotSatisfied_Teardown_Wrap( ); } +/** @} */ + +/** + * @defgroup RtemsEventReqPerfOtherPreempt \ + * spec:/rtems/event/req/perf-other-preempt + * + * @{ + */ + /** * @brief Send two events. Satisfy the event condition. */ @@ -502,6 +542,8 @@ static bool RtemsEventReqPerfOtherPreempt_Teardown_Wrap( return RtemsEventReqPerfOtherPreempt_Teardown( ctx, delta, tic, toc, retry ); } +/** @} */ + /** * @fn void T_case_body_RtemsEventValPerf( void ) */ diff --git a/testsuites/validation/tc-message-performance.c b/testsuites/validation/tc-message-performance.c index 5d3e0527e0..35f4622bae 100644 --- a/testsuites/validation/tc-message-performance.c +++ b/testsuites/validation/tc-message-performance.c @@ -279,6 +279,13 @@ static T_fixture RtemsMessageValPerf_Fixture = { }; /** + * @defgroup RtemsMessageReqPerfReceiveTry \ + * spec:/rtems/message/req/perf-receive-try + * + * @{ + */ + +/** * @brief Try to receive a message. */ static void RtemsMessageReqPerfReceiveTry_Body( @@ -335,6 +342,15 @@ static bool RtemsMessageReqPerfReceiveTry_Teardown_Wrap( return RtemsMessageReqPerfReceiveTry_Teardown( ctx, delta, tic, toc, retry ); } +/** @} */ + +/** + * @defgroup RtemsMessageReqPerfReceiveWaitForever \ + * spec:/rtems/message/req/perf-receive-wait-forever + * + * @{ + */ + /** * @brief Schedule a message send. */ @@ -422,6 +438,15 @@ static bool RtemsMessageReqPerfReceiveWaitForever_Teardown_Wrap( ); } +/** @} */ + +/** + * @defgroup RtemsMessageReqPerfReceiveWaitTimed \ + * spec:/rtems/message/req/perf-receive-wait-timed + * + * @{ + */ + /** * @brief Schedule a message send. */ @@ -509,6 +534,14 @@ static bool RtemsMessageReqPerfReceiveWaitTimed_Teardown_Wrap( ); } +/** @} */ + +/** + * @defgroup RtemsMessageReqPerfSend spec:/rtems/message/req/perf-send + * + * @{ + */ + /** * @brief Send a message. */ @@ -567,6 +600,15 @@ static bool RtemsMessageReqPerfSend_Teardown_Wrap( return RtemsMessageReqPerfSend_Teardown( ctx, delta, tic, toc, retry ); } +/** @} */ + +/** + * @defgroup RtemsMessageReqPerfSendOther \ + * spec:/rtems/message/req/perf-send-other + * + * @{ + */ + /** * @brief Let the worker wait on the message queue. */ @@ -641,8 +683,17 @@ static bool RtemsMessageReqPerfSendOther_Teardown_Wrap( return RtemsMessageReqPerfSendOther_Teardown( ctx, delta, tic, toc, retry ); } +/** @} */ + #if defined(RTEMS_SMP) /** + * @defgroup RtemsMessageReqPerfSendOtherCpu \ + * spec:/rtems/message/req/perf-send-other-cpu + * + * @{ + */ + +/** * @brief Move worker to scheduler B. */ static void RtemsMessageReqPerfSendOtherCpu_Prepare( @@ -743,9 +794,18 @@ static void RtemsMessageReqPerfSendOtherCpu_Cleanup( { SetScheduler( ctx->worker_id, SCHEDULER_A_ID, PRIO_HIGH ); } + +/** @} */ #endif /** + * @defgroup RtemsMessageReqPerfSendPreempt \ + * spec:/rtems/message/req/perf-send-preempt + * + * @{ + */ + +/** * @brief Let the worker wait on the message queue. */ static void RtemsMessageReqPerfSendPreempt_Setup( @@ -825,6 +885,8 @@ static bool RtemsMessageReqPerfSendPreempt_Teardown_Wrap( ); } +/** @} */ + /** * @fn void T_case_body_RtemsMessageValPerf( void ) */ diff --git a/testsuites/validation/tc-part-performance.c b/testsuites/validation/tc-part-performance.c index 7acc713816..151d323f1c 100644 --- a/testsuites/validation/tc-part-performance.c +++ b/testsuites/validation/tc-part-performance.c @@ -213,6 +213,12 @@ static T_fixture RtemsPartValPerf_Fixture = { }; /** + * @defgroup RtemsPartReqPerfGetBuffer spec:/rtems/part/req/perf-get-buffer + * + * @{ + */ + +/** * @brief Get a buffer. */ static void RtemsPartReqPerfGetBuffer_Body( RtemsPartValPerf_Context *ctx ) @@ -263,6 +269,15 @@ static bool RtemsPartReqPerfGetBuffer_Teardown_Wrap( return RtemsPartReqPerfGetBuffer_Teardown( ctx, delta, tic, toc, retry ); } +/** @} */ + +/** + * @defgroup RtemsPartReqPerfGetNoBuffer \ + * spec:/rtems/part/req/perf-get-no-buffer + * + * @{ + */ + /** * @brief Get the buffer. */ @@ -335,6 +350,15 @@ static void RtemsPartReqPerfGetNoBuffer_Cleanup( T_rsc_success( sc ); } +/** @} */ + +/** + * @defgroup RtemsPartReqPerfReturnBuffer \ + * spec:/rtems/part/req/perf-return-buffer + * + * @{ + */ + /** * @brief Get the buffer. */ @@ -400,6 +424,8 @@ static bool RtemsPartReqPerfReturnBuffer_Teardown_Wrap( return RtemsPartReqPerfReturnBuffer_Teardown( ctx, delta, tic, toc, retry ); } +/** @} */ + /** * @fn void T_case_body_RtemsPartValPerf( void ) */ diff --git a/testsuites/validation/tc-sem-performance.c b/testsuites/validation/tc-sem-performance.c index 3274103f1c..603a74b7ad 100644 --- a/testsuites/validation/tc-sem-performance.c +++ b/testsuites/validation/tc-sem-performance.c @@ -238,6 +238,12 @@ static T_fixture RtemsSemValPerf_Fixture = { }; /** + * @defgroup RtemsSemReqPerfMtxPiObtain spec:/rtems/sem/req/perf-mtx-pi-obtain + * + * @{ + */ + +/** * @brief Obtain the available mutex. */ static void RtemsSemReqPerfMtxPiObtain_Body( RtemsSemValPerf_Context *ctx ) @@ -289,6 +295,15 @@ static bool RtemsSemReqPerfMtxPiObtain_Teardown_Wrap( return RtemsSemReqPerfMtxPiObtain_Teardown( ctx, delta, tic, toc, retry ); } +/** @} */ + +/** + * @defgroup RtemsSemReqPerfMtxPiRelease \ + * spec:/rtems/sem/req/perf-mtx-pi-release + * + * @{ + */ + /** * @brief Obtain the mutex. */ @@ -351,6 +366,15 @@ static bool RtemsSemReqPerfMtxPiRelease_Teardown_Wrap( return RtemsSemReqPerfMtxPiRelease_Teardown( ctx, delta, tic, toc, retry ); } +/** @} */ + +/** + * @defgroup RtemsSemReqPerfMtxPiReleaseOne \ + * spec:/rtems/sem/req/perf-mtx-pi-release-one + * + * @{ + */ + /** * @brief Let one task wait on the mutex. */ @@ -427,8 +451,17 @@ static bool RtemsSemReqPerfMtxPiReleaseOne_Teardown_Wrap( ); } +/** @} */ + #if defined(RTEMS_SMP) /** + * @defgroup RtemsSemReqPerfMtxPiReleaseOtherCpu \ + * spec:/rtems/sem/req/perf-mtx-pi-release-other-cpu + * + * @{ + */ + +/** * @brief Move worker to scheduler B. */ static void RtemsSemReqPerfMtxPiReleaseOtherCpu_Prepare( @@ -526,9 +559,18 @@ static void RtemsSemReqPerfMtxPiReleaseOtherCpu_Cleanup( { SetScheduler( ctx->worker_id, SCHEDULER_A_ID, PRIO_HIGH ); } + +/** @} */ #endif /** + * @defgroup RtemsSemReqPerfMtxPiReleasePreempt \ + * spec:/rtems/sem/req/perf-mtx-pi-release-preempt + * + * @{ + */ + +/** * @brief Let one task wait on the mutex. */ static void RtemsSemReqPerfMtxPiReleasePreempt_Setup( @@ -605,6 +647,14 @@ static bool RtemsSemReqPerfMtxPiReleasePreempt_Teardown_Wrap( ); } +/** @} */ + +/** + * @defgroup RtemsSemReqPerfMtxPiTry spec:/rtems/sem/req/perf-mtx-pi-try + * + * @{ + */ + /** * @brief Make the mutex unavailable. */ @@ -667,6 +717,15 @@ static void RtemsSemReqPerfMtxPiTry_Cleanup( RtemsSemValPerf_Context *ctx ) Send( ctx, EVENT_RELEASE ); } +/** @} */ + +/** + * @defgroup RtemsSemReqPerfMtxPiWaitForever \ + * spec:/rtems/sem/req/perf-mtx-pi-wait-forever + * + * @{ + */ + /** * @brief Make the mutex unavailable. */ @@ -751,6 +810,15 @@ static bool RtemsSemReqPerfMtxPiWaitForever_Teardown_Wrap( ); } +/** @} */ + +/** + * @defgroup RtemsSemReqPerfMtxPiWaitTimed \ + * spec:/rtems/sem/req/perf-mtx-pi-wait-timed + * + * @{ + */ + /** * @brief Make the mutex unavailable. */ @@ -825,6 +893,8 @@ static bool RtemsSemReqPerfMtxPiWaitTimed_Teardown_Wrap( return RtemsSemReqPerfMtxPiWaitTimed_Teardown( ctx, delta, tic, toc, retry ); } +/** @} */ + /** * @fn void T_case_body_RtemsSemValPerf( void ) */ diff --git a/testsuites/validation/tc-task-performance.c b/testsuites/validation/tc-task-performance.c index a13f745732..e0ea113e76 100644 --- a/testsuites/validation/tc-task-performance.c +++ b/testsuites/validation/tc-task-performance.c @@ -226,6 +226,12 @@ static T_fixture RtemsTaskValPerf_Fixture = { }; /** + * @defgroup RtemsTaskReqPerfConstruct spec:/rtems/task/req/perf-construct + * + * @{ + */ + +/** * @brief Construct a worker task. */ static void RtemsTaskReqPerfConstruct_Body( RtemsTaskValPerf_Context *ctx ) @@ -274,6 +280,14 @@ static bool RtemsTaskReqPerfConstruct_Teardown_Wrap( return RtemsTaskReqPerfConstruct_Teardown( ctx, delta, tic, toc, retry ); } +/** @} */ + +/** + * @defgroup RtemsTaskReqPerfRestart spec:/rtems/task/req/perf-restart + * + * @{ + */ + /** * @brief Create and start a worker task. */ @@ -340,6 +354,15 @@ static void RtemsTaskReqPerfRestart_Cleanup( RtemsTaskValPerf_Context *ctx ) DeleteTask( ctx->worker_id ); } +/** @} */ + +/** + * @defgroup RtemsTaskReqPerfRestartPreempt \ + * spec:/rtems/task/req/perf-restart-preempt + * + * @{ + */ + /** * @brief Create and start a worker task. */ @@ -422,6 +445,14 @@ static void RtemsTaskReqPerfRestartPreempt_Cleanup( DeleteTask( ctx->worker_id ); } +/** @} */ + +/** + * @defgroup RtemsTaskReqPerfRestartSelf spec:/rtems/task/req/perf-restart-self + * + * @{ + */ + /** * @brief Create and start a worker task. */ @@ -492,8 +523,17 @@ static void RtemsTaskReqPerfRestartSelf_Cleanup( DeleteTask( ctx->worker_id ); } +/** @} */ + #if defined(RTEMS_SMP) /** + * @defgroup RtemsTaskReqPerfSetSchedulerMove \ + * spec:/rtems/task/req/perf-set-scheduler-move + * + * @{ + */ + +/** * @brief Set the runner affinity. */ static void RtemsTaskReqPerfSetSchedulerMove_Prepare( @@ -572,9 +612,18 @@ static void RtemsTaskReqPerfSetSchedulerMove_Cleanup( { SetSelfAffinityOne( 0 ); } + +/** @} */ #endif /** + * @defgroup RtemsTaskReqPerfSetSchedulerNop \ + * spec:/rtems/task/req/perf-set-scheduler-nop + * + * @{ + */ + +/** * @brief Set the scheduler of the runner. */ static void RtemsTaskReqPerfSetSchedulerNop_Body( @@ -632,8 +681,17 @@ static bool RtemsTaskReqPerfSetSchedulerNop_Teardown_Wrap( ); } +/** @} */ + #if defined(RTEMS_SMP) /** + * @defgroup RtemsTaskReqPerfSetSchedulerOther \ + * spec:/rtems/task/req/perf-set-scheduler-other + * + * @{ + */ + +/** * @brief Create and start a worker task for scheduler B. */ static void RtemsTaskReqPerfSetSchedulerOther_Prepare( @@ -715,10 +773,19 @@ static void RtemsTaskReqPerfSetSchedulerOther_Cleanup( { DeleteTask( ctx->worker_id ); } + +/** @} */ #endif #if defined(RTEMS_SMP) /** + * @defgroup RtemsTaskReqPerfSetSchedulerPreempt \ + * spec:/rtems/task/req/perf-set-scheduler-preempt + * + * @{ + */ + +/** * @brief Create and start two worker tasks for scheduler B. Make the second * worker busy. */ @@ -834,9 +901,17 @@ static void RtemsTaskReqPerfSetSchedulerPreempt_Cleanup( DeleteTask( ctx->worker_2_id ); DeleteTask( ctx->worker_id ); } + +/** @} */ #endif /** + * @defgroup RtemsTaskReqPerfStart spec:/rtems/task/req/perf-start + * + * @{ + */ + +/** * @brief Create a worker task. */ static void RtemsTaskReqPerfStart_Setup( RtemsTaskValPerf_Context *ctx ) @@ -904,6 +979,15 @@ static bool RtemsTaskReqPerfStart_Teardown_Wrap( return RtemsTaskReqPerfStart_Teardown( ctx, delta, tic, toc, retry ); } +/** @} */ + +/** + * @defgroup RtemsTaskReqPerfStartPreempt \ + * spec:/rtems/task/req/perf-start-preempt + * + * @{ + */ + /** * @brief Create a worker task. */ @@ -975,6 +1059,8 @@ static bool RtemsTaskReqPerfStartPreempt_Teardown_Wrap( return RtemsTaskReqPerfStartPreempt_Teardown( ctx, delta, tic, toc, retry ); } +/** @} */ + /** * @fn void T_case_body_RtemsTaskValPerf( void ) */ |