OSDN Git Service

sched: Remove MAX_USER_RT_PRIO
authorDietmar Eggemann <dietmar.eggemann@arm.com>
Thu, 28 Jan 2021 13:10:38 +0000 (14:10 +0100)
committerIngo Molnar <mingo@kernel.org>
Wed, 17 Feb 2021 13:08:11 +0000 (14:08 +0100)
Commit d46523ea32a7 ("[PATCH] fix MAX_USER_RT_PRIO and MAX_RT_PRIO")
was introduced due to a a small time period in which the realtime patch
set was using different values for MAX_USER_RT_PRIO and MAX_RT_PRIO.

This is no longer true, i.e. now MAX_RT_PRIO == MAX_USER_RT_PRIO.

Get rid of MAX_USER_RT_PRIO and make everything use MAX_RT_PRIO
instead.

Signed-off-by: Dietmar Eggemann <dietmar.eggemann@arm.com>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Link: https://lkml.kernel.org/r/20210128131040.296856-2-dietmar.eggemann@arm.com
include/linux/sched/prio.h
kernel/sched/core.c

index 7d64fea..d111f2f 100644 (file)
  * 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_RT_PRIO            100
 
 #define MAX_PRIO               (MAX_RT_PRIO + NICE_WIDTH)
 #define DEFAULT_PRIO           (MAX_RT_PRIO + NICE_WIDTH / 2)
index 6c789dc..f0b0b67 100644 (file)
@@ -5911,11 +5911,10 @@ recheck:
 
        /*
         * Valid priorities for SCHED_FIFO and SCHED_RR are
-        * 1..MAX_USER_RT_PRIO-1, valid priority for SCHED_NORMAL,
+        * 1..MAX_RT_PRIO-1, valid priority for SCHED_NORMAL,
         * SCHED_BATCH and SCHED_IDLE is 0.
         */
-       if ((p->mm && attr->sched_priority > MAX_USER_RT_PRIO-1) ||
-           (!p->mm && attr->sched_priority > MAX_RT_PRIO-1))
+       if (attr->sched_priority > MAX_RT_PRIO-1)
                return -EINVAL;
        if ((dl_policy(policy) && !__checkparam_dl(attr)) ||
            (rt_policy(policy) != (attr->sched_priority != 0)))
@@ -6983,7 +6982,7 @@ SYSCALL_DEFINE1(sched_get_priority_max, int, policy)
        switch (policy) {
        case SCHED_FIFO:
        case SCHED_RR:
-               ret = MAX_USER_RT_PRIO-1;
+               ret = MAX_RT_PRIO-1;
                break;
        case SCHED_DEADLINE:
        case SCHED_NORMAL: