Lines Matching +full:spe +full:- +full:pmu
1 /* SPDX-License-Identifier: GPL-2.0-only */
4 * Copyright (c) 2013-2015, Intel Corporation.
60 #define AUXTRACE_ERR_FLG_OVERFLOW (1 << ('o' - 'a'))
61 #define AUXTRACE_ERR_FLG_DATA_LOST (1 << ('l' - 'a'))
63 #define AUXTRACE_LOG_FLG_ALL_PERF_EVTS (1 << ('a' - 'a'))
64 #define AUXTRACE_LOG_FLG_ON_ERROR (1 << ('e' - 'a'))
65 #define AUXTRACE_LOG_FLG_USE_STDOUT (1 << ('o' - 'a'))
68 * struct itrace_synth_opts - AUX area tracing synthesis options.
78 * (branch misses only for Arm SPE)
104 * @vm_tm_corr_dry_run: VM Time Correlation dry-run
105 * @vm_tm_corr_args: VM Time Correlation implementation-specific arguments
171 * struct auxtrace_index_entry - indexes a AUX area tracing event within a
184 * struct auxtrace_index - index of AUX area tracing events within a perf.data
197 * struct auxtrace - session callbacks to allow AUX area data decoding.
229 * struct auxtrace_buffer - a buffer containing AUX area tracing data.
232 * @pid: in per-thread mode, the pid this buffer is associated with
233 * @tid: in per-thread mode, the tid this buffer is associated with
234 * @cpu: in per-cpu mode, the cpu this buffer is associated with
245 * @reference: an implementation-specific reference determined when the data is
271 * struct auxtrace_queue - a queue of AUX area tracing data buffers.
273 * @tid: in per-thread mode, the tid this queue is associated with
274 * @cpu: in per-cpu mode, the cpu this queue is associated with
276 * @priv: implementation-specific data
287 * struct auxtrace_queues - an array of AUX area tracing queues.
303 * struct auxtrace_heap_item - element of struct auxtrace_heap.
314 * struct auxtrace_heap - a heap suitable for sorting AUX area tracing queues.
326 * struct auxtrace_mmap - records an mmap of the auxtrace buffer.
329 * @mask: %0 if @len is not a power of two, otherwise (@len - %1)
333 * @tid: tid for a per-thread mmap (also set if there is only 1 tid on a per-cpu
335 * @cpu: cpu number for a per-cpu mmap otherwise %-1
349 * struct auxtrace_mmap_params - parameters to set up struct auxtrace_mmap.
350 * @mask: %0 if @len is not a power of two, otherwise (@len - %1)
355 * @tid: tid for a per-thread mmap (also set if there is only 1 tid on a per-cpu
357 * @mmap_needed: set to %false for non-auxtrace events. This is needed because
358 * auxtrace mmapping is done in the same code path as non-auxtrace
359 * mmapping but not every evsel that needs non-auxtrace mmapping
361 * @cpu: cpu number for a per-cpu mmap otherwise %-1
375 * struct auxtrace_record - callbacks for recording AUX area data.
378 * @info_fill: fill-in the private data in auxtrace_info_event
384 * @reference: provide a 64-bit reference number for auxtrace_event
387 * @default_aux_sample_size: default sample size for --aux sample option
388 * @pmu: associated pmu
414 struct perf_pmu *pmu; member
419 * struct addr_filter - address filter.
451 * struct addr_filters - list of address filters.
470 struct perf_event_mmap_page *pc = mm->userpg; in auxtrace_mmap__read_head()
477 head = READ_ONCE(pc->aux_head); in auxtrace_mmap__read_head()
487 struct perf_event_mmap_page *pc = mm->userpg; in auxtrace_mmap__write_tail()
495 WRITE_ONCE(pc->aux_tail, tail); in auxtrace_mmap__write_tail()
653 " b: synthesize branches events (branch misses for Arm SPE)\n" \
660 " of aux-output (refer to perf record)\n" \
664 " each flag must be preceded by + or -\n" \
668 " each flag must be preceded by + or -\n" \
682 " Z: prefer to ignore timestamps (so-called \"timeless\" decoding)\n" \
692 opts->ptime_range = ptime_range; in itrace_synth_opts__set_time_range()
693 opts->range_num = range_num; in itrace_synth_opts__set_time_range()
699 opts->ptime_range = NULL; in itrace_synth_opts__clear_time_range()
700 opts->range_num = 0; in itrace_synth_opts__clear_time_range()
767 return -EINVAL; in itrace_do_parse_synth_opts()
776 return -EINVAL; in itrace_parse_synth_opts()
787 return -EINVAL; in auxtrace_parse_snapshot_options()
799 return -EINVAL; in auxtrace_parse_sample_options()
848 return -EINVAL; in auxtrace_index__write()
857 return -EINVAL; in auxtrace_index__process()