summaryrefslogblamecommitdiffstats
path: root/spec/rtems/message/req/perf-send-other-cpu.yml
blob: 327f252381c1ac7e24aa689f173744e11bc28f0f (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: RTEMS_SMP
limits:
  sparc/gr712rc/smp/qual-only/3Y1G8SMm2FRTpZB5_0NhbpDnatbEYmbDLLW58d-wXuY=:
    DirtyCache:
      max-upper-bound: 1.128e-06
      median-lower-bound: 7.36e-07
      median-upper-bound: 1.104e-06
      min-lower-bound: 7.36e-07
    FullCache:
      max-upper-bound: 1.0799999999999998e-06
      median-lower-bound: 7.040000000000001e-07
      median-upper-bound: 1.056e-06
      min-lower-bound: 7.040000000000001e-07
    HotCache:
      max-upper-bound: 1.0799999999999998e-06
      median-lower-bound: 7.2e-07
      median-upper-bound: 1.0799999999999998e-06
      min-lower-bound: 7.2e-07
    Load/1:
      max-upper-bound: 1.2239999999999998e-06
      median-lower-bound: 8.16e-07
      median-upper-bound: 1.2239999999999998e-06
      min-lower-bound: 8.0e-07
    Load/2:
      max-upper-bound: 1.2239999999999998e-06
      median-lower-bound: 8.0e-07
      median-upper-bound: 1.2e-06
      min-lower-bound: 7.84e-07
  sparc/gr712rc/smp/qual-only/LDe0OENspSb4U2hhl9QK2R3q4ntkBdYP_JLnD_-aZ34=:
    DirtyCache:
      max-upper-bound: 1.8e-06
      median-lower-bound: 1.1896e-06
      median-upper-bound: 1.7843999999999998e-06
      min-lower-bound: 1.1896e-06
    FullCache:
      max-upper-bound: 8.544e-07
      median-lower-bound: 4.2e-07
      median-upper-bound: 6.299999999999999e-07
      min-lower-bound: 4.2e-07
    HotCache:
      max-upper-bound: 6.144e-07
      median-lower-bound: 4.0960000000000007e-07
      median-upper-bound: 6.144e-07
      min-lower-bound: 4.0e-07
    Load/1:
      max-upper-bound: 1.77e-06
      median-lower-bound: 1.1696e-06
      median-upper-bound: 1.7543999999999999e-06
      min-lower-bound: 1.1696e-06
    Load/2:
      max-upper-bound: 2.01e-06
      median-lower-bound: 1.34e-06
      median-upper-bound: 2.01e-06
      min-lower-bound: 1.3296e-06
  sparc/gr740/smp/qual-only/3Y1G8SMm2FRTpZB5_0NhbpDnatbEYmbDLLW58d-wXuY=:
    DirtyCache:
      max-upper-bound: 5.2487999999999996e-05
      median-lower-bound: 3.4848e-05
      median-upper-bound: 5.2272000000000004e-05
      min-lower-bound: 3.4752e-05
    FullCache:
      max-upper-bound: 5.1432e-05
      median-lower-bound: 3.4224e-05
      median-upper-bound: 5.1336e-05
      min-lower-bound: 3.4112e-05
    HotCache:
      max-upper-bound: 5.1936e-05
      median-lower-bound: 3.392e-05
      median-upper-bound: 5.088e-05
      min-lower-bound: 3.3776e-05
    Load/1:
      max-upper-bound: 5.7552e-05
      median-lower-bound: 3.8128000000000005e-05
      median-upper-bound: 5.7192e-05
      min-lower-bound: 3.7312000000000005e-05
    Load/2:
      max-upper-bound: 5.7504e-05
      median-lower-bound: 3.8e-05
      median-upper-bound: 5.7e-05
      min-lower-bound: 3.7136000000000005e-05
    Load/3:
      max-upper-bound: 5.7504e-05
      median-lower-bound: 3.8e-05
      median-upper-bound: 5.7e-05
      min-lower-bound: 3.7136000000000005e-05
    Load/4:
      max-upper-bound: 5.7696e-05
      median-lower-bound: 3.8224000000000005e-05
      median-upper-bound: 5.7335999999999995e-05
      min-lower-bound: 3.7552e-05
  sparc/gr740/smp/qual-only/qpmWME3Tk2kfoQL1kmgyerzkvLKkrfPY7xWIWGfY0Fg=:
    DirtyCache:
      max-upper-bound: 5.56416e-05
      median-lower-bound: 3.18464e-05
      median-upper-bound: 4.7769600000000004e-05
      min-lower-bound: 3.06304e-05
    FullCache:
      max-upper-bound: 3.25248e-05
      median-lower-bound: 1.46688e-05
      median-upper-bound: 2.2003199999999996e-05
      min-lower-bound: 1.44352e-05
    HotCache:
      max-upper-bound: 1.16352e-05
      median-lower-bound: 7.638400000000001e-06
      median-upper-bound: 1.14576e-05
      min-lower-bound: 7.638400000000001e-06
    Load/1:
      max-upper-bound: 6.6e-05
      median-lower-bound: 3.0457599999999998e-05
      median-upper-bound: 4.56864e-05
      min-lower-bound: 3.0156800000000002e-05
    Load/2:
      max-upper-bound: 0.0002622576
      median-lower-bound: 0.0001733088
      median-upper-bound: 0.0002599632
      min-lower-bound: 0.0001720704
    Load/3:
      max-upper-bound: 0.00046149599999999993
      median-lower-bound: 0.00029721280000000004
      median-upper-bound: 0.0004458192
      min-lower-bound: 0.00029710720000000003
    Load/4:
      max-upper-bound: 0.0005809872
      median-lower-bound: 0.0003810144
      median-upper-bound: 0.0005715216
      min-lower-bound: 0.000376416
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:
  brief: |
    Move worker to scheduler A.
  code: |
    SetScheduler( ctx->worker_id, SCHEDULER_A_ID, PRIO_HIGH );
  description: null
test-prepare:
  brief: |
    Move worker to scheduler B.
  code: |
    SetScheduler( ctx->worker_id, SCHEDULER_B_ID, PRIO_NORMAL );
  description: null
test-setup:
  brief: |
    Let the worker wait on the message queue.
  code: |
    Send( ctx, EVENT_RECEIVE | EVENT_RECEIVE_END );
    WaitForNextTask( 1, ctx->worker_id );
  description: null
test-teardown:
  brief: |
    Make sure the worker waits for the next event.  Set the measured runtime.
    Discard samples interrupted by a clock tick.
  code: |
    T_quiet_rsc_success( ctx->status );

    WaitForNextTask( 1, ctx->worker_id );
    *delta = ctx->end - ctx->begin;

    return tic == toc;
  description: null
text: |
  Let U and V be two tasks with distinct home schedulers.  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 is scheduled on another
  processor.  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