• Daniel Bristot de Oliveira's avatar
    tracing/osnoise: Support a list of trace_array *tr · dae18134
    Daniel Bristot de Oliveira authored
    osnoise/timerlat were built to run a single instance, and for this,
    a single variable is enough to store the current struct trace_array
    *tr with information about the tracing instance. This is done via
    the *osnoise_trace variable. A trace_array represents a trace instance.
    
    In preparation to support multiple instances, replace the
    *osnoise_trace variable with an RCU protected list of instances.
    
    The operations that refer to an instance now propagate to all
    elements of the list (all instances).
    
    Also, replace the osnoise_busy variable with a check if the list
    has elements (busy).
    
    No functional change is expected with this patch, i.e., only one
    instance is allowed yet.
    
    Link: https://lkml.kernel.org/r/91d006e889b9a5d1ff258fe6077f021ae3f26372.1635702894.git.bristot@kernel.org
    
    Cc: Ingo Molnar <mingo@redhat.com>
    Cc: Tom Zanussi <zanussi@kernel.org>
    Cc: Masami Hiramatsu <mhiramat@kernel.org>
    Cc: Juri Lelli <juri.lelli@redhat.com>
    Cc: Clark Williams <williams@redhat.com>
    Cc: John Kacur <jkacur@redhat.com>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Cc: Thomas Gleixner <tglx@linutronix.de>
    Cc: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
    Cc: Daniel Bristot de Oliveira <bristot@kernel.org>
    Cc: linux-rt-users@vger.kernel.org
    Cc: linux-trace-devel@vger.kernel.org
    Cc: linux-kernel@vger.kernel.org
    Signed-off-by: default avatarDaniel Bristot de Oliveira <bristot@kernel.org>
    Signed-off-by: default avatarSteven Rostedt (VMware) <rostedt@goodmis.org>
    dae18134
trace_osnoise.c 54.3 KB