Asynchronicity article - race conditions with Read_timer() ?

Aaron J. Grier aaron at frye.com
Thu Sep 9 01:00:26 UTC 2004


On Thu, Sep 09, 2004 at 08:57:28AM +1000, Andrew Sinclair wrote:
> I came across an article on the internet entitled Asynchronicity. Refer 
> http://www.embedded.com/story/OEG20010615S0111
> 
> It states
> "The RTEMS real-time operating system provided by OAR Corp. 
> (ftp://ftp.oarcorp.com/pub/rtems/releases/4.5.0/) is a nicely written, 
> well-organized product with a lot of neat features. But the timer handling 
> routines, at least for the Motorola 68302 processor, are flawed in a way 
> that will fail infrequently, but possibly catastrophically."
> 
> It speaks of race conditions with the Read_timer().

it's an illustrative example of possible race conditions, but it's a
straw man argument against actual RTEMS use.

the Read_timer() call is for calculating overhead of RTEMS calls in the
c/src/tests/tmtests suite, and not for actual application use.

the rtems_timer_* calls provided by the timer manager use the clock tick
routines provided by the board support package, and NOT the ones in
timer/ .

> Is this a real issue? Has this been resolved?

it's not an issue for production software, since none of the routines in
c/src/lib/libbsp/m68k/gen68302/timer/ will be called.

the fix called out is easy enough to implement should race-free tmtests
need to be fixed.

-- 
  Aaron J. Grier  |   Frye Electronics, Tigard, OR   |  aaron at frye.com



More information about the users mailing list