Changeset 58afe54 in rtems-central


Ignore:
Timestamp:
11/25/21 12:55:40 (7 months ago)
Author:
Sebastian Huber <sebastian.huber@…>
Branches:
master
Children:
062e230
Parents:
94e99ff
git-author:
Sebastian Huber <sebastian.huber@…> (11/25/21 12:55:40)
git-committer:
Sebastian Huber <sebastian.huber@…> (11/25/21 15:54:40)
Message:

spec: Add performance requirements

Location:
spec
Files:
1 added
9 edited
1 moved

Legend:

Unmodified
Added
Removed
  • spec/rtems/barrier/req/perf-release-auto-other-cpu.yml

    r94e99ff r58afe54  
    4949    SetScheduler( ctx->worker_id, SCHEDULER_B_ID, PRIO_NORMAL );
    5050    StartTask( ctx->worker_id, BarrierWaitWorker, ctx );
    51   description: null
    52 test-setup:
    53   brief: |
    54     Make sure the worker task is fully blocked on the barrier.
    55   code: |
    5651    WaitForNextTask( 1, ctx->worker_id );
    5752  description: null
     53test-setup: null
    5854test-teardown:
    5955  brief: |
    60     Set the measured runtime.  Discard samples interrupted by a clock tick.
     56    Make sure the worker waits for the next event.  Set the measured runtime.
     57    Discard samples interrupted by a clock tick.
    6158  code: |
    6259    T_quiet_rsc_success( ctx->status );
    6360
     61    WaitForNextTask( 1, ctx->worker_id );
    6462    *delta = ctx->end - ctx->begin;
    6563
  • spec/rtems/barrier/req/perf-release-manual-preempt.yml

    r94e99ff r58afe54  
    2020    uint32_t count;
    2121
     22    ctx->begin = T_tick();
    2223    ctx->status = rtems_barrier_release( ctx->barrier_id, &count );
    2324  description: null
     
    7071  point measured by ``V`` right after a call to ${../if/wait:/name} returns
    7172  successfully due to the ${../if/release:/name} call associated with
    72   :math:`B`.  While the execution environment is ${.:/environment}, while the
    73   barrier is a manual release barrier, while the measurement sample is :math:`E
    74   - B`, when exactly ${../val/perf:/params/sample-count} samples are collected,
    75   the ${.:/limit-kind} shall be ${.:/limit-condition}.
     73  :math:`B`.
     74
     75  While the execution environment is ${.:/environment}, while the barrier is a
     76  manual release barrier, while the measurement sample is :math:`E - B`, when
     77  exactly ${../val/perf:/params/sample-count} samples are collected, the
     78  ${.:/limit-kind} shall be ${.:/limit-condition}.
    7679type: requirement
  • spec/rtems/event/req/perf-other-cpu.yml

    r94e99ff r58afe54  
    3636test-teardown:
    3737  brief: |
    38     Set the measured runtime.  Make sure the worker waits for the next event.
     38    Make sure the worker waits for the next event.  Set the measured runtime.
    3939    Discard samples interrupted by a clock tick.
    4040  code: |
    4141    T_quiet_rsc_success( ctx->status );
    4242
     43    WaitForNextTask( 1, ctx->worker_id );
    4344    *delta = ctx->end - ctx->begin;
    44     WaitForNextTask( 1, ctx->worker_id );
    4545
    4646    return tic == toc;
  • spec/rtems/message/req/perf-receive-wait-forever.yml

    r94e99ff r58afe54  
    2121    size_t   size;
    2222
     23    ctx->begin = T_tick();
    2324    ctx->status = rtems_message_queue_receive(
    2425      ctx->queue_id,
  • spec/rtems/message/req/perf-receive-wait-timed.yml

    r94e99ff r58afe54  
    2121    size_t   size;
    2222
     23    ctx->begin = T_tick();
    2324    ctx->status = rtems_message_queue_receive(
    2425      ctx->queue_id,
  • spec/rtems/message/req/perf-send-other-cpu.yml

    r94e99ff r58afe54  
    4848test-teardown:
    4949  brief: |
    50     Set the measured runtime.  Make sure the worker waits for the next event.
     50    Make sure the worker waits for the next event.  Set the measured runtime.
    5151    Discard samples interrupted by a clock tick.
    5252  code: |
    5353    T_quiet_rsc_success( ctx->status );
    5454
     55    WaitForNextTask( 1, ctx->worker_id );
    5556    *delta = ctx->end - ctx->begin;
    56     WaitForNextTask( 1, ctx->worker_id );
    5757
    5858    return tic == toc;
  • spec/rtems/sem/req/perf-mtx-pi-release-other-cpu.yml

    r94e99ff r58afe54  
    1818    Release the mutex.
    1919  code: |
     20    ctx->begin = T_tick();
    2021    ctx->status = rtems_semaphore_release( ctx->mutex_id );
    2122  description: null
     
    4243test-teardown:
    4344  brief: |
    44     Set the measured runtime.  Make sure the worker waits for the next event.
     45    Make sure the worker waits for the next event.  Set the measured runtime.
    4546    Discard samples interrupted by a clock tick.
    4647  code: |
    4748    T_quiet_rsc( ctx->status, RTEMS_SUCCESSFUL );
    4849
     50    WaitForNextTask( 1, ctx->worker_id );
    4951    *delta = ctx->end - ctx->begin;
    50     WaitForNextTask( 1, ctx->worker_id );
    5152
    5253    return tic == toc;
  • spec/rtems/sem/req/perf-mtx-pi-release-preempt.yml

    r94e99ff r58afe54  
    1818    Release the mutex.
    1919  code: |
     20    ctx->begin = T_tick();
    2021    ctx->status = rtems_semaphore_release( ctx->mutex_id );
    2122  description: null
  • spec/rtems/task/val/perf.yml

    r94e99ff r58afe54  
    1414test-context:
    1515- brief: |
     16    This member provides a worker identifier.
     17  description: null
     18  member: |
     19    rtems_id worker_id
     20- brief: |
    1621    This member provides a status code.
    1722  description: null
     
    2227test-includes:
    2328- rtems.h
    24 test-local-includes: []
     29test-local-includes:
     30- ts-config.h
     31- tx-support.h
    2532test-prepare: null
    2633test-setup: null
    2734test-stop: null
    28 test-support: null
     35test-support: |
     36  RTEMS_ALIGNED( RTEMS_TASK_STORAGE_ALIGNMENT ) static char task_storage[
     37    RTEMS_TASK_STORAGE_SIZE(
     38      TEST_MAXIMUM_TLS_SIZE + TEST_MINIMUM_STACK_SIZE,
     39      RTEMS_DEFAULT_ATTRIBUTES
     40    )
     41  ];
     42
     43  static const rtems_task_config config = {
     44    .name = OBJECT_NAME,
     45    .initial_priority = PRIO_NORMAL,
     46    .storage_area = task_storage,
     47    .storage_size = sizeof( task_storage ),
     48    .maximum_thread_local_storage_size = 0,
     49    .initial_modes = RTEMS_DEFAULT_MODES,
     50    .attributes = RTEMS_DEFAULT_ATTRIBUTES
     51  };
    2952test-target: testsuites/validation/tc-task-performance.c
    3053test-teardown: null
  • spec/testsuites/performance-no-clock-0.yml

    r94e99ff r58afe54  
    1414  #define CONFIGURE_MAXIMUM_PROCESSORS 4
    1515
     16  #define CONFIGURE_APPLICATION_DOES_NOT_NEED_CLOCK_DRIVER
     17
    1618  #include "ts-default.h"
    1719test-description: |
     
    2123- rtems/test-info.h
    2224test-local-includes: []
    23 test-suite-name: Performance0
    24 test-target: testsuites/validation/ts-performance-0.c
     25test-suite-name: PerformanceNoClock0
     26test-target: testsuites/validation/ts-performance-no-clock-0.c
    2527type: test-suite
Note: See TracChangeset for help on using the changeset viewer.