• Steven Rostedt (Google)'s avatar
    tracing: Update snapshot buffer on resize if it is allocated · d06aff1c
    Steven Rostedt (Google) authored
    The snapshot buffer is to mimic the main buffer so that when a snapshot is
    needed, the snapshot and main buffer are swapped. When the snapshot buffer
    is allocated, it is set to the minimal size that the ring buffer may be at
    and still functional. When it is allocated it becomes the same size as the
    main ring buffer, and when the main ring buffer changes in size, it should
    do.
    
    Currently, the resize only updates the snapshot buffer if it's used by the
    current tracer (ie. the preemptirqsoff tracer). But it needs to be updated
    anytime it is allocated.
    
    When changing the size of the main buffer, instead of looking to see if
    the current tracer is utilizing the snapshot buffer, just check if it is
    allocated to know if it should be updated or not.
    
    Also fix typo in comment just above the code change.
    
    Link: https://lore.kernel.org/linux-trace-kernel/20231210225447.48476a6a@rorschach.local.home
    
    Cc: stable@vger.kernel.org
    Cc: Mark Rutland <mark.rutland@arm.com>
    Cc: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
    Fixes: ad909e21 ("tracing: Add internal tracing_snapshot() functions")
    Reviewed-by: default avatarMasami Hiramatsu (Google) <mhiramat@kernel.org>
    Signed-off-by: default avatarSteven Rostedt (Google) <rostedt@goodmis.org>
    d06aff1c
trace.c 258 KB