> That is, I can't find where FIFO and RR are > implemented? :( I think they're implemented in part by the library functions and in part by the RT scheduling class; that's the point.
I don't know enough about what SCHED_SPORADIC is actually supposed to do to guess whether any existing OS scheduling class could be used (together with the needed library changes) to support it, but from what little I've read thus far, iit can be distinctly tricky to get right. A bit of googling gave me http://www.opengroup.org/onlinepubs/000095399/functions/sched_setparam.html which said: >If the scheduling policy of the target process is SCHED_SPORADIC, the value >>specified by the sched_ss_low_priority member of the param argument shall >be >any integer within the inclusive priority range for the sporadic server >>policy. The sched_ss_repl_period and sched_ss_init_budget members of the >>param argument shall represent the time parameters to be used by the >>sporadic server scheduling policy for the target process. The >>sched_ss_max_repl member of the param argument shall represent the >maximum >number of replenishments that are allowed to be pending >simultaneously for >the process scheduled under this scheduling policy. > >The specified sched_ss_repl_period shall be greater than or equal to the >>specified sched_ss_init_budget for the function to succeed; if it is not, >then >the function shall fail. > >The value of sched_ss_max_repl shall be within the inclusive range [1, >>{SS_REPL_MAX}] for the function to succeed; if not, the function shall fail. Now, it looks to me like sysconf() would have to support SS_REPL_MAX as well as some (possibly/probably new?) scheduling class support the basic functionality as well as the library routines know how to convert SCHED_SPORADIC and its parms into what the scheduling class needed. A lot to untangle, and a lot to get right. Since SCHED_SPORADIC is optional (and there are some other pretty cool options available, although not all in terms of POSIX), I'm guessing it might take a number of people to really know all the bits&pieces needed to figure out how (or even if) this should be done. And since this isn't the first thread I've seen about SCHED_SPORADIC, I think it's about time everyone interested (no, not me, sorry) got together, so that there weren't two or three separate implementations under way. This message posted from opensolaris.org _______________________________________________ opensolaris-help mailing list [email protected]
