Skip to content

tests/benchmarks/timing_info: wrong value for context switch duration #15728

@ioannisg

Description

@ioannisg

Describe the bug
The reported value of Context Switch time is not correct for ARM, even though the test is passing.
Issue reported for nrf52 boards, but it is a rather generic bug. The test is passing, though.

To Reproduce
Steps to reproduce the behavior:

  1. mkdir build; cd build
  2. cmake -DBOARD=nrf52_pca10040
  3. make
  4. See error below:
***** Booting Zephyr OS zephyr-v1.14.0-346-g0654c33229e9 *****
starting test - Time Measurement
Timing Results: Clock Frequency: 64 MHz
Context switch                               :418888 cycles , 6492764 ns
Interrupt latency                            :  88 cycles ,  1364 ns
Tick overhead                                :   0 cycles ,     0 ns
Thread Creation                              :1388 cycles , 21514 ns
Thread cancel                                :3124 cycles , 48422 ns
Thread abort                                 :3488 cycles , 54064 ns
Thread Suspend                               :1020 cycles , 15810 ns
Thread Resume                                : 968 cycles , 15004 ns
Thread Yield                                 :1000 cycles , 15500 ns
Thread Sleep                                 :1828 cycles , 28334 ns
Heap Malloc                                  : 816 cycles , 12648 ns
Heap Free                                    : 884 cycles , 13702 ns
Semaphore Take with context switch           :1852 cycles , 28706 ns
Semaphore Give with context switch           :1460 cycles , 22630 ns
Semaphore Take without context switch        : 116 cycles ,  1798 ns
Semaphore Give without context switch        : 544 cycles ,  8432 ns
Mutex lock                                   : 556 cycles ,  8618 ns
Mutex unlock                                 : 672 cycles , 10416 ns
Message Queue Put with context switch        :1284 cycles , 19902 ns
Message Queue Put without context switch     : 316 cycles ,  4898 ns
Message Queue get with context switch        :1608 cycles , 24924 ns
Message Queue get without context switch     : 324 cycles ,  5022 ns
MailBox synchronous put                      :2208 cycles , 34224 ns
MailBox synchronous get                      :1620 cycles , 25110 ns
MailBox asynchronous put                     : 516 cycles ,  7998 ns
MailBox get without context switch           :1144 cycles , 17732 ns
Drop to user mode                            :1556 cycles , 24118 ns
User thread Creation                         :2896 cycles , 44888 ns
Syscall overhead                             : 236 cycles ,  3658 ns
Validation overhead k object init            : 240 cycles ,  3720 ns
Validation overhead k object permission      : 236 cycles ,  3658 ns
Timing Measurement  finished
PASS - main
===================================================================
===================================================================
PROJECT EXECUTION SUCCESSFUL

Metadata

Metadata

Assignees

No one assigned

    Labels

    area: TestsIssues related to a particular existing or missing testbugThe issue is a bug, or the PR is fixing a bugpriority: lowLow impact/importance bug

    Type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions