Re: [PATCH -mm] scheduler: fix the return of the first time_slice

From: Ingo Molnar
Date: Mon Apr 16 2007 - 07:55:29 EST



* Oleg Nesterov <oleg@xxxxxxxxxx> wrote:

> > > * The remainder of the first timeslice might be recovered by
> > > * the parent if the child exits early enough.
> > > */
> > > - p->first_time_slice = 1;
> > > + p->time_slice_reaper = current;
> > > p->timestamp = sched_clock();
> > > local_irq_enable();
> >
> > I am afraid this doesn't work for CLONE_THREAD. Suppose that some
> > sub-thread (not main thread) T1 creates another sub-thread, T2.

> In case I was not clear...

> To make this correct, we should iterate over all thread-group, but
> this can slow down exit() when we have a lot of threads.
>
> I guess we need Ingo's opinion on that.

right now my first cautious estimation seems to be that we might be able
to get rid of this whole child/parent timeslice sharing complexity and
do all the scheduling setup without affecting the parent - hence
avoiding all the reaper problems as well. People reported interactivity
improvements with this removed from CFS. (It all still needs a ton of
validation to make sure, but the trend seems to be this.)

(the only valid component of that complexity is 'child runs first' - but
it's not really related to the timesplice splitting thing just
intermixed with it.)

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