Re: [PATCH] updated O(1) scheduler for 2.4

Andrea Arcangeli (andrea@suse.de)
Wed, 29 May 2002 17:15:52 +0200


On Tue, May 28, 2002 at 07:57:00PM -0700, Robert Love wrote:
> On Fri, 2002-05-24 at 09:02, J.A. Magallon wrote:
>
> > I had to make this to get it built:
> > <snip>
>
> Thanks, I have put these changes into the 2.4.19-pre9 version of the
> patch which is available at:
>
> http://www.kernel.org/pub/linux/kernel/people/rml/sched/ingo-O1/sched-O1-rml-2.4.19-pre9-1.patch

I merged it and I've almost finished moving everything on top of it but
I've a few issues.

can you elaborate why you __save_flags in do_fork? do_fork is even a
blocking operation. fork_by_hand runs as well with irq enabled.
I don't like to safe flags in a fast path if it's not required.

Then there are longstanding bugs that aren't yet fixed and I ported the
fixed on top of it (see the parent-timeslice patch in -aa).

the child-run first approch in o1 is suspect, it seems the parent will
keep running just after a wasteful reschedule, a sched yield instead
should be invoked like in -aa in the share-timeslice patch in order to
roll the current->run_list before the schedule is invoked while
returning to userspace after fork.

another suspect thing I noticed is the wmb() in resched_task. Can you
elaborate on what is it trying to serialize (I hope not the read of
p->need_resched with the stuff below)? Also if something it should be a
smp_wmb(), same smp_ prefix goes for the other mb() in schedule.

thanks,

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