[Priority Inheritance] SCHED_FIFO or SCHED_RR?

From: Tadeus (Eus) Prastowo
Date: Tue Sep 27 2011 - 19:06:44 EST


Hi!

When a SCHED_RR task with RT priority X blocks on a
priority-inheriting mutex held by a SCHED_NORMAL task with nice value
Y, RT-Mutex code will change the SCHED_NORMAL task priority to that of
the SCHED_RR task and based on the new priority, will change the
scheduling class too. But, each task retains its own scheduling
policy.

This means that the task inheriting the SCHED_RR priority will be
scheduled using SCHED_FIFO policy because task_tick_rt does not
enforce the SCHED_RR time slice when the task policy is not SCHED_RR.

Why should a SCHED_NORMAL task inheriting the priority of a SCHED_RR
task get the privilege of SCHED_FIFO task for running as long as it
wishes even when the task giving the inheritance does not have such
privilege?

Thank you very much.

Please kindly put me in the CC since I am not subscribed to the list.

--
Eus
--
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/