SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause copyrights: - Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de) enabled-by: true limits: sparc/gr712rc/smp/qual-only/aQM5D84izENqUHf5JXZtqffaL5bD4qBjf9HOSNfAMBY=: DirtyCache: max-upper-bound: 0.00017155199999999997 median-lower-bound: 0.000114368 median-upper-bound: 0.00017155199999999997 min-lower-bound: 0.0001136 FullCache: max-upper-bound: 9.839999999999999e-05 median-lower-bound: 5.196800000000001e-05 median-upper-bound: 7.7952e-05 min-lower-bound: 5.196800000000001e-05 HotCache: max-upper-bound: 7.3152e-05 median-lower-bound: 4.8768000000000005e-05 median-upper-bound: 7.3152e-05 min-lower-bound: 4.800000000000001e-05 Load/1: max-upper-bound: 0.00017759999999999998 median-lower-bound: 0.00011756800000000001 median-upper-bound: 0.000176352 min-lower-bound: 0.00011756800000000001 Load/2: max-upper-bound: 0.0002112 median-lower-bound: 0.000138368 median-upper-bound: 0.00020755199999999998 min-lower-bound: 0.000138368 sparc/gr712rc/uni/qual-only/3Y1G8SMm2FRTpZB5_0NhbpDnatbEYmbDLLW58d-wXuY=: DirtyCache: max-upper-bound: 2.4e-06 median-lower-bound: 0.0 median-upper-bound: 0.0 min-lower-bound: 0.0 FullCache: max-upper-bound: 2.4e-06 median-lower-bound: 0.0 median-upper-bound: 0.0 min-lower-bound: 0.0 HotCache: max-upper-bound: 2.4e-06 median-lower-bound: 0.0 median-upper-bound: 0.0 min-lower-bound: 0.0 Load/1: max-upper-bound: 2.4e-06 median-lower-bound: 0.0 median-upper-bound: 0.0 min-lower-bound: 0.0 sparc/gr712rc/uni/qual-only/LDe0OENspSb4U2hhl9QK2R3q4ntkBdYP_JLnD_-aZ34=: DirtyCache: max-upper-bound: 1.32e-06 median-lower-bound: 8.8e-07 median-upper-bound: 1.32e-06 min-lower-bound: 8.696e-07 FullCache: max-upper-bound: 8.1e-07 median-lower-bound: 3.4000000000000003e-07 median-upper-bound: 5.1e-07 min-lower-bound: 3.4000000000000003e-07 HotCache: max-upper-bound: 4.8e-07 median-lower-bound: 3.2e-07 median-upper-bound: 4.8e-07 min-lower-bound: 3.2e-07 Load/1: max-upper-bound: 1.38e-06 median-lower-bound: 9.096000000000002e-07 median-upper-bound: 1.3644e-06 min-lower-bound: 9.096000000000002e-07 sparc/gr740/smp/qual-only/3Y1G8SMm2FRTpZB5_0NhbpDnatbEYmbDLLW58d-wXuY=: DirtyCache: max-upper-bound: 6.707999999999999e-05 median-lower-bound: 4.456e-05 median-upper-bound: 6.683999999999999e-05 min-lower-bound: 4.4368000000000006e-05 FullCache: max-upper-bound: 6.580799999999999e-05 median-lower-bound: 4.3872e-05 median-upper-bound: 6.580799999999999e-05 min-lower-bound: 4.3424e-05 HotCache: max-upper-bound: 6.5256e-05 median-lower-bound: 4.3504e-05 median-upper-bound: 6.5256e-05 min-lower-bound: 4.3504e-05 Load/1: max-upper-bound: 7.4976e-05 median-lower-bound: 4.9856000000000005e-05 median-upper-bound: 7.4784e-05 min-lower-bound: 4.9600000000000006e-05 Load/2: max-upper-bound: 7.4976e-05 median-lower-bound: 4.9856000000000005e-05 median-upper-bound: 7.4784e-05 min-lower-bound: 4.9600000000000006e-05 Load/3: max-upper-bound: 7.4976e-05 median-lower-bound: 4.9856000000000005e-05 median-upper-bound: 7.4784e-05 min-lower-bound: 4.9600000000000006e-05 Load/4: max-upper-bound: 7.4976e-05 median-lower-bound: 4.9856000000000005e-05 median-upper-bound: 7.4784e-05 min-lower-bound: 4.9600000000000006e-05 sparc/gr740/smp/qual-only/qpmWME3Tk2kfoQL1kmgyerzkvLKkrfPY7xWIWGfY0Fg=: DirtyCache: max-upper-bound: 6.92304e-05 median-lower-bound: 4.43232e-05 median-upper-bound: 6.64848e-05 min-lower-bound: 4.40896e-05 FullCache: max-upper-bound: 5.2243199999999995e-05 median-lower-bound: 2.0374400000000003e-05 median-upper-bound: 3.05616e-05 min-lower-bound: 2.02944e-05 HotCache: max-upper-bound: 1.5715199999999998e-05 median-lower-bound: 1.04256e-05 median-upper-bound: 1.56384e-05 min-lower-bound: 1.04256e-05 Load/1: max-upper-bound: 9.60048e-05 median-lower-bound: 4.3651200000000007e-05 median-upper-bound: 6.54768e-05 min-lower-bound: 4.2649600000000006e-05 Load/2: max-upper-bound: 0.00044373119999999996 median-lower-bound: 0.0002923392 median-upper-bound: 0.0004385088 min-lower-bound: 0.000292 Load/3: max-upper-bound: 0.0007046208 median-lower-bound: 0.00046840959999999997 median-upper-bound: 0.0007026143999999999 min-lower-bound: 0.00046658560000000003 Load/4: max-upper-bound: 0.0008430864000000001 median-lower-bound: 0.0005612576 median-upper-bound: 0.0008418864 min-lower-bound: 0.0005546976 sparc/gr740/uni/qual-only/3Y1G8SMm2FRTpZB5_0NhbpDnatbEYmbDLLW58d-wXuY=: DirtyCache: max-upper-bound: 4.68e-05 median-lower-bound: 3.12e-05 median-upper-bound: 4.68e-05 min-lower-bound: 3.12e-05 FullCache: max-upper-bound: 4.548e-05 median-lower-bound: 3.0128000000000004e-05 median-upper-bound: 4.5192000000000004e-05 min-lower-bound: 2.9904e-05 HotCache: max-upper-bound: 4.5168e-05 median-lower-bound: 3.0112e-05 median-upper-bound: 4.5168e-05 min-lower-bound: 2.9856000000000003e-05 Load/1: max-upper-bound: 5.171999999999999e-05 median-lower-bound: 3.448e-05 median-upper-bound: 5.171999999999999e-05 min-lower-bound: 3.4288e-05 sparc/gr740/uni/qual-only/qpmWME3Tk2kfoQL1kmgyerzkvLKkrfPY7xWIWGfY0Fg=: DirtyCache: max-upper-bound: 4.3392e-05 median-lower-bound: 2.8384e-05 median-upper-bound: 4.2576e-05 min-lower-bound: 2.8272e-05 FullCache: max-upper-bound: 2.3788799999999998e-05 median-lower-bound: 1.2281600000000001e-05 median-upper-bound: 1.8422400000000002e-05 min-lower-bound: 1.22336e-05 HotCache: max-upper-bound: 8.9712e-06 median-lower-bound: 5.929600000000001e-06 median-upper-bound: 8.8944e-06 min-lower-bound: 5.929600000000001e-06 Load/1: max-upper-bound: 4.45152e-05 median-lower-bound: 2.9411200000000004e-05 median-upper-bound: 4.4116800000000004e-05 min-lower-bound: 2.92768e-05 links: - role: requirement-refinement uid: perf-runtime - role: runtime-measurement-request uid: ../val/perf non-functional-type: performance-runtime params: {} rationale: null references: [] requirement-type: non-functional test-body: brief: | Obtain the unavailable mutex and wait forever. code: | ctx->begin = T_tick(); ctx->status = rtems_semaphore_obtain( ctx->mutex_id, RTEMS_WAIT, UINT32_MAX ); description: null test-cleanup: null test-prepare: null test-setup: brief: | Make the mutex unavailable. code: | Send( ctx, EVENT_OBTAIN ); SetPriority( ctx->worker_id, PRIO_LOW ); Send( ctx, EVENT_END | EVENT_RELEASE ); description: null test-teardown: brief: | Set the measured runtime. Restore the worker priority. Release the mutex. Discard samples interrupted by a clock tick. code: | T_quiet_rsc( ctx->status, RTEMS_SUCCESSFUL ); *delta = ctx->end - ctx->begin; SetPriority( ctx->worker_id, PRIO_HIGH ); ReleaseMutex( ctx->mutex_id ); return tic == toc; description: null text: | Let U and V be two tasks with the same home scheduler. Let :math:`B` be a time point measured by U right before a call to ${../if/obtain:/name} which blocks on the mutex with a timeout. Let :math:`E` be a time point measured by V right after the first context switch after :math:`B`. While the execution environment is ${.:/environment}, while the semaphore is a priority inheritance mutex, while the measurement sample is :math:`E - B`, when exactly ${../val/perf:/params/sample-count} samples are collected, the ${.:/limit-kind} shall be ${.:/limit-condition}. type: requirement