brintos

brintos / linux-shallow public Read only

0
0
Text · 2.4 KiB · a656613 Raw
95 lines · c
1/* SPDX-License-Identifier: GPL-2.0 */2#ifndef _PERF_RECORD_H3#define _PERF_RECORD_H4 5#include <time.h>6#include <stdbool.h>7#include <linux/types.h>8#include <linux/stddef.h>9#include <linux/perf_event.h>10#include "util/target.h"11 12struct option;13 14struct record_opts {15	struct target target;16	bool	      inherit_stat;17	bool	      no_buffering;18	bool	      no_inherit;19	bool	      no_inherit_set;20	bool	      no_samples;21	bool	      raw_samples;22	bool	      sample_address;23	bool	      sample_phys_addr;24	bool	      sample_data_page_size;25	bool	      sample_code_page_size;26	bool	      sample_weight;27	bool	      sample_time;28	bool	      sample_time_set;29	bool	      sample_cpu;30	bool	      sample_identifier;31	bool	      period;32	bool	      period_set;33	bool	      running_time;34	bool	      full_auxtrace;35	bool	      auxtrace_snapshot_mode;36	bool	      auxtrace_snapshot_on_exit;37	bool	      auxtrace_sample_mode;38	bool	      record_namespaces;39	bool	      record_cgroup;40	bool	      record_switch_events;41	bool	      record_switch_events_set;42	bool	      all_kernel;43	bool	      all_user;44	bool	      kernel_callchains;45	bool	      user_callchains;46	bool	      tail_synthesize;47	bool	      overwrite;48	bool	      ignore_missing_thread;49	bool	      strict_freq;50	bool	      sample_id;51	bool	      no_bpf_event;52	bool	      kcore;53	bool	      text_poke;54	bool	      build_id;55	unsigned int  freq;56	unsigned int  mmap_pages;57	unsigned int  auxtrace_mmap_pages;58	unsigned int  user_freq;59	u64	      branch_stack;60	u64	      sample_intr_regs;61	u64	      sample_user_regs;62	u64	      default_interval;63	u64	      user_interval;64	size_t	      auxtrace_snapshot_size;65	const char    *auxtrace_snapshot_opts;66	const char    *auxtrace_sample_opts;67	bool	      sample_transaction;68	bool	      use_clockid;69	clockid_t     clockid;70	u64	      clockid_res_ns;71	int	      nr_cblocks;72	int	      affinity;73	int	      mmap_flush;74	unsigned int  comp_level;75	unsigned int  nr_threads_synthesize;76	int	      ctl_fd;77	int	      ctl_fd_ack;78	bool	      ctl_fd_close;79	int	      synth;80	int	      threads_spec;81	const char    *threads_user_spec;82};83 84extern const char * const *record_usage;85extern struct option *record_options;86 87int record__parse_freq(const struct option *opt, const char *str, int unset);88 89static inline bool record_opts__no_switch_events(const struct record_opts *opts)90{91	return opts->record_switch_events_set && !opts->record_switch_events;92}93 94#endif // _PERF_RECORD_H95