1. 17 7月, 2014 4 次提交
    • S
      ftrace-graph: Remove dependency of ftrace_stop() from ftrace_graph_stop() · 1b2f121c
      Steven Rostedt (Red Hat) 提交于
      ftrace_stop() is going away as it disables parts of function tracing
      that affects users that should not be affected. But ftrace_graph_stop()
      is built on ftrace_stop(). Here's another example of killing all of
      function tracing because something went wrong with function graph
      tracing.
      
      Instead of disabling all users of function tracing on function graph
      error, disable only function graph tracing.
      
      A new function is created called ftrace_graph_is_dead(). This is called
      in strategic paths to prevent function graph from doing more harm and
      allowing at least a warning to be printed before the system crashes.
      
      NOTE: ftrace_stop() is still used until all the archs are converted over
      to use ftrace_graph_is_dead(). After that, ftrace_stop() will be removed.
      Reviewed-by: NMasami Hiramatsu <masami.hiramatsu.pt@hitachi.com>
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Signed-off-by: NSteven Rostedt <rostedt@goodmis.org>
      1b2f121c
    • S
      PM / Sleep: Remove ftrace_stop/start() from suspend and hibernate · 2b014666
      Steven Rostedt (Red Hat) 提交于
      ftrace_stop() and ftrace_start() were added to the suspend and hibernate
      process because there was some function within the work flow that caused
      the system to reboot if it was traced. This function has recently been
      found (restore_processor_state()). Now there's no reason to disable
      function tracing while we are going into suspend or hibernate, which means
      that being able to trace this will help tremendously in debugging any
      issues with suspend or hibernate.
      
      This also means that the ftrace_stop/start() functions can be removed
      and simplify the function tracing code a bit.
      
      Link: http://lkml.kernel.org/r/1518201.VD9cU33jRU@vostro.rjw.lanAcked-by: N"Rafael J. Wysocki" <rjw@rjwysocki.net>
      Reviewed-by: NMasami Hiramatsu <masami.hiramatsu.pt@hitachi.com>
      Signed-off-by: NSteven Rostedt <rostedt@goodmis.org>
      2b014666
    • S
      x86, power, suspend: Annotate restore_processor_state() with notrace · b8f99b3e
      Steven Rostedt (Red Hat) 提交于
      ftrace_stop() is used to stop function tracing during suspend and resume
      which removes a lot of possible debugging opportunities with tracing.
      The reason was that some function in the resume path was causing a triple
      fault if it were to be traced. The issue I found was that doing something
      as simple as calling smp_processor_id() would reboot the box!
      
      When function tracing was first created I didn't have a good way to figure
      out what function was having issues, or it looked to be multiple ones. To
      fix it, we just created a big hammer approach to the problem which was to
      add a flag in the mcount trampoline that could be checked and not call
      the traced functions.
      
      Lately I developed better ways to find problem functions and I can bisect
      down to see what function is causing the issue. I removed the flag that
      stopped tracing and proceeded to find the problem function and it ended
      up being restore_processor_state(). This function makes sense as when the
      CPU comes back online from a suspend it calls this function to set up
      registers, amongst them the GS register, which stores things such as
      what CPU the processor is (if you call smp_processor_id() without this
      set up properly, it would fault).
      
      By making restore_processor_state() notrace, the system can suspend and
      resume without the need of the big hammer tracing to stop.
      
      Link: http://lkml.kernel.org/r/3577662.BSnUZfboWb@vostro.rjw.lanAcked-by: N"Rafael J. Wysocki" <rjw@rjwysocki.net>
      Reviewed-by: NMasami Hiramatsu <masami.hiramatsu.pt@hitachi.com>
      Signed-off-by: NSteven Rostedt <rostedt@goodmis.org>
      b8f99b3e
    • S
      ftrace/x86: Have function graph tracer use its own trampoline · 1026ff9b
      Steven Rostedt (Red Hat) 提交于
      The function graph trampoline is called from the function trampoline
      and both do a save and restore of registers. The save of registers
      done by the function trampoline when only the function graph tracer
      is running is a waste of CPU cycles.
      
      As the function graph tracer trampoline in x86 is dependent from
      the function trampoline, we can call it directly when a function
      is only being traced by the function graph trampoline.
      Acked-by: NH. Peter Anvin <hpa@linux.intel.com>
      Signed-off-by: NSteven Rostedt <rostedt@goodmis.org>
      1026ff9b
  2. 16 7月, 2014 1 次提交
  3. 09 7月, 2014 1 次提交
  4. 02 7月, 2014 1 次提交
  5. 01 7月, 2014 22 次提交
  6. 30 6月, 2014 7 次提交
  7. 29 6月, 2014 4 次提交
新手
引导
客服 返回
顶部