• S
    tracing: Try again for saved cmdline if failed due to locking · 379cfdac
    Steven Rostedt (Red Hat) 提交于
    In order to prevent the saved cmdline cache from being filled when
    tracing is not active, the comms are only recorded after a trace event
    is recorded.
    
    The problem is, a comm can fail to be recorded if the trace_cmdline_lock
    is held. That lock is taken via a trylock to allow it to happen from
    any context (including NMI). If the lock fails to be taken, the comm
    is skipped. No big deal, as we will try again later.
    
    But! Because of the code that was added to only record after an event,
    we may not try again later as the recording is made as a oneshot per
    event per CPU.
    
    Only disable the recording of the comm if the comm is actually recorded.
    
    Fixes: 7ffbd48d "tracing: Cache comms only after an event occurred"
    Signed-off-by: NSteven Rostedt <rostedt@goodmis.org>
    379cfdac
trace.c 159.0 KB