Page Menu
Home
FreeBSD
Search
Configure Global Search
Log In
Files
F95554017
D45391.diff
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Flag For Later
Award Token
Size
2 KB
Referenced Files
None
Subscribers
None
D45391.diff
View Options
diff --git a/sys/sys/priority.h b/sys/sys/priority.h
--- a/sys/sys/priority.h
+++ b/sys/sys/priority.h
@@ -64,17 +64,23 @@
*/
/*
- * Priorities range from 0 to 255, but differences of less then 4 (RQ_PPQ)
- * are insignificant. Ranges are as follows:
+ * Priorities range from 0 to 255. Ranges are as follows:
*
- * Interrupt threads: 0 - 15
- * Realtime user threads: 16 - 47
- * Top half kernel threads: 48 - 87
- * Time sharing user threads: 88 - 223
+ * Interrupt threads: 0 - 7
+ * Realtime user threads: 8 - 39
+ * Top half kernel threads: 40 - 55
+ * Time sharing user threads: 56 - 223
* Idle user threads: 224 - 255
*
- * XXX If/When the specific interrupt thread and top half thread ranges
- * disappear, a larger range can be used for user processes.
+ * Priority levels of rtprio(2)'s RTP_PRIO_FIFO and RTP_PRIO_REALTIME and
+ * POSIX's SCHED_FIFO and SCHED_RR are directly mapped to the internal realtime
+ * range mentioned above by a simple translation. This range's length
+ * consequently cannot be changed without impacts on the scheduling priority
+ * code, and in any case must never be smaller than 32 for POSIX compliance and
+ * rtprio(2) backwards compatibility. Similarly, priority levels of rtprio(2)'s
+ * RTP_PRIO_IDLE are directly mapped to the internal idle range above (and,
+ * soon, those of the to-be-introduced SCHED_IDLE policy as well), so changing
+ * that range is subject to the same caveats and restrictions.
*/
#define PRI_MIN (0) /* Highest priority. */
@@ -88,34 +94,34 @@
* decay to lower priorities if they run for full time slices.
*/
#define PI_REALTIME (PRI_MIN_ITHD + 0)
-#define PI_INTR (PRI_MIN_ITHD + 4)
+#define PI_INTR (PRI_MIN_ITHD + 1)
#define PI_AV PI_INTR
#define PI_NET PI_INTR
#define PI_DISK PI_INTR
#define PI_TTY PI_INTR
#define PI_DULL PI_INTR
-#define PI_SOFT (PRI_MIN_ITHD + 8)
+#define PI_SOFT (PRI_MIN_ITHD + 2)
#define PI_SOFTCLOCK PI_SOFT
#define PI_SWI(x) PI_SOFT
-#define PRI_MIN_REALTIME (16)
+#define PRI_MIN_REALTIME (8)
#define PRI_MAX_REALTIME (PRI_MIN_KERN - 1)
-#define PRI_MIN_KERN (48)
+#define PRI_MIN_KERN (40)
#define PRI_MAX_KERN (PRI_MIN_TIMESHARE - 1)
#define PSWP (PRI_MIN_KERN + 0)
-#define PVM (PRI_MIN_KERN + 4)
-#define PINOD (PRI_MIN_KERN + 8)
-#define PRIBIO (PRI_MIN_KERN + 12)
-#define PVFS (PRI_MIN_KERN + 16)
-#define PZERO (PRI_MIN_KERN + 20)
-#define PSOCK (PRI_MIN_KERN + 24)
-#define PWAIT (PRI_MIN_KERN + 28)
-#define PLOCK (PRI_MIN_KERN + 32)
-#define PPAUSE (PRI_MIN_KERN + 36)
+#define PVM (PRI_MIN_KERN + 1)
+#define PINOD (PRI_MIN_KERN + 2)
+#define PRIBIO (PRI_MIN_KERN + 3)
+#define PVFS (PRI_MIN_KERN + 4)
+#define PZERO (PRI_MIN_KERN + 5)
+#define PSOCK (PRI_MIN_KERN + 6)
+#define PWAIT (PRI_MIN_KERN + 7)
+#define PLOCK (PRI_MIN_KERN + 8)
+#define PPAUSE (PRI_MIN_KERN + 9)
-#define PRI_MIN_TIMESHARE (88)
+#define PRI_MIN_TIMESHARE (56)
#define PRI_MAX_TIMESHARE (PRI_MIN_IDLE - 1)
#define PUSER (PRI_MIN_TIMESHARE)
File Metadata
Details
Attached
Mime Type
text/plain
Expires
Sun, Sep 22, 12:26 PM (21 h, 49 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
11433278
Default Alt Text
D45391.diff (2 KB)
Attached To
Mode
D45391: sched: Internal priority ranges: Reduce kernel, increase timeshare
Attached
Detach File
Event Timeline
Log In to Comment