mirror of
https://github.com/Fishwaldo/Star64_linux.git
synced 2025-06-27 09:02:06 +00:00
perf cpu_map: Add cpu_map user level event
Adding the cpu_map event to pass/store cpu maps as data in a pipe/perf.data. We store maps in 2 formats: - list of cpus - mask of cpus The format that takes less space is selected transparently in the following patch. The interface is made generic, so we could add the cpumap event data into another event in the following patches. Signed-off-by: Jiri Olsa <jolsa@kernel.org> Tested-by: Kan Liang <kan.liang@intel.com> Cc: David Ahern <dsahern@gmail.com> Cc: Namhyung Kim <namhyung@kernel.org> Cc: Peter Zijlstra <a.p.zijlstra@chello.nl> Link: http://lkml.kernel.org/r/1445784728-21732-8-git-send-email-jolsa@kernel.org [ cpu_map_data_cpus -> cpu_map_entries, cpu_map_data_mask -> cpu_map_mask ] Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
This commit is contained in:
parent
ec7fa596f5
commit
6640b6c227
4 changed files with 81 additions and 1 deletions
|
@ -227,6 +227,7 @@ enum perf_user_event_type { /* above any possible kernel type */
|
|||
PERF_RECORD_AUXTRACE = 71,
|
||||
PERF_RECORD_AUXTRACE_ERROR = 72,
|
||||
PERF_RECORD_THREAD_MAP = 73,
|
||||
PERF_RECORD_CPU_MAP = 74,
|
||||
PERF_RECORD_HEADER_MAX
|
||||
};
|
||||
|
||||
|
@ -271,6 +272,32 @@ struct events_stats {
|
|||
u32 nr_proc_map_timeout;
|
||||
};
|
||||
|
||||
enum {
|
||||
PERF_CPU_MAP__CPUS = 0,
|
||||
PERF_CPU_MAP__MASK = 1,
|
||||
};
|
||||
|
||||
struct cpu_map_entries {
|
||||
u16 nr;
|
||||
u16 cpu[];
|
||||
};
|
||||
|
||||
struct cpu_map_mask {
|
||||
u16 nr;
|
||||
u16 long_size;
|
||||
unsigned long mask[];
|
||||
};
|
||||
|
||||
struct cpu_map_data {
|
||||
u16 type;
|
||||
char data[];
|
||||
};
|
||||
|
||||
struct cpu_map_event {
|
||||
struct perf_event_header header;
|
||||
struct cpu_map_data data;
|
||||
};
|
||||
|
||||
struct attr_event {
|
||||
struct perf_event_header header;
|
||||
struct perf_event_attr attr;
|
||||
|
@ -391,6 +418,7 @@ union perf_event {
|
|||
struct itrace_start_event itrace_start;
|
||||
struct context_switch_event context_switch;
|
||||
struct thread_map_event thread_map;
|
||||
struct cpu_map_event cpu_map;
|
||||
};
|
||||
|
||||
void perf_event__print_totals(void);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue