Skip to contentSkip to conversation

MAX_USER_RT_PRIO < MAX_RT_PRIO limits user-space?

DISCUSSION anton wilson 1 participant 1 message Jul 11, 2002

lore
Share & tools
lore
#0 lore raw

Sorry to post such a simple question but I'm having trouble comprehending the new priority range scheme used with O(1) and no one on kernelnewbies can help.

Documentation states that priorities are inverted.
It also states that the separation between MAX_USER_RT_PRIO and MAX_RT_PRIO allows kernel threads to have a higher priority if MAX_USER_RT_PRIO < MAX_RT_PRIO.

I don't see how this is possible because in setscheduler

* Valid priorities for SCHED_FIFO and SCHED_RR are
* 1..MAX_USER_RT_PRIO-1

and the p->static_prio for RT tasks is determined by

p->prio = MAX_USER_RT_PRIO-1 - p->rt_priority;

so the static_prio for a RT task has a range: [0 ... MAX_USER_RT_PRIO - 2 ]

Fluctuating MAX_USER_RT_PRIO will never prevent a RT process from accessing the bottom of the priority range. And lower means higher priority.

What am I misunderstanding?

Anton