summaryrefslogblamecommitdiffstats
path: root/spec/rtems/message/req/perf-send-preempt.yml
blob: 262884c8a3856924a205c28155ad6a5fa432950e (plain) (tree)
1
2
3
4



                                                                         




























                                                                           
                                 










                                                
                                               































                                                                           




















                                                                           



































                                                                         



































                                                                         




















                                                                         




















                                                                         









































                                                                           



                                                                          


                                                                             
                                                                   



                                                                
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/3Y1G8SMm2FRTpZB5_0NhbpDnatbEYmbDLLW58d-wXuY=:
    DirtyCache:
      max-upper-bound: 1.0799999999999998e-06
      median-lower-bound: 7.2e-07
      median-upper-bound: 1.0799999999999998e-06
      min-lower-bound: 7.040000000000001e-07
    FullCache:
      max-upper-bound: 1.056e-06
      median-lower-bound: 6.88e-07
      median-upper-bound: 1.032e-06
      min-lower-bound: 6.88e-07
    HotCache:
      max-upper-bound: 1.032e-06
      median-lower-bound: 6.88e-07
      median-upper-bound: 1.032e-06
      min-lower-bound: 6.88e-07
    Load/1:
      max-upper-bound: 1.1759999999999998e-06
      median-lower-bound: 7.84e-07
      median-upper-bound: 1.1759999999999998e-06
      min-lower-bound: 7.68e-07
    Load/2:
      max-upper-bound: 1.1759999999999998e-06
      median-lower-bound: 7.84e-07
      median-upper-bound: 1.1759999999999998e-06
      min-lower-bound: 7.84e-07
  sparc/gr712rc/smp/qual-only/LDe0OENspSb4U2hhl9QK2R3q4ntkBdYP_JLnD_-aZ34=:
    DirtyCache:
      max-upper-bound: 1.6044e-06
      median-lower-bound: 1.0496e-06
      median-upper-bound: 1.5744000000000001e-06
      min-lower-bound: 1.04e-06
    FullCache:
      max-upper-bound: 7.8e-07
      median-lower-bound: 4.0e-07
      median-upper-bound: 6.0e-07
      min-lower-bound: 4.0e-07
    HotCache:
      max-upper-bound: 5.399999999999999e-07
      median-lower-bound: 3.496e-07
      median-upper-bound: 5.399999999999999e-07
      min-lower-bound: 3.496e-07
    Load/1:
      max-upper-bound: 1.56e-06
      median-lower-bound: 1.0296e-06
      median-upper-bound: 1.5443999999999998e-06
      min-lower-bound: 1.0296e-06
    Load/2:
      max-upper-bound: 1.8144e-06
      median-lower-bound: 1.2096000000000002e-06
      median-upper-bound: 1.8144e-06
      min-lower-bound: 1.2000000000000002e-06
  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: 8.7e-07
      median-lower-bound: 5.696e-07
      median-upper-bound: 8.544e-07
      min-lower-bound: 5.696e-07
    FullCache:
      max-upper-bound: 4.644e-07
      median-lower-bound: 2.2960000000000002e-07
      median-upper-bound: 3.444e-07
      min-lower-bound: 2.2e-07
    HotCache:
      max-upper-bound: 3.1439999999999996e-07
      median-lower-bound: 2.0e-07
      median-upper-bound: 3.0e-07
      min-lower-bound: 2.0e-07
    Load/1:
      max-upper-bound: 9.143999999999999e-07
      median-lower-bound: 6.096000000000001e-07
      median-upper-bound: 9.143999999999999e-07
      min-lower-bound: 6.000000000000001e-07
  sparc/gr740/smp/qual-only/3Y1G8SMm2FRTpZB5_0NhbpDnatbEYmbDLLW58d-wXuY=:
    DirtyCache:
      max-upper-bound: 5.124e-05
      median-lower-bound: 3.4160000000000005e-05
      median-upper-bound: 5.124e-05
      min-lower-bound: 3.3776e-05
    FullCache:
      max-upper-bound: 5.0064e-05
      median-lower-bound: 3.3312e-05
      median-upper-bound: 4.9968e-05
      min-lower-bound: 3.3152000000000004e-05
    HotCache:
      max-upper-bound: 4.9847999999999994e-05
      median-lower-bound: 3.3232e-05
      median-upper-bound: 4.9847999999999994e-05
      min-lower-bound: 3.3232e-05
    Load/1:
      max-upper-bound: 5.635199999999999e-05
      median-lower-bound: 3.7568000000000004e-05
      median-upper-bound: 5.635199999999999e-05
      min-lower-bound: 3.7568000000000004e-05
    Load/2:
      max-upper-bound: 5.5583999999999995e-05
      median-lower-bound: 3.7056e-05
      median-upper-bound: 5.5583999999999995e-05
      min-lower-bound: 3.7056e-05
    Load/3:
      max-upper-bound: 5.635199999999999e-05
      median-lower-bound: 3.7568000000000004e-05
      median-upper-bound: 5.635199999999999e-05
      min-lower-bound: 3.7568000000000004e-05
    Load/4:
      max-upper-bound: 5.6256e-05
      median-lower-bound: 3.7504e-05
      median-upper-bound: 5.6256e-05
      min-lower-bound: 3.7504e-05
  sparc/gr740/smp/qual-only/qpmWME3Tk2kfoQL1kmgyerzkvLKkrfPY7xWIWGfY0Fg=:
    DirtyCache:
      max-upper-bound: 4.929119999999999e-05
      median-lower-bound: 3.09472e-05
      median-upper-bound: 4.6420799999999994e-05
      min-lower-bound: 3.0835200000000006e-05
    FullCache:
      max-upper-bound: 3.09648e-05
      median-lower-bound: 1.46112e-05
      median-upper-bound: 2.19168e-05
      min-lower-bound: 1.45504e-05
    HotCache:
      max-upper-bound: 1.00992e-05
      median-lower-bound: 6.729600000000001e-06
      median-upper-bound: 1.00944e-05
      min-lower-bound: 6.729600000000001e-06
    Load/1:
      max-upper-bound: 6.28272e-05
      median-lower-bound: 2.85344e-05
      median-upper-bound: 4.2801599999999994e-05
      min-lower-bound: 2.7628800000000002e-05
    Load/2:
      max-upper-bound: 0.000297984
      median-lower-bound: 0.0001980832
      median-upper-bound: 0.0002971248
      min-lower-bound: 0.0001942496
    Load/3:
      max-upper-bound: 0.00046962239999999997
      median-lower-bound: 0.000312384
      median-upper-bound: 0.000468576
      min-lower-bound: 0.0003081312
    Load/4:
      max-upper-bound: 0.0005601888
      median-lower-bound: 0.000371936
      median-upper-bound: 0.000557904
      min-lower-bound: 0.0003658112
  sparc/gr740/uni/qual-only/3Y1G8SMm2FRTpZB5_0NhbpDnatbEYmbDLLW58d-wXuY=:
    DirtyCache:
      max-upper-bound: 3.252e-05
      median-lower-bound: 2.152e-05
      median-upper-bound: 3.2279999999999996e-05
      min-lower-bound: 2.1328e-05
    FullCache:
      max-upper-bound: 3.1104e-05
      median-lower-bound: 2.0736e-05
      median-upper-bound: 3.1104e-05
      min-lower-bound: 2.0544000000000002e-05
    HotCache:
      max-upper-bound: 3.108e-05
      median-lower-bound: 2.072e-05
      median-upper-bound: 3.108e-05
      min-lower-bound: 2.072e-05
    Load/1:
      max-upper-bound: 3.72e-05
      median-lower-bound: 2.4608e-05
      median-upper-bound: 3.6911999999999995e-05
      min-lower-bound: 2.4544e-05
  sparc/gr740/uni/qual-only/qpmWME3Tk2kfoQL1kmgyerzkvLKkrfPY7xWIWGfY0Fg=:
    DirtyCache:
      max-upper-bound: 2.8344e-05
      median-lower-bound: 1.82688e-05
      median-upper-bound: 2.74032e-05
      min-lower-bound: 1.816e-05
    FullCache:
      max-upper-bound: 1.7952e-05
      median-lower-bound: 9.968e-06
      median-upper-bound: 1.4951999999999998e-05
      min-lower-bound: 9.9136e-06
    HotCache:
      max-upper-bound: 5.0832e-06
      median-lower-bound: 3.3888e-06
      median-upper-bound: 5.0832e-06
      min-lower-bound: 3.3888e-06
    Load/1:
      max-upper-bound: 2.94768e-05
      median-lower-bound: 1.9264e-05
      median-upper-bound: 2.8896e-05
      min-lower-bound: 1.92096e-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: |
    Send a message.
  code: |
    uint64_t message;

    ctx->begin = T_tick();
    ctx->status = rtems_message_queue_send(
      ctx->queue_id,
      &message,
      sizeof( message )
    );
  description: null
test-cleanup: null
test-prepare: null
test-setup:
  brief: |
    Let the worker wait on the message queue.
  code: |
    Send( ctx, EVENT_RECEIVE | EVENT_RECEIVE_END );
  description: null
test-teardown:
  brief: |
    Set the measured runtime.  Discard samples interrupted by a clock tick.
  code: |
    T_quiet_rsc_success( ctx->status );

    *delta = ctx->end - ctx->begin;

    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/send:/name}
  which unblocks the waiting task V which does preempt the caller.  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 a message queue
  is empty, while only task V waits on the message queue, 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