2007-08-14 18:43:49

by Mitchell Erblich

[permalink] [raw]
Subject: minor Suggested cleanup: RT / sched : Have RT tasks use PF_LESS_THROTTLE flag

Group, Ingo Molnar, and Dmitry, et al,

task mm/page-writeback.c : get_dirty_limits()

Shouldn't the PF_LESS_THROTTLE flag be
scheduling class independent?

The below is a suggestion is to use the flag for
RT tasks.

-- to drop the rt_task() call within the function

if (tsk->flags & PF_LESS_THROTTLE || rt_task(tsk)) {

1) becomes
if (tsk->flags & PF_LESS_THROTTLE)

Then
2) in kernel/sched.c set:
p->flags |= PF_LESS_THROTTLE before the break;

case SCHED_FIFO:
case SCHED_RR:
p->sched_class = &rt_sched_class;
p->flags |= PF_LESS_THROTTLE;
break;

3) Unset it in case sched class changed; before the break
case SCHED_NORMAL:
case SCHED_BATCH:
case SCHED_IDLE:
p->sched_class = &fair_sched_class;
p->flags &= ~PF_LESS_THROTTLE;
break;

4) set the flag rt_mutex_setprio with braces
if (rt_prio(prio)) {
p->sched_class = &rt_sched_class;
p->flags |= PF_LESS_THROTTLE;


} else


5) Am I missing anything?

Mitchell Erblich