tools headers UAPI: Sync drm/i915_drm.h with the kernel sources
[linux-2.6-microblaze.git] / kernel / trace / trace_functions_graph.c
index d874dec..0aa6e6f 100644 (file)
@@ -96,8 +96,7 @@ print_graph_duration(struct trace_array *tr, unsigned long long duration,
 
 int __trace_graph_entry(struct trace_array *tr,
                                struct ftrace_graph_ent *trace,
-                               unsigned long flags,
-                               int pc)
+                               unsigned int trace_ctx)
 {
        struct trace_event_call *call = &event_funcgraph_entry;
        struct ring_buffer_event *event;
@@ -105,7 +104,7 @@ int __trace_graph_entry(struct trace_array *tr,
        struct ftrace_graph_ent_entry *entry;
 
        event = trace_buffer_lock_reserve(buffer, TRACE_GRAPH_ENT,
-                                         sizeof(*entry), flags, pc);
+                                         sizeof(*entry), trace_ctx);
        if (!event)
                return 0;
        entry   = ring_buffer_event_data(event);
@@ -129,10 +128,10 @@ int trace_graph_entry(struct ftrace_graph_ent *trace)
        struct trace_array *tr = graph_array;
        struct trace_array_cpu *data;
        unsigned long flags;
+       unsigned int trace_ctx;
        long disabled;
        int ret;
        int cpu;
-       int pc;
 
        if (trace_recursion_test(TRACE_GRAPH_NOTRACE_BIT))
                return 0;
@@ -174,8 +173,8 @@ int trace_graph_entry(struct ftrace_graph_ent *trace)
        data = per_cpu_ptr(tr->array_buffer.data, cpu);
        disabled = atomic_inc_return(&data->disabled);
        if (likely(disabled == 1)) {
-               pc = preempt_count();
-               ret = __trace_graph_entry(tr, trace, flags, pc);
+               trace_ctx = tracing_gen_ctx_flags(flags);
+               ret = __trace_graph_entry(tr, trace, trace_ctx);
        } else {
                ret = 0;
        }
@@ -188,7 +187,7 @@ int trace_graph_entry(struct ftrace_graph_ent *trace)
 
 static void
 __trace_graph_function(struct trace_array *tr,
-               unsigned long ip, unsigned long flags, int pc)
+               unsigned long ip, unsigned int trace_ctx)
 {
        u64 time = trace_clock_local();
        struct ftrace_graph_ent ent = {
@@ -202,22 +201,21 @@ __trace_graph_function(struct trace_array *tr,
                .rettime  = time,
        };
 
-       __trace_graph_entry(tr, &ent, flags, pc);
-       __trace_graph_return(tr, &ret, flags, pc);
+       __trace_graph_entry(tr, &ent, trace_ctx);
+       __trace_graph_return(tr, &ret, trace_ctx);
 }
 
 void
 trace_graph_function(struct trace_array *tr,
                unsigned long ip, unsigned long parent_ip,
-               unsigned long flags, int pc)
+               unsigned int trace_ctx)
 {
-       __trace_graph_function(tr, ip, flags, pc);
+       __trace_graph_function(tr, ip, trace_ctx);
 }
 
 void __trace_graph_return(struct trace_array *tr,
                                struct ftrace_graph_ret *trace,
-                               unsigned long flags,
-                               int pc)
+                               unsigned int trace_ctx)
 {
        struct trace_event_call *call = &event_funcgraph_exit;
        struct ring_buffer_event *event;
@@ -225,7 +223,7 @@ void __trace_graph_return(struct trace_array *tr,
        struct ftrace_graph_ret_entry *entry;
 
        event = trace_buffer_lock_reserve(buffer, TRACE_GRAPH_RET,
-                                         sizeof(*entry), flags, pc);
+                                         sizeof(*entry), trace_ctx);
        if (!event)
                return;
        entry   = ring_buffer_event_data(event);
@@ -239,9 +237,9 @@ void trace_graph_return(struct ftrace_graph_ret *trace)
        struct trace_array *tr = graph_array;
        struct trace_array_cpu *data;
        unsigned long flags;
+       unsigned int trace_ctx;
        long disabled;
        int cpu;
-       int pc;
 
        ftrace_graph_addr_finish(trace);
 
@@ -255,8 +253,8 @@ void trace_graph_return(struct ftrace_graph_ret *trace)
        data = per_cpu_ptr(tr->array_buffer.data, cpu);
        disabled = atomic_inc_return(&data->disabled);
        if (likely(disabled == 1)) {
-               pc = preempt_count();
-               __trace_graph_return(tr, trace, flags, pc);
+               trace_ctx = tracing_gen_ctx_flags(flags);
+               __trace_graph_return(tr, trace, trace_ctx);
        }
        atomic_dec(&data->disabled);
        local_irq_restore(flags);