x86/oprofile: add CONFIG_OPROFILE_IBS option
Signed-off-by: Robert Richter <robert.richter@amd.com> Cc: oprofile-list <oprofile-list@lists.sourceforge.net> Cc: Robert Richter <robert.richter@amd.com> Cc: Barry Kasindorf <barry.kasindorf@amd.com> Signed-off-by: Ingo Molnar <mingo@elte.hu>
This commit is contained in:
committed by
Ingo Molnar
parent
6aa360e6c1
commit
852402cc27
@@ -328,6 +328,8 @@ static void add_trace_begin(void)
|
||||
add_event_entry(TRACE_BEGIN_CODE);
|
||||
}
|
||||
|
||||
#ifdef CONFIG_OPROFILE_IBS
|
||||
|
||||
#define IBS_FETCH_CODE_SIZE 2
|
||||
#define IBS_OP_CODE_SIZE 5
|
||||
#define IBS_EIP(offset) \
|
||||
@@ -390,6 +392,8 @@ static void add_ibs_begin(struct oprofile_cpu_buffer *cpu_buf, int code,
|
||||
}
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
static void add_sample_entry(unsigned long offset, unsigned long event)
|
||||
{
|
||||
add_event_entry(offset);
|
||||
@@ -586,6 +590,7 @@ void sync_buffer(int cpu)
|
||||
} else if (s->event == CPU_TRACE_BEGIN) {
|
||||
state = sb_bt_start;
|
||||
add_trace_begin();
|
||||
#ifdef CONFIG_OPROFILE_IBS
|
||||
} else if (s->event == IBS_FETCH_BEGIN) {
|
||||
state = sb_bt_start;
|
||||
add_ibs_begin(cpu_buf,
|
||||
@@ -594,6 +599,7 @@ void sync_buffer(int cpu)
|
||||
state = sb_bt_start;
|
||||
add_ibs_begin(cpu_buf,
|
||||
IBS_OP_CODE, in_kernel, mm);
|
||||
#endif
|
||||
} else {
|
||||
struct mm_struct *oldmm = mm;
|
||||
|
||||
|
Reference in New Issue
Block a user