Merge branch 'i2c/for-4.4' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux
[firefly-linux-kernel-4.4.55.git] / kernel / trace / trace.h
index 423cb48a1d6d2d689f367a0a11695d56f0cd8f75..dd7620802e725e1e2f262f77ba7d8c76dda98ef9 100644 (file)
@@ -71,9 +71,6 @@ enum trace_type {
                tstruct                                                 \
        }
 
-#undef TP_ARGS
-#define TP_ARGS(args...)       args
-
 #undef FTRACE_ENTRY_DUP
 #define FTRACE_ENTRY_DUP(name, name_struct, id, tstruct, printk, filter)
 
@@ -156,9 +153,12 @@ struct trace_array_cpu {
        pid_t                   pid;
        kuid_t                  uid;
        char                    comm[TASK_COMM_LEN];
+
+       bool                    ignore_pid;
 };
 
 struct tracer;
+struct trace_option_dentry;
 
 struct trace_buffer {
        struct trace_array              *tr;
@@ -170,6 +170,17 @@ struct trace_buffer {
 
 #define TRACE_FLAGS_MAX_SIZE           32
 
+struct trace_options {
+       struct tracer                   *tracer;
+       struct trace_option_dentry      *topts;
+};
+
+struct trace_pid_list {
+       unsigned int                    nr_pids;
+       int                             order;
+       pid_t                           *pids;
+};
+
 /*
  * The trace array - an array of per-CPU trace arrays. This is the
  * highest level data structure that individual tracers deal with.
@@ -195,6 +206,7 @@ struct trace_array {
        bool                    allocated_snapshot;
        unsigned long           max_latency;
 #endif
+       struct trace_pid_list   __rcu *filtered_pids;
        /*
         * max_lock is used to protect the swapping of buffers
         * when taking a max snapshot. The buffers themselves are
@@ -218,6 +230,7 @@ struct trace_array {
 #endif
        int                     stop_count;
        int                     clock_id;
+       int                     nr_topts;
        struct tracer           *current_trace;
        unsigned int            trace_flags;
        unsigned char           trace_flags_index[TRACE_FLAGS_MAX_SIZE];
@@ -227,6 +240,7 @@ struct trace_array {
        struct dentry           *options;
        struct dentry           *percpu_dir;
        struct dentry           *event_dir;
+       struct trace_options    *topts;
        struct list_head        systems;
        struct list_head        events;
        cpumask_var_t           tracing_cpumask; /* only trace on set CPUs */
@@ -398,7 +412,6 @@ struct tracer {
                                                u32 mask, int set);
        struct tracer           *next;
        struct tracer_flags     *flags;
-       struct trace_option_dentry *topts;
        int                     enabled;
        int                     ref;
        bool                    print_max;
@@ -857,7 +870,7 @@ void ftrace_destroy_filter_files(struct ftrace_ops *ops);
 #define ftrace_destroy_filter_files(ops) do { } while (0)
 #endif /* CONFIG_FUNCTION_TRACER && CONFIG_DYNAMIC_FTRACE */
 
-int ftrace_event_is_function(struct trace_event_call *call);
+bool ftrace_event_is_function(struct trace_event_call *call);
 
 /*
  * struct trace_parser - servers for reading the user input separated by spaces