[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20070801002114.GB31006@wotan.suse.de>
Date: Wed, 1 Aug 2007 02:21:14 +0200
From: Nick Piggin <npiggin@...e.de>
To: Ingo Molnar <mingo@...e.hu>
Cc: Andi Kleen <ak@...e.de>,
Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
Linux Memory Management List <linux-mm@...ck.org>
Subject: Re: [rfc] balance-on-fork NUMA placement
On Tue, Jul 31, 2007 at 10:01:14AM +0200, Ingo Molnar wrote:
>
> * Nick Piggin <npiggin@...e.de> wrote:
>
> > This patch uses memory policies to attempt to improve this. It
> > requires that we ask the scheduler to suggest the child's new CPU
> > earlier in the fork, but that is not a fundamental difference.
>
> no fundamental objections, but i think we could simply move sched_fork()
> to the following place:
>
> > @@ -989,10 +990,13 @@ static struct task_struct *copy_process(
> > if (retval)
> > goto fork_out;
> >
> > + cpu = sched_fork_suggest_cpu(clone_flags);
> > + mpol_arg = mpol_prefer_cpu_start(cpu);
> > +
> > retval = -ENOMEM;
> > p = dup_task_struct(current);
> > if (!p)
> > - goto fork_out;
> > + goto fork_mpol;
> >
> > rt_mutex_init_task(p);
>
>
> _after_ the dup_task_struct(). Then change sched_fork() to return a CPU
> number - hence we dont have a separate sched_fork_suggest_cpu()
> initialization function, only one, obvious sched_fork() function.
> Agreed?
That puts task struct, kernel stack, thread info on the wrong node.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists