* 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/