On a common x86 PC, there' s a simple process, that lets the realtime
clock chip wake it up, each 500/2^n milliseconds.
Depending on a command line switch, it may incease its priority at
startup, using the well-known
schp.sched_priority = prio;
err = sched_setscheduler( 0, policy, &schp);
calls.
When the process is being run with the above priority control
(policy==SCHED_FIFO,prio==99), it shows timing deviations up to 40 ms,
compared to the predetermined desired value - I have one,or more, bad
processes running on my RedHat distro, that periodically think a lot ;-).
If being run with a simple 'nice --20', the jitter maximum is ONE
millisecond.
The actual GNU libc manual says, that the POSIX-conform scheduler call
is just a fine-tuning of a process priority - the nice value is the
major parameter here. Does the kernel agree with that ?
Michael
--
Kernelnewbies: Help each other learn about the Linux kernel.
Archive: http://mail.nl.linux.org/kernelnewbies/
FAQ: http://kernelnewbies.org/faq/