source: rtems/testsuites/rhealstone/rhsemshuffle/rhsemshuffle.adoc @ b6c1578

4.115
Last change on this file since b6c1578 was b6c1578, checked in by Joel Sherrill <joel.sherrill@…>, on Jan 5, 2014 at 5:17:08 PM

rhealstone: Add rh prefix to all test names

This makes them easier to spot as a group in wildcard searches.

  • Property mode set to 100644
File size: 1.1 KB
Line 
1= Semaphore Shuffle Benchmark
2
3This benchmark measures the average delay between a task's release of a
4semaphore and the activation of another task blocked on that semaphore.
5
6== Directives
7
8  * rtems_semaphore_obtain
9  * rtems_semaphore_release
10  * rtems_task_wake_after
11
12
13== Methodology
14
15This benchmark has two equal priority tasks switch between themselves a total
16of BENCHMARKS * 2 times. This is timed, and then execute the same code but
17having the tasks pass a semphore between themselves. A task obtains the
18semphore, then yields to the other task, which blocks on the semaphore. The
19task owning the semaphore then releases it and yields. This process is
20repeated by the other task.
21
22This benchmark has overhead, especially in the time it takes to switch between
23the two tasks, which happens a total of 2 times per semaphore shuffle. By first
24timing how long it takes the tasks to switch between themselves without any
25semaphore related calls, the overhead time is found. This time is then subtracted
26from the total time of the benchmark, with semaphore shuffling occuring.
Note: See TracBrowser for help on using the repository browser.