struct ftrace_ops *op, struct ftrace_regs *fregs)
 {
        struct trace_array *tr = op->private;
-       struct trace_array_cpu *data;
        unsigned int trace_ctx;
        int bit;
 
 
        trace_ctx = tracing_gen_ctx_dec();
 
-       data = this_cpu_ptr(tr->array_buffer.data);
-       if (!atomic_read(&data->disabled))
-               trace_function(tr, ip, parent_ip, trace_ctx, NULL);
+       trace_function(tr, ip, parent_ip, trace_ctx, NULL);
 
        ftrace_test_recursion_unlock(bit);
 }
                         struct ftrace_ops *op, struct ftrace_regs *fregs)
 {
        struct trace_array *tr = op->private;
-       struct trace_array_cpu *data;
        unsigned int trace_ctx;
        int bit;
-       int cpu;
 
        if (unlikely(!tr->function_enabled))
                return;
 
        trace_ctx = tracing_gen_ctx();
 
-       cpu = smp_processor_id();
-       data = per_cpu_ptr(tr->array_buffer.data, cpu);
-       if (!atomic_read(&data->disabled))
-               trace_function(tr, ip, parent_ip, trace_ctx, fregs);
+       trace_function(tr, ip, parent_ip, trace_ctx, fregs);
 
        ftrace_test_recursion_unlock(bit);
 }
 {
        struct trace_func_repeats *last_info;
        struct trace_array *tr = op->private;
-       struct trace_array_cpu *data;
        unsigned int trace_ctx;
        int bit;
 
                return;
 
        parent_ip = function_get_true_parent_ip(parent_ip, fregs);
-       data = this_cpu_ptr(tr->array_buffer.data);
-       if (atomic_read(&data->disabled))
+       if (!tracer_tracing_is_on(tr))
                goto out;
 
        /*