Lines Matching refs:opts

155 	struct record_opts	opts;  member
205 return rec->opts.threads_spec; in record__threads_enabled()
510 struct record_opts *opts = (struct record_opts *)opt->value; in record__aio_parse() local
513 opts->nr_cblocks = 0; in record__aio_parse()
516 opts->nr_cblocks = strtol(str, NULL, 0); in record__aio_parse()
517 if (!opts->nr_cblocks) in record__aio_parse()
518 opts->nr_cblocks = nr_cblocks_default; in record__aio_parse()
548 return rec->opts.nr_cblocks > 0; in record__aio_enabled()
557 struct record_opts *opts = (struct record_opts *)opt->value; in record__mmap_flush_parse() local
570 opts->mmap_flush = parse_tag_value(str, tags); in record__mmap_flush_parse()
571 if (opts->mmap_flush == (int)-1) in record__mmap_flush_parse()
572 opts->mmap_flush = strtol(str, NULL, 0); in record__mmap_flush_parse()
575 if (!opts->mmap_flush) in record__mmap_flush_parse()
576 opts->mmap_flush = MMAP_FLUSH_DEFAULT; in record__mmap_flush_parse()
578 flush_max = evlist__mmap_size(opts->mmap_pages); in record__mmap_flush_parse()
580 if (opts->mmap_flush > flush_max) in record__mmap_flush_parse()
581 opts->mmap_flush = flush_max; in record__mmap_flush_parse()
591 struct record_opts *opts = opt->value; in record__parse_comp_level() local
594 opts->comp_level = 0; in record__parse_comp_level()
597 opts->comp_level = strtol(str, NULL, 0); in record__parse_comp_level()
598 if (!opts->comp_level) in record__parse_comp_level()
599 opts->comp_level = comp_level_default; in record__parse_comp_level()
609 return rec->opts.comp_level > 0; in record__comp_enabled()
763 rec->opts.auxtrace_snapshot_size); in record__auxtrace_mmap_read_snapshot()
826 if ((rec->opts.auxtrace_snapshot_opts || rec->opts.auxtrace_sample_opts) in record__auxtrace_init()
838 err = auxtrace_parse_snapshot_options(rec->itr, &rec->opts, in record__auxtrace_init()
839 rec->opts.auxtrace_snapshot_opts); in record__auxtrace_init()
843 err = auxtrace_parse_sample_options(rec->itr, rec->evlist, &rec->opts, in record__auxtrace_init()
844 rec->opts.auxtrace_sample_opts); in record__auxtrace_init()
911 return off_cpu_prepare(rec->evlist, &rec->opts.target, &rec->opts); in record__config_off_cpu()
1225 struct record_opts *opts = &rec->opts; in record__mmap_evlist() local
1226 bool auxtrace_overwrite = opts->auxtrace_snapshot_mode || in record__mmap_evlist()
1227 opts->auxtrace_sample_mode; in record__mmap_evlist()
1230 if (opts->affinity != PERF_AFFINITY_SYS) in record__mmap_evlist()
1233 if (evlist__mmap_ex(evlist, opts->mmap_pages, in record__mmap_evlist()
1234 opts->auxtrace_mmap_pages, in record__mmap_evlist()
1236 opts->nr_cblocks, opts->affinity, in record__mmap_evlist()
1237 opts->mmap_flush, opts->comp_level) < 0) { in record__mmap_evlist()
1244 opts->mmap_pages, opts->auxtrace_mmap_pages); in record__mmap_evlist()
1256 if (evlist__initialize_ctlfd(evlist, opts->ctl_fd, opts->ctl_fd_ack)) in record__mmap_evlist()
1291 struct record_opts *opts = &rec->opts; in record__open() local
1299 if (opts->initial_delay || target__has_cpu(&opts->target) || in record__open()
1314 if (opts->initial_delay && !pos->immediate && in record__open()
1315 !target__has_cpu(&opts->target)) in record__open()
1321 evlist__config(evlist, opts, &callchain_param); in record__open()
1338 evsel__open_strerror(pos, &opts->target, errno, msg, sizeof(msg)); in record__open()
1472 if (rec->opts.affinity != PERF_AFFINITY_SYS && in record__adjust_affinity()
1583 if (map->auxtrace_mmap.base && !rec->opts.auxtrace_snapshot_mode && in record__mmap_read_evlist()
1584 !rec->opts.auxtrace_sample_mode && in record__mmap_read_evlist()
1707 if (!rec->opts.branch_stack) in record__init_features()
1710 if (!rec->opts.full_auxtrace) in record__init_features()
1713 if (!(rec->opts.use_clockid && rec->opts.clockid_res_ns)) in record__init_features()
1716 if (!rec->opts.use_clockid) in record__init_features()
1760 bool needs_mmap = rec->opts.synth & PERF_SYNTH_MMAP; in record__synthesize_workload()
1762 if (rec->opts.tail_synthesize != tail) in record__synthesize_workload()
1773 rec->opts.sample_address); in record__synthesize_workload()
1780 if (rec->opts.tail_synthesize != tail) in write_finished_init()
1803 if (target__none(&rec->opts.target)) in record__switch_output()
1854 if (target__none(&rec->opts.target)) in record__switch_output()
1972 struct record_opts *opts = &rec->opts; in record__synthesize() local
1977 if (rec->opts.tail_synthesize != tail) in record__synthesize()
2001 if (rec->opts.full_auxtrace) { in record__synthesize()
2050 machine, opts); in record__synthesize()
2056 if (rec->opts.synth & PERF_SYNTH_CGROUP) { in record__synthesize()
2065 if (rec->opts.nr_threads_synthesize > 1) { in record__synthesize()
2071 if (rec->opts.synth & PERF_SYNTH_TASK) { in record__synthesize()
2072 bool needs_mmap = rec->opts.synth & PERF_SYNTH_MMAP; in record__synthesize()
2074 err = __machine__synthesize_threads(machine, tool, &opts->target, in record__synthesize()
2076 f, needs_mmap, opts->sample_address, in record__synthesize()
2077 rec->opts.nr_threads_synthesize); in record__synthesize()
2080 if (rec->opts.nr_threads_synthesize > 1) { in record__synthesize()
2098 struct record_opts *opts = &rec->opts; in record__setup_sb_evlist() local
2110 if (!opts->no_bpf_event) { in record__setup_sb_evlist()
2126 if (evlist__start_sb_thread(rec->sb_evlist, &rec->opts.target)) { in record__setup_sb_evlist()
2128 opts->no_bpf_event = true; in record__setup_sb_evlist()
2141 if (!rec->opts.use_clockid) in record__init_clock()
2144 if (rec->opts.use_clockid && rec->opts.clockid_res_ns) in record__init_clock()
2145 session->header.env.clock.clockid_res_ns = rec->opts.clockid_res_ns; in record__init_clock()
2147 session->header.env.clock.clockid = rec->opts.clockid; in record__init_clock()
2154 if (clock_gettime(rec->opts.clockid, &ref_clockid)) { in record__init_clock()
2332 struct record_opts *opts = &rec->opts; in __cmd_record() local
2346 if (rec->opts.record_namespaces) in __cmd_record()
2349 if (rec->opts.record_cgroup) { in __cmd_record()
2358 if (rec->opts.auxtrace_snapshot_mode || rec->switch_output.enabled) { in __cmd_record()
2360 if (rec->opts.auxtrace_snapshot_mode) in __cmd_record()
2379 if (rec->opts.full_auxtrace) { in __cmd_record()
2388 if (zstd_init(&session->zstd_data, rec->opts.comp_level) < 0) { in __cmd_record()
2408 session->header.env.comp_level = rec->opts.comp_level; in __cmd_record()
2410 if (rec->opts.kcore && in __cmd_record()
2422 err = evlist__prepare_workload(rec->evlist, &opts->target, argv, data->is_pipe, in __cmd_record()
2438 rec->opts.sample_id = true; in __cmd_record()
2452 if (rec->opts.kcore) { in __cmd_record()
2527 if (!target__none(&opts->target) && !opts->initial_delay) in __cmd_record()
2579 if (opts->initial_delay) { in __cmd_record()
2581 if (opts->initial_delay > 0) { in __cmd_record()
2582 usleep(opts->initial_delay * USEC_PER_MSEC); in __cmd_record()
2732 if (done && !disabled && !target__none(&opts->target)) { in __cmd_record()
2742 if (opts->auxtrace_snapshot_on_exit) in __cmd_record()
2763 if (target__none(&rec->opts.target)) in __cmd_record()
2823 if (rec->samples && !rec->opts.full_auxtrace) in __cmd_record()
2852 if (!opts->no_bpf_event) in __cmd_record()
2938 rec->opts.nr_cblocks = strtol(value, NULL, 0); in perf_record_config()
2939 if (!rec->opts.nr_cblocks) in perf_record_config()
2940 rec->opts.nr_cblocks = nr_cblocks_default; in perf_record_config()
2957 return evlist__parse_event_enable_time(rec->evlist, &rec->opts, str, unset); in record__parse_event_enable_time()
2962 struct record_opts *opts = (struct record_opts *)opt->value; in record__parse_affinity() local
2968 opts->affinity = PERF_AFFINITY_NODE; in record__parse_affinity()
2970 opts->affinity = PERF_AFFINITY_CPU; in record__parse_affinity()
3019 struct record_opts *opts = opt->value; in record__parse_threads() local
3022 opts->threads_spec = THREAD_SPEC__CPU; in record__parse_threads()
3026 opts->threads_user_spec = strdup(str); in record__parse_threads()
3027 if (!opts->threads_user_spec) in record__parse_threads()
3029 opts->threads_spec = THREAD_SPEC__USER; in record__parse_threads()
3033 opts->threads_spec = s; in record__parse_threads()
3039 if (opts->threads_spec == THREAD_SPEC__USER) in record__parse_threads()
3040 pr_debug("threads_spec: %s\n", opts->threads_user_spec); in record__parse_threads()
3042 pr_debug("threads_spec: %s\n", thread_spec_tags[opts->threads_spec]); in record__parse_threads()
3078 struct record_opts *opts = opt->value; in record__parse_mmap_pages() local
3098 opts->mmap_pages = mmap_pages; in record__parse_mmap_pages()
3110 opts->auxtrace_mmap_pages = mmap_pages; in record__parse_mmap_pages()
3117 void __weak arch__add_leaf_frame_record_opts(struct record_opts *opts __maybe_unused) in arch__add_leaf_frame_record_opts()
3125 struct record_opts *opts = opt->value; in parse_control_option() local
3127 return evlist__parse_control(str, &opts->ctl_fd, &opts->ctl_fd_ack, &opts->ctl_fd_close); in parse_control_option()
3132 u64 wakeup_size = evlist__mmap_size(rec->opts.mmap_pages); in switch_output_size_warn()
3215 if (s->size && !rec->opts.no_buffering) in switch_output_setup()
3268 struct record_opts *opts = opt->value; in parse_record_synth_option() local
3274 opts->synth = parse_synth_opt(p); in parse_record_synth_option()
3277 if (opts->synth < 0) { in parse_record_synth_option()
3295 .opts = {
3346 OPT_STRING('p', "pid", &record.opts.target.pid, "pid",
3348 OPT_STRING('t', "tid", &record.opts.target.tid, "tid",
3352 OPT_BOOLEAN(0, "no-buffering", &record.opts.no_buffering,
3354 OPT_BOOLEAN('R', "raw-samples", &record.opts.raw_samples,
3356 OPT_BOOLEAN('a', "all-cpus", &record.opts.target.system_wide,
3358 OPT_STRING('C', "cpu", &record.opts.target.cpu_list, "cpu",
3360 OPT_U64('c', "count", &record.opts.user_interval, "event period to sample"),
3363 OPT_BOOLEAN_SET('i', "no-inherit", &record.opts.no_inherit,
3364 &record.opts.no_inherit_set,
3366 OPT_BOOLEAN(0, "tail-synthesize", &record.opts.tail_synthesize,
3368 OPT_BOOLEAN(0, "overwrite", &record.opts.overwrite, "use overwrite mode"),
3369 OPT_BOOLEAN(0, "no-bpf-event", &record.opts.no_bpf_event, "do not record bpf events"),
3370 OPT_BOOLEAN(0, "strict-freq", &record.opts.strict_freq,
3372 OPT_CALLBACK('F', "freq", &record.opts, "freq or 'max'",
3375 OPT_CALLBACK('m', "mmap-pages", &record.opts, "pages[,pages]",
3378 OPT_CALLBACK(0, "mmap-flush", &record.opts, "number",
3381 OPT_BOOLEAN(0, "group", &record.opts.group,
3386 OPT_CALLBACK(0, "call-graph", &record.opts,
3392 OPT_BOOLEAN('s', "stat", &record.opts.inherit_stat,
3394 OPT_BOOLEAN('d', "data", &record.opts.sample_address, "Record the sample addresses"),
3395 OPT_BOOLEAN(0, "phys-data", &record.opts.sample_phys_addr,
3397 OPT_BOOLEAN(0, "data-page-size", &record.opts.sample_data_page_size,
3399 OPT_BOOLEAN(0, "code-page-size", &record.opts.sample_code_page_size,
3401 OPT_BOOLEAN(0, "sample-cpu", &record.opts.sample_cpu, "Record the sample cpu"),
3402 OPT_BOOLEAN(0, "sample-identifier", &record.opts.sample_identifier,
3404 OPT_BOOLEAN_SET('T', "timestamp", &record.opts.sample_time,
3405 &record.opts.sample_time_set,
3407 OPT_BOOLEAN_SET('P', "period", &record.opts.period, &record.opts.period_set,
3409 OPT_BOOLEAN('n', "no-samples", &record.opts.no_samples,
3424 OPT_BOOLEAN(0, "kcore", &record.opts.kcore, "copy /proc/kcore"),
3425 OPT_STRING('u', "uid", &record.opts.target.uid_str, "user",
3428 OPT_CALLBACK_NOOPT('b', "branch-any", &record.opts.branch_stack,
3432 OPT_CALLBACK('j', "branch-filter", &record.opts.branch_stack,
3435 OPT_BOOLEAN('W', "weight", &record.opts.sample_weight,
3437 OPT_BOOLEAN(0, "transaction", &record.opts.sample_transaction,
3439 OPT_BOOLEAN(0, "per-thread", &record.opts.target.per_thread,
3441 OPT_CALLBACK_OPTARG('I', "intr-regs", &record.opts.sample_intr_regs, NULL, "any register",
3444 OPT_CALLBACK_OPTARG(0, "user-regs", &record.opts.sample_user_regs, NULL, "any register",
3447 OPT_BOOLEAN(0, "running-time", &record.opts.running_time,
3449 OPT_CALLBACK('k', "clockid", &record.opts,
3452 OPT_STRING_OPTARG('S', "snapshot", &record.opts.auxtrace_snapshot_opts,
3454 OPT_STRING_OPTARG(0, "aux-sample", &record.opts.auxtrace_sample_opts,
3458 OPT_BOOLEAN(0, "namespaces", &record.opts.record_namespaces,
3460 OPT_BOOLEAN(0, "all-cgroups", &record.opts.record_cgroup,
3462 OPT_BOOLEAN_SET(0, "switch-events", &record.opts.record_switch_events,
3463 &record.opts.record_switch_events_set,
3465 OPT_BOOLEAN_FLAG(0, "all-kernel", &record.opts.all_kernel,
3468 OPT_BOOLEAN_FLAG(0, "all-user", &record.opts.all_user,
3471 OPT_BOOLEAN(0, "kernel-callchains", &record.opts.kernel_callchains,
3473 OPT_BOOLEAN(0, "user-callchains", &record.opts.user_callchains,
3501 OPT_CALLBACK_OPTARG(0, "aio", &record.opts,
3505 OPT_CALLBACK(0, "affinity", &record.opts, "node|cpu",
3509 OPT_CALLBACK_OPTARG('z', "compression-level", &record.opts, &comp_level_default, "n",
3516 &record.opts.nr_threads_synthesize,
3523 OPT_CALLBACK(0, "control", &record.opts, "fd:ctl-fd[,ack-fd] or fifo:ctl-fifo[,ack-fifo]",
3529 OPT_CALLBACK(0, "synth", &record.opts, "no|all|task|mmap|cgroup",
3535 OPT_CALLBACK_OPTARG(0, "threads", &record.opts, NULL, "spec",
3832 for (t = 0, user_spec = (char *)rec->opts.threads_user_spec; ; t++, user_spec = NULL) { in record__init_thread_user_masks()
3924 switch (rec->opts.threads_spec) { in record__init_thread_masks()
3982 rec->opts.affinity = PERF_AFFINITY_SYS; in cmd_record()
4004 if (!argc && target__none(&rec->opts.target)) in cmd_record()
4005 rec->opts.target.system_wide = true; in cmd_record()
4007 if (nr_cgroups && !rec->opts.target.system_wide) { in cmd_record()
4023 rec->opts.build_id = true; in cmd_record()
4028 if (rec->opts.record_cgroup && !perf_can_record_cgroup()) { in cmd_record()
4034 if (rec->opts.kcore) in cmd_record()
4035 rec->opts.text_poke = true; in cmd_record()
4037 if (rec->opts.kcore || record__threads_enabled(rec)) in cmd_record()
4041 if (rec->opts.affinity != PERF_AFFINITY_SYS) { in cmd_record()
4051 if (rec->opts.comp_level != 0) { in cmd_record()
4056 if (rec->opts.record_switch_events && in cmd_record()
4145 if (record.opts.overwrite) in cmd_record()
4146 record.opts.tail_synthesize = true; in cmd_record()
4151 !record.opts.no_samples); in cmd_record()
4154 !record.opts.no_samples); in cmd_record()
4163 if (rec->opts.target.tid && !rec->opts.no_inherit_set) in cmd_record()
4164 rec->opts.no_inherit = true; in cmd_record()
4166 err = target__validate(&rec->opts.target); in cmd_record()
4168 target__strerror(&rec->opts.target, err, errbuf, BUFSIZ); in cmd_record()
4172 err = target__parse_uid(&rec->opts.target); in cmd_record()
4176 target__strerror(&rec->opts.target, err, errbuf, BUFSIZ); in cmd_record()
4184 rec->opts.ignore_missing_thread = rec->opts.target.uid != UINT_MAX || rec->opts.target.pid; in cmd_record()
4186 if (evlist__fix_hybrid_cpus(rec->evlist, rec->opts.target.cpu_list)) { in cmd_record()
4188 rec->opts.target.cpu_list); in cmd_record()
4192 rec->opts.target.hybrid = perf_pmu__has_hybrid(); in cmd_record()
4195 arch__add_leaf_frame_record_opts(&rec->opts); in cmd_record()
4198 if (evlist__create_maps(rec->evlist, &rec->opts.target) < 0) { in cmd_record()
4199 if (rec->opts.target.pid != NULL) { in cmd_record()
4208 err = auxtrace_record__options(rec->itr, rec->evlist, &rec->opts); in cmd_record()
4217 if (rec->opts.full_auxtrace) in cmd_record()
4220 if (rec->opts.text_poke) { in cmd_record()
4236 if (record_opts__config(&rec->opts)) { in cmd_record()
4247 if (rec->opts.nr_cblocks > nr_cblocks_max) in cmd_record()
4248 rec->opts.nr_cblocks = nr_cblocks_max; in cmd_record()
4249 pr_debug("nr_cblocks: %d\n", rec->opts.nr_cblocks); in cmd_record()
4251 pr_debug("affinity: %s\n", affinity_tags[rec->opts.affinity]); in cmd_record()
4252 pr_debug("mmap flush: %d\n", rec->opts.mmap_flush); in cmd_record()
4254 if (rec->opts.comp_level > comp_level_max) in cmd_record()
4255 rec->opts.comp_level = comp_level_max; in cmd_record()
4256 pr_debug("comp level: %d\n", rec->opts.comp_level); in cmd_record()
4266 evlist__close_control(rec->opts.ctl_fd, rec->opts.ctl_fd_ack, &rec->opts.ctl_fd_close); in cmd_record()