Re: [RFC] oom-kill: give the dying task a higher priority

From: KOSAKI Motohiro
Date: Fri May 28 2010 - 01:59:21 EST


> RT Task
>
> void non-RT-function()
> {
> system call();
> buffer = malloc();
> memset(buffer);
> }
> /*
> * We make sure this function must be executed in some millisecond
> */
> void RT-function()
> {
> some calculation(); <- This doesn't have no dynamic characteristic
> }
> int main()
> {
> non-RT-function();
> /* This function make sure RT-function cannot preempt by others */
> set_RT_max_high_priority();
> RT-function A();
> set_normal_priority();
> non-RT-function();
> }
>
> We don't want realtime in whole function of the task. What we want is
> just RT-function A.
> Of course, current Linux cannot make perfectly sure RT-functionA can
> not preempt by others.
> That's because some interrupt or exception happen. But RT-function A
> doesn't related to any dynamic characteristic. What can justify to
> preempt RT-function A by other processes?

As far as my observation, RT-function always have some syscall. because pure
calculation doesn't need deterministic guarantee. But _if_ you are really
using such priority design. I'm ok maximum NonRT priority instead maximum
RT priority too.

Luis, NonRT high priority break your use case? and if yes, can you please
explain the reason?



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