Merge branch 'perf/core-v3' of git://git.kernel.org/pub/scm/linux/kernel/git/frederic/linux-dynticks into perf/hw_breakpoints
Pull AMD range breakpoints support from Frederic Weisbecker: " - Extend breakpoint tools and core to support address range through perf event with initial backend support for AMD extended breakpoints. Syntax is: perf record -e mem:addr/len:type For example set write breakpoint from 0x1000 to 0x1200 (0x1000 + 512) perf record -e mem:0x1000/512:w - Clean up a bit breakpoint code validation It has been acked by Jiri and Oleg. " Signed-off-by: Ingo Molnar <mingo@kernel.org>
This commit is contained in:
@@ -79,7 +79,7 @@ struct perf_branch_stack {
|
||||
struct perf_branch_entry entries[0];
|
||||
};
|
||||
|
||||
struct perf_regs_user {
|
||||
struct perf_regs {
|
||||
__u64 abi;
|
||||
struct pt_regs *regs;
|
||||
};
|
||||
@@ -580,34 +580,40 @@ extern u64 perf_event_read_value(struct perf_event *event,
|
||||
|
||||
|
||||
struct perf_sample_data {
|
||||
u64 type;
|
||||
/*
|
||||
* Fields set by perf_sample_data_init(), group so as to
|
||||
* minimize the cachelines touched.
|
||||
*/
|
||||
u64 addr;
|
||||
struct perf_raw_record *raw;
|
||||
struct perf_branch_stack *br_stack;
|
||||
u64 period;
|
||||
u64 weight;
|
||||
u64 txn;
|
||||
union perf_mem_data_src data_src;
|
||||
|
||||
/*
|
||||
* The other fields, optionally {set,used} by
|
||||
* perf_{prepare,output}_sample().
|
||||
*/
|
||||
u64 type;
|
||||
u64 ip;
|
||||
struct {
|
||||
u32 pid;
|
||||
u32 tid;
|
||||
} tid_entry;
|
||||
u64 time;
|
||||
u64 addr;
|
||||
u64 id;
|
||||
u64 stream_id;
|
||||
struct {
|
||||
u32 cpu;
|
||||
u32 reserved;
|
||||
} cpu_entry;
|
||||
u64 period;
|
||||
union perf_mem_data_src data_src;
|
||||
struct perf_callchain_entry *callchain;
|
||||
struct perf_raw_record *raw;
|
||||
struct perf_branch_stack *br_stack;
|
||||
struct perf_regs_user regs_user;
|
||||
struct perf_regs regs_user;
|
||||
struct perf_regs regs_intr;
|
||||
u64 stack_user_size;
|
||||
u64 weight;
|
||||
/*
|
||||
* Transaction flags for abort events:
|
||||
*/
|
||||
u64 txn;
|
||||
};
|
||||
} ____cacheline_aligned;
|
||||
|
||||
/* default value for data source */
|
||||
#define PERF_MEM_NA (PERF_MEM_S(OP, NA) |\
|
||||
@@ -624,9 +630,6 @@ static inline void perf_sample_data_init(struct perf_sample_data *data,
|
||||
data->raw = NULL;
|
||||
data->br_stack = NULL;
|
||||
data->period = period;
|
||||
data->regs_user.abi = PERF_SAMPLE_REGS_ABI_NONE;
|
||||
data->regs_user.regs = NULL;
|
||||
data->stack_user_size = 0;
|
||||
data->weight = 0;
|
||||
data->data_src.val = PERF_MEM_NA;
|
||||
data->txn = 0;
|
||||
|
Reference in New Issue
Block a user