Origin of RTEMS tmtests

Joel Sherrill joel.sherrill at OARcorp.com
Wed Mar 12 15:01:02 UTC 2014


Lots of email this week and I can't even find the one where Sebastian
mentioned something about the tmtests. I wanted to point out their
origin and purpose.

The RTEMS Classic API is based on the RTEID and ORKID specifications.
Those specifications were in turn based on the pSOS+ RTOS. pSOS+
regularly published benchmark results in their marketing literature
with a decent description of their tests. The original set of tmtests
(e.g. tm01-tm27) were written specifically to be able to compare
RTEMS performance with the published results of pSOS+ and were
based on the published descriptions of their tests.

These tests have turned out to be comparable to what RTOS vendors
often use to cite various service execution times. 

Most of the cases are for service and cases which are fixed or bounded
execution time algorithmically.

Over the years, they have been used to ensure performance didn't
deteriorate, to compare RTEMS to other RTOSes, and to ensure a
custom board had results comparable to a reference board.

They were never intended to show variance and many are constructed
in a way that even min/max/avg would require code changes. When they
were written, the embedded CPUs often didn't have pipelining or cache so
there wasn't much variation anyway. :)

If we want to add tests that show variance, then we need a plan similar to
what was done for the POSIX timing tests. This simply cited the cases which
were of interest and tracked status.

Joel Sherrill, Ph.D.             Director of Research & Development
joel.sherrill at OARcorp.com        On-Line Applications Research
Ask me about RTEMS: a free RTOS  Huntsville AL 35805
Support Available                (256) 722-9985

More information about the devel mailing list