Re: [tip:sched/core] sched: Turn off child_runs_first

From: Ingo Molnar
Date: Wed Sep 09 2009 - 14:09:19 EST



* Theodore Tso <tytso@xxxxxxx> wrote:

> On Wed, Sep 09, 2009 at 03:37:07PM +0000, tip-bot for Mike Galbraith wrote:
> > Commit-ID: 2bba22c50b06abe9fd0d23933b1e64d35b419262
> > Gitweb: http://git.kernel.org/tip/2bba22c50b06abe9fd0d23933b1e64d35b419262
> > Author: Mike Galbraith <efault@xxxxxx>
> > AuthorDate: Wed, 9 Sep 2009 15:41:37 +0200
> > Committer: Ingo Molnar <mingo@xxxxxxx>
> > CommitDate: Wed, 9 Sep 2009 17:30:05 +0200
> >
> > sched: Turn off child_runs_first
> >
> > Set child_runs_first default to off.
> >
> > It hurts 'optimal' make -j<NR_CPUS> workloads as make jobs
> > get preempted by child tasks, reducing parallelism.
>
> Wasn't one of the reasons why we historically did child_runs_first
> was so that for fork/exit workloads, the child has a chance to
> exec the new process? If the parent runs first, then more pages
> will probably need to be COW'ed.

That kind of workload should be using vfork() anyway, and be even
faster because it can avoid the fork overhead, right?

Also, on SMP we do that anyway - there's good likelyhood on an idle
system that we wake the child on the other core straight away.

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/