Unfortunately I don't have my POSIX.4 book handy (it's still in
transit), but I recall that it states that the highest RT process on
the run queue will get the CPU. That means SCHED_OTHER has to wait
until the RT process blocks.
> >Which is why I support moving !SCHED_OTHER processes to
> > SCHED_OTHER when they call schedule(), and moving them back when
> > schedule() returns.
>
> Doesn't that defeat the purpose of the soft-rt? There is no
> point in being SCHED_RR only when you own the processor.
> Or maybe I misunderstand your idea?
If you're running in kernel mode, then being RT isn't a great
help. But if you're in user mode, then it most certainly makes a
difference :-)
The reason I suggest dropping RT when calling schedule() is:
- it ensures lower priority processes in the kernel can make progress
- there is no effective loss, as devices won't run any faster for RT
processes :-) (unless you prioritise I/O, which is the wrong
approach anyway).
Regards,
Richard....
Old: rgooch@atnf.csiro.au
Current: rgooch@ras.ucalgary.ca
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/