Re: [PATCH] fix (again) MAX_USER_RT_PRIO and MAX_RT_PRIO (was: MAX_USER_RT_PRIO and MAX_RT_PRIO are wrong!)

From: Dean Nelson
Date: Tue Jul 26 2005 - 10:22:06 EST


Steve, your change to XPC looks good. Thanks, Dean

Signed-off-by: Dean Nelson <dcn@xxxxxxx>


On Mon, Jul 25, 2005 at 04:28:39PM -0400, Steven Rostedt wrote:
> Dean,
>
> I've CC you since it also has the change to
> linux-2.6.13-rc3/arch/ia64/sn/kernel/xpc_main.c in it. But I don't see
> this in -mm. I don't have a ia64 so I can't test it. You tested this
> for me before, so it should still work. This part should be at least
> acknowledged by you.
>
> -- Steve
>
> PS. I'm currently running this patched kernel with MAX_RT_USER set to 95
> and MAX_RT_PRIO set to 100 on an SMP machine.
>
> Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx>
>
> --- linux-2.6.13-rc3/kernel/sched.c.orig 2005-07-25 10:16:31.000000000 -0400
> +++ linux-2.6.13-rc3/kernel/sched.c 2005-07-25 10:23:35.000000000 -0400
> @@ -3486,7 +3486,7 @@ static void __setscheduler(struct task_s
> p->policy = policy;
> p->rt_priority = prio;
> if (policy != SCHED_NORMAL)
> - p->prio = MAX_USER_RT_PRIO-1 - p->rt_priority;
> + p->prio = MAX_RT_PRIO-1 - p->rt_priority;
> else
> p->prio = p->static_prio;
> }
> @@ -3518,7 +3518,8 @@ recheck:
> * 1..MAX_USER_RT_PRIO-1, valid priority for SCHED_NORMAL is 0.
> */
> if (param->sched_priority < 0 ||
> - param->sched_priority > MAX_USER_RT_PRIO-1)
> + (p->mm && param->sched_priority > MAX_USER_RT_PRIO-1) ||
> + (!p->mm && param->sched_priority > MAX_RT_PRIO-1))
> return -EINVAL;
> if ((policy == SCHED_NORMAL) != (param->sched_priority == 0))
> return -EINVAL;
> --- linux-2.6.13-rc3/arch/ia64/sn/kernel/xpc_main.c.orig 2005-07-25 10:23:22.000000000 -0400
> +++ linux-2.6.13-rc3/arch/ia64/sn/kernel/xpc_main.c 2005-07-25 10:23:35.000000000 -0400
> @@ -420,7 +420,7 @@ xpc_activating(void *__partid)
> partid_t partid = (u64) __partid;
> struct xpc_partition *part = &xpc_partitions[partid];
> unsigned long irq_flags;
> - struct sched_param param = { sched_priority: MAX_USER_RT_PRIO - 1 };
> + struct sched_param param = { sched_priority: MAX_RT_PRIO - 1 };
> int ret;
>
>
>
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/