[PATCH] Cygwin: sched_setscheduler: accept SCHED_OTHER, SCHED_FIFO and SCHED_RR

Brian Inglis Brian.Inglis@SystematicSW.ab.ca
Mon Dec 2 20:32:20 GMT 2024


On 2024-12-02 11:28, ASSI wrote:
> Christian Franke writes:
>> +    nice value   sched_priority   Windows priority class
>> +     12...19      1....6          IDLE_PRIORITY_CLASS
>> +      4...11      7...12          BELOW_NORMAL_PRIORITY_CLASS
>> +     -4....3     13...18          NORMAL_PRIORITY_CLASS
>> +    -12...-5     19...24          ABOVE_NORMAL_PRIORITY_CLASS
>> +    -13..-19     25...30          HIGH_PRIORITY_CLASS
>> +         -20     31...32          REALTIME_PRIORITY_CLASS
> 
> That mapping looks odd… care to explain why the number of nice values
> and sched_priorities doesn't match up for each priority class?  39
> possible values for one can't match to 32 for the other of course, but
> which ones are skipped and why?

See also miscfuncs.cc which maps nice<->winprio with a 40 entry table, and 
cygwin-doc proc(5) or cygwin-ug-net/proc.html which explains the mapping to 
scheduler priorities and policies.

Also relevant may be man-pages-posix sched.h(0p), man-pages-linux sched(7) and 
proc_pid_stat(5).

You may also wish to consider whether SCHED_SPORADIC should be somewhat 
supported for POSIX compatibility, and SCHED_IDLE, SCHED_BATCH, SCHED_DEADLINE 
for Linux compatibility?

-- 
Take care. Thanks, Brian Inglis              Calgary, Alberta, Canada

La perfection est atteinte                   Perfection is achieved
non pas lorsqu'il n'y a plus rien à ajouter  not when there is no more to add
mais lorsqu'il n'y a plus rien à retirer     but when there is no more to cut
                                 -- Antoine de Saint-Exupéry


More information about the Cygwin-patches mailing list