POSIX Mutex Performance

Joel Sherrill joel at OARcorp.com
Thu Mar 25 16:48:00 UTC 2004

Gordon Scott wrote:

> Hi all,
> The whole of 'performance issue' is a classic benchmark conundrum.
> 	Which aspects of performance are most
> 	important in which context?

Nice discussion.  The question that should always lurk in the
back of your mind when you hear "real-time" is whether they
mean fast or predictable/deterministic.  RTEMS is designed to
be fast while having predictable and deterministic behavior.

Features like priority blocking order, preemption control on
threads, and priority ceiling and inheritance protocols are
important tools in constructing a predictable application.

> An RTOS's overiding constraints are normally predictable time
> performance and robustness. Pure speed, even in a real-time context is
> [usually?] secondary. If things aren't quick enough, revisit the
> application's alogorithms, use a faster CPU, more appropriate class of
> CPU, additional CPUs, better IO or whatever. Except in fairly
> exceptional circumstances, hunting around in any decent mature RTOS for
> a performance improvement is unlikely to deliver significant benefits.
> The Linux kernel has been looked at and polished by lots of good people,
> so it darned well should be quick and efficient. It will do many
> RTOS-like things very well. But it isn't an RTOS.
> FWIW, a main part of my personal philosophy on real-time is to try and
> make everything less urgent than everything else. That means that only
> the stuff that's _really_ urgent needs the CPU right now this
> microsecond.

Joel Sherrill, Ph.D.             Director of Research & Development
joel 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 users mailing list