Re: [tip:core/futexes] futex: use current->time_slack_ns for rt tasks too

Darren Hart
2009-03-12T21:33:47Z

Arjan van de Ven wrote:
> Peter Zijlstra wrote:
>>>> ---
>>>>
>>>> Subject: sched: adjust timer_slack_ns on scheduler policy change
>>>> From: Peter Zijlstra <a.p.zijlstra@chello.nl>
>>>> Date: Thu Mar 12 15:01:02 CET 2009
>>>>
>>>> Ensure RT tasks have 0 timer slack.
>>>>
>>>> Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
>>>> ---
>>>> kernel/sched.c | 2 ++
>>>> 1 file changed, 2 insertions(+)
>>>>
>>>> Index: linux-2.6/kernel/sched.c
>>>> ===================================================================
>>>> --- linux-2.6.orig/kernel/sched.c
>>>> +++ linux-2.6/kernel/sched.c
>>>> @@ -5511,10 +5511,12 @@ __setscheduler(struct rq *rq, struct tas
>>>> case SCHED_NORMAL:
>>>> case SCHED_BATCH:
>>>> case SCHED_IDLE:
>>>> + p->timer_slack_ns = p->default_timer_slack_ns;
>>>> p->sched_class = &fair_sched_class;
>>>> break;
>>>> case SCHED_FIFO:
>>>> case SCHED_RR:
>>>> + p->timer_slack_ns = 0;
>>>> p->sched_class = &rt_sched_class;
>>>> break;
>>>> }
>>>>
>>
>> Looking at the default_timer_slack_ns stuff, do we want something like
>> the below?
>
> the original idea was that you had a default slack that you got from
> exec time,
> and then something you could just tweak around yourself independently....
>
> this would throw that out of the window.

It seems to me that changing your scheduling class from userspace would
be reasonable justification to change the timer slack to a default value
for that class. Thoughts?

--
Darren Hart
IBM Linux Technology Center
Real-Time Linux Team