oprofile: remove backtrace code for ibs
Robert Richter [Fri, 19 Dec 2008 11:59:28 +0000 (12:59 +0100)]
This code is broken since a TRACE_BEGIN_CODE is never sent to the
daemon. The data becomes corrupt since the backtrace is interpreted as
ibs sample.

Signed-off-by: Robert Richter <robert.richter@amd.com>

drivers/oprofile/buffer_sync.c
drivers/oprofile/cpu_buffer.c

index 7415d2e..e61e25f 100644 (file)
@@ -557,11 +557,9 @@ void sync_buffer(int cpu)
                                break;
 #ifdef CONFIG_OPROFILE_IBS
                        case IBS_FETCH_BEGIN:
-                               state = sb_bt_start;
                                add_ibs_begin(cpu, IBS_FETCH_CODE, mm);
                                break;
                        case IBS_OP_BEGIN:
-                               state = sb_bt_start;
                                add_ibs_begin(cpu, IBS_OP_CODE, mm);
                                break;
 #endif
index 8ae37c9..92bf8c0 100644 (file)
@@ -347,17 +347,11 @@ void oprofile_add_ibs_sample(struct pt_regs * const regs,
                fail = fail || add_sample(cpu_buf, ibs_sample[10], ibs_sample[11]);
        }
 
-       if (fail)
-               goto fail;
-
-       if (oprofile_backtrace_depth)
-               oprofile_ops.backtrace(regs, oprofile_backtrace_depth);
-
-       return;
+       if (!fail)
+               return;
 
 fail:
        cpu_buf->sample_lost_overflow++;
-       return;
 }
 
 #endif