* Oleg Nesterov <[EMAIL PROTECTED]> 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 [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to