[patch] trivial task_prio() fix

Robert Love (rml@tech9.net)
24 Mar 2003 21:14:31 -0500


Trivial fix for task_prio() in the case MAX_RT_PRIO !=
MAX_USER_RT_PRIO. In this case, all priorities are skewed by
(MAX_RT_PRIO - MAX_USER_RT_PRIO).

The fix is to subtract the full MAX_RT_PRIO from p->prio, not just
MAX_USER_RT_PRIO. This makes sense, as the full priority range is
unrelated to the maximum user value. Only the real maximum RT value
matters.

The object code is the same for the 99% of the people who do not touch
the real-time priority defines.

This has been in Andrew's tree for awhile, with no issue. I have also
posted here to no complaint. Patch is against 2.5.66, please apply.

Robert Love

kernel/sched.c | 2 +-
1 files changed, 1 insertion(+), 1 deletion(-)

diff -urN linux-2.5.66/kernel/sched.c linux/kernel/sched.c
--- linux-2.5.66/kernel/sched.c 2003-03-24 17:01:16.000000000 -0500
+++ linux/kernel/sched.c 2003-03-24 21:09:55.196360600 -0500
@@ -1680,7 +1680,7 @@
*/
int task_prio(task_t *p)
{
- return p->prio - MAX_USER_RT_PRIO;
+ return p->prio - MAX_RT_PRIO;
}

/**

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/