lkml.org 
[lkml]   [2007]   [Jul]   [31]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [rfc] balance-on-fork NUMA placement
On Tue, Jul 31, 2007 at 10:01:14AM +0200, Ingo Molnar wrote:
>
> * Nick Piggin <npiggin@suse.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@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2007-08-01 02:23    [W:0.085 / U:0.056 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site