Merge branch 'tracing-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel...
authorLinus Torvalds <torvalds@linux-foundation.org>
Thu, 11 Jun 2009 02:58:10 +0000 (19:58 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Thu, 11 Jun 2009 02:58:10 +0000 (19:58 -0700)
* 'tracing-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
  function-graph: always initialize task ret_stack
  function-graph: move initialization of new tasks up in fork
  function-graph: add memory barriers for accessing task's ret_stack
  function-graph: enable the stack after initialization of other variables
  function-graph: only allocate init tasks if it was not already done

Manually fix trivial conflict in kernel/trace/ftrace.c

1  2 
kernel/fork.c
kernel/trace/ftrace.c
kernel/trace/trace_functions_graph.c

diff --cc kernel/fork.c
Simple merge
index d6973dfadb36d4b46aec2546d69a8766d5c753f8,bb081f37cac78c4753cc2cff9854b904391bfc0e..bb60732ade0cc7bca54fdbff32a9dfda16bacde9
@@@ -3374,11 -2738,16 +3376,16 @@@ void unregister_ftrace_graph(void
  /* Allocate a return stack for newly created task */
  void ftrace_graph_init_task(struct task_struct *t)
  {
 -      if (atomic_read(&ftrace_graph_active)) {
+       /* Make sure we do not use the parent ret_stack */
+       t->ret_stack = NULL;
-               t->ret_stack = kmalloc(FTRACE_RETFUNC_DEPTH
 +      if (ftrace_graph_active) {
+               struct ftrace_ret_stack *ret_stack;
+               ret_stack = kmalloc(FTRACE_RETFUNC_DEPTH
                                * sizeof(struct ftrace_ret_stack),
                                GFP_KERNEL);
-               if (!t->ret_stack)
+               if (!ret_stack)
                        return;
                t->curr_ret_stack = -1;
                atomic_set(&t->tracing_graph_pause, 0);
Simple merge