|
@@ -525,31 +525,6 @@ struct signal_struct {
|
|
#define SIGNAL_STOP_CONTINUED 0x00000004 /* SIGCONT since WCONTINUED reap */
|
|
#define SIGNAL_STOP_CONTINUED 0x00000004 /* SIGCONT since WCONTINUED reap */
|
|
#define SIGNAL_GROUP_EXIT 0x00000008 /* group exit in progress */
|
|
#define SIGNAL_GROUP_EXIT 0x00000008 /* group exit in progress */
|
|
|
|
|
|
-
|
|
|
|
-/*
|
|
|
|
- * Priority of a process goes from 0..MAX_PRIO-1, valid RT
|
|
|
|
- * priority is 0..MAX_RT_PRIO-1, and SCHED_NORMAL/SCHED_BATCH
|
|
|
|
- * tasks are in the range MAX_RT_PRIO..MAX_PRIO-1. Priority
|
|
|
|
- * values are inverted: lower p->prio value means higher priority.
|
|
|
|
- *
|
|
|
|
- * The MAX_USER_RT_PRIO value allows the actual maximum
|
|
|
|
- * RT priority to be separate from the value exported to
|
|
|
|
- * user-space. This allows kernel threads to set their
|
|
|
|
- * priority to a value higher than any user task. Note:
|
|
|
|
- * MAX_RT_PRIO must not be smaller than MAX_USER_RT_PRIO.
|
|
|
|
- */
|
|
|
|
-
|
|
|
|
-#define MAX_USER_RT_PRIO 100
|
|
|
|
-#define MAX_RT_PRIO MAX_USER_RT_PRIO
|
|
|
|
-
|
|
|
|
-#define MAX_PRIO (MAX_RT_PRIO + 40)
|
|
|
|
-
|
|
|
|
-#define rt_prio(prio) unlikely((prio) < MAX_RT_PRIO)
|
|
|
|
-#define rt_task(p) rt_prio((p)->prio)
|
|
|
|
-#define batch_task(p) (unlikely((p)->policy == SCHED_BATCH))
|
|
|
|
-#define is_rt_policy(p) ((p) != SCHED_NORMAL && (p) != SCHED_BATCH)
|
|
|
|
-#define has_rt_policy(p) unlikely(is_rt_policy((p)->policy))
|
|
|
|
-
|
|
|
|
/*
|
|
/*
|
|
* Some day this will be a full-fledged user tracking system..
|
|
* Some day this will be a full-fledged user tracking system..
|
|
*/
|
|
*/
|
|
@@ -1164,6 +1139,42 @@ struct task_struct {
|
|
#endif
|
|
#endif
|
|
};
|
|
};
|
|
|
|
|
|
|
|
+/*
|
|
|
|
+ * Priority of a process goes from 0..MAX_PRIO-1, valid RT
|
|
|
|
+ * priority is 0..MAX_RT_PRIO-1, and SCHED_NORMAL/SCHED_BATCH
|
|
|
|
+ * tasks are in the range MAX_RT_PRIO..MAX_PRIO-1. Priority
|
|
|
|
+ * values are inverted: lower p->prio value means higher priority.
|
|
|
|
+ *
|
|
|
|
+ * The MAX_USER_RT_PRIO value allows the actual maximum
|
|
|
|
+ * RT priority to be separate from the value exported to
|
|
|
|
+ * user-space. This allows kernel threads to set their
|
|
|
|
+ * priority to a value higher than any user task. Note:
|
|
|
|
+ * MAX_RT_PRIO must not be smaller than MAX_USER_RT_PRIO.
|
|
|
|
+ */
|
|
|
|
+
|
|
|
|
+#define MAX_USER_RT_PRIO 100
|
|
|
|
+#define MAX_RT_PRIO MAX_USER_RT_PRIO
|
|
|
|
+
|
|
|
|
+#define MAX_PRIO (MAX_RT_PRIO + 40)
|
|
|
|
+#define DEFAULT_PRIO (MAX_RT_PRIO + 20)
|
|
|
|
+
|
|
|
|
+static inline int rt_prio(int prio)
|
|
|
|
+{
|
|
|
|
+ if (unlikely(prio < MAX_RT_PRIO))
|
|
|
|
+ return 1;
|
|
|
|
+ return 0;
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+static inline int rt_task(struct task_struct *p)
|
|
|
|
+{
|
|
|
|
+ return rt_prio(p->prio);
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+static inline int batch_task(struct task_struct *p)
|
|
|
|
+{
|
|
|
|
+ return p->policy == SCHED_BATCH;
|
|
|
|
+}
|
|
|
|
+
|
|
static inline pid_t process_group(struct task_struct *tsk)
|
|
static inline pid_t process_group(struct task_struct *tsk)
|
|
{
|
|
{
|
|
return tsk->signal->pgrp;
|
|
return tsk->signal->pgrp;
|