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

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


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.

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