• Steven Rostedt (Red Hat)'s avatar
    tracing: Add a method to pass in trace_array descriptor to option files · 9a38a885
    Steven Rostedt (Red Hat) authored
    In preparation of having the multi buffer instances having their own trace
    option flags, the trace option files needs a way to not only pass in the
    flag they represent, but also the trace_array descriptor.
    
    A new field is added to the trace_array descriptor called trace_flags_index,
    which is a 32 byte character array representing a bit. This array is simply
    filled with the index of the array, where
    
      index_array[n] = n;
    
    Then the address of this array is passed to the file callbacks instead of
    the index of the flag index. Then to retrieve both the flag index and the
    trace_array descriptor:
    
      data is the passed in argument.
    
      index = *(unsigned char *)data;
    
      data -= index;
    
      /* Now data points to the address of the array in the trace_array */
    
      tr = container_of(data, struct trace_array, trace_flags_index);
    Suggested-by: default avatarJohannes Berg <johannes.berg@intel.com>
    Signed-off-by: default avatarSteven Rostedt <rostedt@goodmis.org>
    9a38a885
trace.c 172 KB