On Wed, Dec 2, 2009 at 7:37 AM, <fons(a)kokkinizita.net> wrote:
This change ensures that threads using the same
period
will have the same priority, even if they are not in
the same client. This is absolutely necessary in order
to make two or more such clients work together smoothly
and have 'fair' scheduling. This should become some sort
of 'standard' if more apps start using such schemes.
my understanding of SCHED_FIFO says that it doesn't really work this
way. if you want to use equal priorities to ensure fair scheduling
among RT threads, you want SCHED_RR so that the kernel scheduler can
intervene and ensure roughly equivalent scheduling. if you use
SCHED_FIFO then every thread of the same priority will run until it
voluntarily yields. is this what you mean by "fair" scheduling? it
seems to me that whether this works or not depends entirely on what
the threads are actualy doing (i.e. how long before they are
guaranteed to yield the processor).