Gang, I am troubled by some rather non-deterministic behavior that I am observing in the scheduler of RTL 3.0. Basically, I have an ISR that responds to an interrupt by doing a pthread_wakeup_np() on a thread that was sleeping on a pthread_suspend_np(). Just before doing the wakeup I capture the time from gethrtime(). Just after the wakeup, I capture the time with another gethrtime(). I then examined the time difference between the two. Unfortunately, rather than getting a large cluster of times centered around some reasonably small mean time, I got a distribution that spread over an order of magnitude. Here is the histogram (roughly): 0-2 uS 28,590,000 2-4 uS 28,150,000 4-6 uS 492,000 6-8 uS 293,000 8-10 uS 848,800 10-12 uS 1,051,000 12-14 uS 40,564 14-16 uS 1,272 16-18 uS 1,200 18-20 uS 1,094 20-22 uS 1,606 22-24 uS 3,084 24-26 uS 881 26-28 uS 10 28-30 uS 2 This is running on a Celeron 400 with plenty of RAM. Linux is running a Tcl application that displays a front panel on an X window with no window manager running. I would describe the Linux load as "very light". I am greatly troubled by the very long delays here. I was expecting *all* of the delays to be in the sub-10 uS range and for the *vast majority* to fall in the sub-2 uS range. I am quite unpleasantly surprised. I need to depend on things to be deterministic. Obviously, something is preventing me from having any real semblance of determinism. Does anybody have any suggestions for places to look for solutions to this problem? Alternatively, if someone can provide a description of *why* I get some delays in the tens of micro-seconds and some assurance that I will not see *any* delay longer than X microseconds, that would help put my mind at ease. Regards, Steve ------------------------------------------ Stephen D. Cohen, Engineering Manager Xybion Positioning Systems 11528 53rd Street North Clearwater, FLA 33760 phone: (727) 299-0150, fax: (727) 299-0804 ------------------------------------------ -- [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/