Re: [PATCH] sched: fix idle at tick

J.A. Magallón
2007-03-06T08:38:32Z

On Tue, 6 Mar 2007 18:41:08 +1100, Con Kolivas <kernel@kolivas.org> wrote:

> On Tuesday 06 March 2007 18:02, Andrew Morton wrote:
> > On Tue, 6 Mar 2007 17:25:36 +1100 Con Kolivas <kernel@kolivas.org> wrote:
> > > Signed-off-by: Con Kolivas <kernel@kolivas.org>
> > > ---
> > > kernel/sched.c | 2 +-
> > > 1 file changed, 1 insertion(+), 1 deletion(-)
> > >
> > > Index: linux-2.6.21-rc2-mm1-base/kernel/sched.c
> > > ===================================================================
> > > --- linux-2.6.21-rc2-mm1-base.orig/kernel/sched.c 2007-03-06
> > > 17:19:17.000000000 +1100 +++
> > > linux-2.6.21-rc2-mm1-base/kernel/sched.c 2007-03-06 17:20:40.000000000
> > > +1100 @@ -3444,7 +3444,7 @@ void scheduler_tick(void)
> > >
> > > update_cpu_clock(p, rq, now);
> > >
> > > - if (idle_at_tick)
> > > + if (!idle_at_tick)
> > > task_running_tick(rq, p);
> > > #ifdef CONFIG_SMP
> > > update_load(rq);
> >
> > Looks right, thanks. The original patch had
> >
> > - if (p == rq->idle)
> > + if (idle_at_tick)
> > /* Task on the idle queue */
> > wake_priority_sleeper(rq);
> > else
> > task_running_tick(rq, p);
> >
> > but it got damaged by smt-nice removal.
>
> I gathered something like that happened. If it wasn't clear this change caused
> massive scheduler damage with no cpu accounting whatsoever occurring. I
> recommend putting it in your hotfixes/ dir if you're not planning an -mm2
> soon.
>

Good! I can confirm this makes things going smoothly again....

(apart from the speed of the x11 nv driver at 1600x1200 ;) ).

hot-fixes candidate.

--
J.A. Magallon <jamagallon()ono!com> \ Software is like sex:
\ It's better when it's free
Mandriva Linux release 2007.1 (Cooker) for i586
Linux 2.6.20-jam01 (gcc 4.1.2 20070302 (prerelease) (4.1.2-1mdv2007.1)) #2 SMP PREEMPT