Lines Matching refs:key
90 static __always_inline int trace_event_match(struct work_key *key, char *name) in trace_event_match() argument
117 static __always_inline void do_update_time(void *map, struct work_key *key, in do_update_time() argument
126 data = bpf_map_lookup_elem(map, key); in do_update_time()
129 bpf_map_update_elem(map, key, &zero, BPF_NOEXIST); in do_update_time()
130 data = bpf_map_lookup_elem(map, key); in do_update_time()
146 static __always_inline void do_update_timestart(void *map, struct work_key *key) in do_update_timestart() argument
150 bpf_map_update_elem(map, key, &ts, BPF_ANY); in do_update_timestart()
154 struct work_key *key) in do_update_timeend() argument
156 __u64 *time = bpf_map_lookup_elem(time_map, key); in do_update_timeend()
159 bpf_map_delete_elem(time_map, key); in do_update_timeend()
160 do_update_time(report_map, key, *time, bpf_ktime_get_ns()); in do_update_timeend()
165 struct work_key *key, char *name) in do_update_name() argument
167 if (!bpf_map_lookup_elem(map, key)) in do_update_name()
168 bpf_map_update_elem(map, key, name, BPF_ANY); in do_update_name()
171 static __always_inline int update_timestart(void *map, struct work_key *key) in update_timestart() argument
173 if (!trace_event_match(key, NULL)) in update_timestart()
176 do_update_timestart(map, key); in update_timestart()
182 struct work_key *key, in update_timestart_and_name() argument
185 if (!trace_event_match(key, name)) in update_timestart_and_name()
188 do_update_timestart(time_map, key); in update_timestart_and_name()
189 do_update_name(names_map, key, name); in update_timestart_and_name()
195 void *time_map, struct work_key *key) in update_timeend() argument
197 if (!trace_event_match(key, NULL)) in update_timeend()
200 do_update_timeend(report_map, time_map, key); in update_timeend()
208 struct work_key *key, in update_timeend_and_name() argument
211 if (!trace_event_match(key, name)) in update_timeend_and_name()
214 do_update_timeend(report_map, time_map, key); in update_timeend_and_name()
215 do_update_name(names_map, key, name); in update_timeend_and_name()
224 struct work_key key = { in report_irq_handler_entry() local
234 &perf_kwork_names, &key, name); in report_irq_handler_entry()
240 struct work_key key = { in report_irq_handler_exit() local
246 return update_timeend(&perf_kwork_report, &perf_kwork_time, &key); in report_irq_handler_exit()
266 struct work_key key = { in report_softirq_entry() local
274 &perf_kwork_names, &key, in report_softirq_entry()
284 struct work_key key = { in report_softirq_exit() local
290 return update_timeend(&perf_kwork_report, &perf_kwork_time, &key); in report_softirq_exit()
297 struct work_key key = { in latency_softirq_raise() local
305 &perf_kwork_names, &key, in latency_softirq_raise()
315 struct work_key key = { in latency_softirq_entry() local
321 return update_timeend(&perf_kwork_report, &perf_kwork_time, &key); in latency_softirq_entry()
327 struct work_key key = { in report_workqueue_execute_start() local
333 return update_timestart(&perf_kwork_time, &key); in report_workqueue_execute_start()
340 struct work_key key = { in report_workqueue_execute_end() local
351 &perf_kwork_names, &key, name); in report_workqueue_execute_end()
357 struct work_key key = { in latency_workqueue_activate_work() local
363 return update_timestart(&perf_kwork_time, &key); in latency_workqueue_activate_work()
370 struct work_key key = { in latency_workqueue_execute_start() local
381 &perf_kwork_names, &key, name); in latency_workqueue_execute_start()