lkml.org 
[lkml]   [2011]   [May]   [31]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRe: [PATCH] sched: fix rt_nr_migratory corruption raised in push_rt_task()
From
Date
On Tue, 2011-05-31 at 21:56 +0800, Hillf Danton wrote:
> On Tue, May 31, 2011 at 3:36 PM, Mike Galbraith <efault@gmx.de> 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@gmail.com>
> >
> > 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@gmail.com>
>
> Signed-off-by: Mike Galbraith <efault@gmx.de>
>
> right?

Well, you did the legwork, but I resent it as requested.

> > ---
> > 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?

That's easy, I used quilt :) I'm no master of git-fu (wimpy whitebelt),
use git for hunting, but quilt for twiddling.

-Mike



\
 
 \ /
  Last update: 2011-06-01 04:23    [W:0.063 / U:0.236 seconds]
©2003-2014 Jasper Spaans. hosted at Digital Ocean