Skip to content
  • Steven Rostedt's avatar
    tracing: Fix regression with irqsoff tracer and tracing_on file · 2df8f8a6
    Steven Rostedt authored
    Commit 02404baf
    
     "tracing: Remove deprecated tracing_enabled file"
    removed the tracing_enabled file as it never worked properly and
    the tracing_on file should be used instead. But the tracing_on file
    didn't call into the tracers start/stop routines like the
    tracing_enabled file did. This caused trace-cmd to break when it
    enabled the irqsoff tracer.
    
    If you just did "echo irqsoff > current_tracer" then it would work
    properly. But the tool trace-cmd disables tracing first by writing
    "0" into the tracing_on file. Then it writes "irqsoff" into
    current_tracer and then writes "1" into tracing_on. Unfortunately,
    the above commit changed the irqsoff tracer to check the tracing_on
    status instead of the tracing_enabled status. If it's disabled then
    it does not start the tracer internals.
    
    The problem is that writing "1" into tracing_on does not call the
    tracers "start" routine like writing "1" into tracing_enabled did.
    This makes the irqsoff tracer not start when using the trace-cmd
    tool, and is a regression for userspace.
    
    Simple fix is to have the tracing_on file call the tracers start()
    method when being enabled (and the stop() method when disabled).
    
    Signed-off-by: default avatarSteven Rostedt <rostedt@goodmis.org>
    2df8f8a6