Wondering if there are any well informed Linux gurus here who can answer a question of mine. I have been doing a statistical analysis for my OS class on which scheduler is more efficient/effective for CPU and IO bound processes. One result I am getting from GNU time that I cannot explain is why identical processes running under SCHED_OTHER complete in less user time than SCHED_RR and SCHED_FIFO (for a CPU bound process). I thought user time would be independent of the schedule policy. Can anyone shed light or point me to a resource that can explain this (besides going through source code, its just an undergrad class).
The data I am using was gathered over multiple runs with many concurrently running CPU bound processes so the data should be fairly accurate. Thanks.
It is conceivable that CPU-bound
SCHED_FIFOreal-time processes don’t give other processes a chance to initiate an asynchronous read. Whereas withSCHED_OTHERmore processes initiate asynchronous reads thus spending less total time waiting for data.