After noticing that the time was spuriously racing of into the unknown
while calling gethrtime() I searched out the problem.
It was a fault in the code dealing with the 8254 counter underflowing. I
suppose it doesn't affect pentium mashines.
anyway in
rtlinux-2.0/rtl/schedulers/i386/rtl_time.c
in the function:
global_8254_gettime()
the offending line: (118)
offset_time += ((c2 < last_c2) ? (last_c2 - c2) / 2
: (last_c2 - c2 + LATCH2) / 2);
LATCH2 was defined as 0x8000 i cant see how it fixes the rollover.
So I replaced it with some masking tape:
offset_time += ((c2 < last_c2) ? (last_c2 - c2) / 2
: ((last_c2 - c2)&0x0FFFF) / 2);
and that is all.
--- [rtl] ---
To unsubscribe:
echo "unsubscribe rtl" | mail [EMAIL PROTECTED] OR
echo "unsubscribe rtl <Your_email>" | mail [EMAIL PROTECTED]
----
For more information on Real-Time Linux see:
http://www.rtlinux.org/~rtlinux/