Re: [PATCH] sched: fix rt_nr_migratory corruption raised in push_rt_task()

From: Hillf Danton
Date: Tue May 31 2011 - 09:56:45 EST


On Tue, May 31, 2011 at 3:36 PM, Mike Galbraith <efault@xxxxxx> wrote:
> On Mon, 2011-05-30 at 21:39 +0800, Hillf Danton wrote:
>> When pushing, if a pushable task could not be pushed, it is dequeued with no
>> updating the rt_nr_migratory element of RT run-queue, then rt_nr_migratory is
>> corrupted, which is fixed by removing the dequeue operation.
>
> Hm. ÂI think you're right that this dequeue_pushable_task() call can be
> removed, at least I didn't see it's reason for existing. ÂI'd word it a
> bit differently though, and not return 1 unless we really did push.
>

Hi Mike

Your message shows what is called professional work, but something lost,

> From: Hillf Danton <dhillf@xxxxxxxxx>
>
> sched, rt: fix rq->rt.pushable_tasks bug in push_rt_task()
>
> Do not call dequeue_pushable_task() when failing to push an eligible
> task, as it remains pushable, merely not at this particular moment.
>
> Signed-off-by: Hillf Danton <dhillf@xxxxxxxxx>

Signed-off-by: Mike Galbraith <efault@xxxxxx>

right?

> ---
> Âkernel/sched_rt.c | Â 15 ++++++++-------
> Â1 file changed, 8 insertions(+), 7 deletions(-)
>
> Index: linux-2.6.40.git/kernel/sched_rt.c
> ===================================================================

And how to drive git to print the above two lines?

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