lkml.org 
[lkml]   [2009]   [Jul]   [29]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH 1/2] sched: check for pushing rt tasks after all scheduling
Peter Zijlstra wrote:
> On Wed, 2009-07-29 at 00:21 -0400, Steven Rostedt wrote:
>> plain text document attachment
>> (0001-sched-check-for-pushing-rt-tasks-after-all-schedulin.patch)
>> From: Steven Rostedt <srostedt@redhat.com>
>>
>> The current method for pushing RT tasks after scheduling only
>> happens after a context switch. But we found cases where a task
>> is set up on a run queue to be pushed but the push never happens
>> because the schedule chooses the same task.
>>
>> This bug was found with the help of Gregory Haskins and the use of
>> ftrace (trace_printk). It tooks several days for both of us analyzing
>> the code and the trace output to find this.
>
>
>> + if (current->sched_class->needs_post_schedule)
>> + post_schedule = current->sched_class->needs_post_schedule(rq);
>
>
>> + if (post_schedule)
>> + current->sched_class->post_schedule(rq);
>
>
> Why can't we omit that first call, and do the second unconditionally,
> using storage in the class rq to save state?

Yeah, that is a good idea. Plus I see another bug that Steven and I
overlooked. Steve is out on holiday today, so I will put together a v2.

Regards,
-Greg

[unhandled content-type:application/pgp-signature]
\
 
 \ /
  Last update: 2009-07-29 15:17    [W:0.100 / U:0.132 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site