mirror of
https://github.com/torvalds/linux.git
synced 2024-11-13 15:41:39 +00:00
perf intel-pt: Add lookahead callback
Add a callback function to enable the decoder to lookahead at subsequent trace buffers. This will be used to implement a "fast forward" facility which will be needed to support efficient time interval filtering. Signed-off-by: Adrian Hunter <adrian.hunter@intel.com> Cc: Jin Yao <yao.jin@linux.intel.com> Cc: Jiri Olsa <jolsa@redhat.com> Link: http://lkml.kernel.org/r/20190604130017.31207-5-adrian.hunter@intel.com Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
This commit is contained in:
parent
4885c90c5e
commit
4d678e9039
@ -104,6 +104,7 @@ struct intel_pt_decoder {
|
||||
uint64_t *insn_cnt_ptr, uint64_t *ip, uint64_t to_ip,
|
||||
uint64_t max_insn_cnt, void *data);
|
||||
bool (*pgd_ip)(uint64_t ip, void *data);
|
||||
int (*lookahead)(void *data, intel_pt_lookahead_cb_t cb, void *cb_data);
|
||||
void *data;
|
||||
struct intel_pt_state state;
|
||||
const unsigned char *buf;
|
||||
@ -233,6 +234,7 @@ struct intel_pt_decoder *intel_pt_decoder_new(struct intel_pt_params *params)
|
||||
decoder->get_trace = params->get_trace;
|
||||
decoder->walk_insn = params->walk_insn;
|
||||
decoder->pgd_ip = params->pgd_ip;
|
||||
decoder->lookahead = params->lookahead;
|
||||
decoder->data = params->data;
|
||||
decoder->return_compression = params->return_compression;
|
||||
decoder->branch_enable = params->branch_enable;
|
||||
|
@ -102,12 +102,15 @@ struct intel_pt_buffer {
|
||||
uint64_t trace_nr;
|
||||
};
|
||||
|
||||
typedef int (*intel_pt_lookahead_cb_t)(struct intel_pt_buffer *, void *);
|
||||
|
||||
struct intel_pt_params {
|
||||
int (*get_trace)(struct intel_pt_buffer *buffer, void *data);
|
||||
int (*walk_insn)(struct intel_pt_insn *intel_pt_insn,
|
||||
uint64_t *insn_cnt_ptr, uint64_t *ip, uint64_t to_ip,
|
||||
uint64_t max_insn_cnt, void *data);
|
||||
bool (*pgd_ip)(uint64_t ip, void *data);
|
||||
int (*lookahead)(void *data, intel_pt_lookahead_cb_t cb, void *cb_data);
|
||||
void *data;
|
||||
bool return_compression;
|
||||
bool branch_enable;
|
||||
|
Loading…
Reference in New Issue
Block a user