Re: [patch] scheduler bugfix, SMP, 2.4.0-test7

From: George Anzinger (george@pioneer.net)
Date: Mon Aug 28 2000 - 21:42:44 EST


George Anzinger wrote:
>
> Linus Torvalds wrote:
> >
> > On Mon, 28 Aug 2000, Dimitris Michailidis wrote:
> > >
> > > On 28-Aug-2000 Linus Torvalds wrote:
> > > > I think the right solution is to completely split up "schedule()" into two
> > > > different functions (which just share 99% of the code), and basically have
> > > > the idle thread call the _other_ schedule. The one that never does the
> > > > test at all.
> > >
> > > Just to clarify, you're suggesting having a schedule_and_btw_current_is_idle
> > > and calling this from cpu_idle(), right?
> >
> > Right.
> >
> > > In this case the two schedules
> > > would share quite a bit less than 99% of the code. Idle tasks don't have to
> > > deal with kernel lock, ->state, SCHED_YIELD and RT exhaustion, to name a few.
> >
> > Good point. Although it might be hard to sanely still share the actual
> > code (I'd hate to get a bigger icache footprint, so I'd like the common
> > code to be _truly_ common, not just on a source level).
> >
> > But it looks like the thing would work.
>
> But what happens if schedule is called from entry.S? Or do we depend on
> "returning to kernel" to prevent this?
>
> Or, what if the idle code is actually _in_ schedule()? This should go a
> ways toward sharing code.
>
Accounting issues aside, there is no real reason to even change stacks.
But then, I suppose accounting is important. Need those direct deposits
:)

George
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Thu Aug 31 2000 - 21:00:22 EST