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

Reply via email to