Lines Matching refs:kwork

44 	void (*load_prepare)(struct perf_kwork *kwork);
88 static void irq_load_prepare(struct perf_kwork *kwork) in irq_load_prepare() argument
90 if (kwork->report == KWORK_REPORT_RUNTIME) { in irq_load_prepare()
101 static void softirq_load_prepare(struct perf_kwork *kwork) in softirq_load_prepare() argument
103 if (kwork->report == KWORK_REPORT_RUNTIME) { in softirq_load_prepare()
106 } else if (kwork->report == KWORK_REPORT_LATENCY) { in softirq_load_prepare()
117 static void workqueue_load_prepare(struct perf_kwork *kwork) in workqueue_load_prepare() argument
119 if (kwork->report == KWORK_REPORT_RUNTIME) { in workqueue_load_prepare()
122 } else if (kwork->report == KWORK_REPORT_LATENCY) { in workqueue_load_prepare()
145 static int setup_filters(struct perf_kwork *kwork) in setup_filters() argument
151 if (kwork->cpu_list != NULL) { in setup_filters()
158 map = perf_cpu_map__new(kwork->cpu_list); in setup_filters()
180 if (kwork->profile_name != NULL) { in setup_filters()
181 if (strlen(kwork->profile_name) >= MAX_KWORKNAME) { in setup_filters()
183 kwork->profile_name, MAX_KWORKNAME - 1); in setup_filters()
194 bpf_map_update_elem(fd, &key, kwork->profile_name, BPF_ANY); in setup_filters()
202 int perf_kwork__trace_prepare_bpf(struct perf_kwork *kwork) in perf_kwork__trace_prepare_bpf() argument
222 list_for_each_entry(class, &kwork->class_list, list) { in perf_kwork__trace_prepare_bpf()
234 class_bpf->load_prepare(kwork); in perf_kwork__trace_prepare_bpf()
242 if (setup_filters(kwork)) in perf_kwork__trace_prepare_bpf()
257 static int add_work(struct perf_kwork *kwork, in add_work() argument
282 work = perf_kwork_add_work(kwork, tmp.class, &tmp); in add_work()
286 if (kwork->report == KWORK_REPORT_RUNTIME) { in add_work()
292 } else if (kwork->report == KWORK_REPORT_LATENCY) { in add_work()
299 pr_debug("Invalid bpf report type %d\n", kwork->report); in add_work()
303 kwork->timestart = (u64)ts_start.tv_sec * NSEC_PER_SEC + ts_start.tv_nsec; in add_work()
304 kwork->timeend = (u64)ts_end.tv_sec * NSEC_PER_SEC + ts_end.tv_nsec; in add_work()
309 int perf_kwork__report_read_bpf(struct perf_kwork *kwork) in perf_kwork__report_read_bpf() argument
335 if ((data.nr != 0) && (add_work(kwork, &key, &data) != 0)) in perf_kwork__report_read_bpf()