[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <4A704B41.9000505@gmail.com>
Date: Wed, 29 Jul 2009 09:14:41 -0400
From: Gregory Haskins <gregory.haskins@...il.com>
To: Peter Zijlstra <peterz@...radead.org>
CC: Steven Rostedt <rostedt@...dmis.org>, linux-kernel@...r.kernel.org,
Ingo Molnar <mingo@...e.hu>,
Andrew Morton <akpm@...ux-foundation.org>,
Thomas Gleixner <tglx@...utronix.de>,
Steven Rostedt <srostedt@...hat.com>
Subject: Re: [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@...hat.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
Download attachment "signature.asc" of type "application/pgp-signature" (268 bytes)
Powered by blists - more mailing lists