Messages in this thread |  | | | Subject | Re: [PATCH] sched: fix rt_nr_migratory corruption raised in push_rt_task() | | From | Mike Galbraith <> | | Date | Wed, 01 Jun 2011 04:21:26 +0200 |
| |
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
|  |