Lines Matching refs:data
20 void trigger_data_free(struct event_trigger_data *data) in trigger_data_free() argument
22 if (data->cmd_ops->set_filter) in trigger_data_free()
23 data->cmd_ops->set_filter(NULL, data, NULL); in trigger_data_free()
28 kfree(data); in trigger_data_free()
59 struct event_trigger_data *data; in event_triggers_call() local
66 list_for_each_entry_rcu(data, &file->triggers, list) { in event_triggers_call()
67 if (data->paused) in event_triggers_call()
70 data->ops->func(data, rec, event); in event_triggers_call()
73 filter = rcu_dereference_sched(data->filter); in event_triggers_call()
76 if (event_command_post_trigger(data->cmd_ops)) { in event_triggers_call()
77 tt |= data->cmd_ops->trigger_type; in event_triggers_call()
80 data->ops->func(data, rec, event); in event_triggers_call()
102 struct event_trigger_data *data; in event_triggers_post_call() local
104 list_for_each_entry_rcu(data, &file->triggers, list) { in event_triggers_post_call()
105 if (data->paused) in event_triggers_post_call()
107 if (data->cmd_ops->trigger_type & tt) in event_triggers_post_call()
108 data->ops->func(data, NULL, NULL); in event_triggers_post_call()
149 struct event_trigger_data *data; in trigger_show() local
163 data = list_entry(v, struct event_trigger_data, list); in trigger_show()
164 data->ops->print(m, data->ops, data); in trigger_show()
387 void *data, char *filter_str) in event_trigger_print() argument
389 long count = (long)data; in event_trigger_print()
419 struct event_trigger_data *data) in event_trigger_init() argument
421 data->ref++; in event_trigger_init()
437 struct event_trigger_data *data) in event_trigger_free() argument
439 if (WARN_ON_ONCE(data->ref <= 0)) in event_trigger_free()
442 data->ref--; in event_trigger_free()
443 if (!data->ref) in event_trigger_free()
444 trigger_data_free(data); in event_trigger_free()
486 struct event_trigger_data *data, *n; in clear_event_triggers() local
487 list_for_each_entry_safe(data, n, &file->triggers, list) { in clear_event_triggers()
489 list_del_rcu(&data->list); in clear_event_triggers()
490 if (data->ops->free) in clear_event_triggers()
491 data->ops->free(data->ops, data); in clear_event_triggers()
508 struct event_trigger_data *data; in update_cond_flag() local
513 list_for_each_entry(data, &file->triggers, list) { in update_cond_flag()
514 if (data->filter || event_command_post_trigger(data->cmd_ops) || in update_cond_flag()
515 event_command_needs_rec(data->cmd_ops)) { in update_cond_flag()
542 struct event_trigger_data *data, in register_trigger() argument
551 if (test->cmd_ops->trigger_type == data->cmd_ops->trigger_type) { in register_trigger()
557 if (data->ops->init) { in register_trigger()
558 ret = data->ops->init(data->ops, data); in register_trigger()
563 list_add_rcu(&data->list, &file->triggers); in register_trigger()
568 list_del_rcu(&data->list); in register_trigger()
592 struct event_trigger_data *data; in unregister_trigger() local
597 list_for_each_entry(data, &file->triggers, list) { in unregister_trigger()
598 if (data->cmd_ops->trigger_type == test->cmd_ops->trigger_type) { in unregister_trigger()
600 list_del_rcu(&data->list); in unregister_trigger()
607 if (unregistered && data->ops->free) in unregister_trigger()
608 data->ops->free(data->ops, data); in unregister_trigger()
742 struct event_trigger_data *data = trigger_data; in set_trigger_filter() local
766 tmp = rcu_access_pointer(data->filter); in set_trigger_filter()
768 rcu_assign_pointer(data->filter, filter); in set_trigger_filter()
776 kfree(data->filter_str); in set_trigger_filter()
777 data->filter_str = NULL; in set_trigger_filter()
780 data->filter_str = kstrdup(filter_str, GFP_KERNEL); in set_trigger_filter()
781 if (!data->filter_str) { in set_trigger_filter()
782 free_event_filter(rcu_access_pointer(data->filter)); in set_trigger_filter()
783 data->filter = NULL; in set_trigger_filter()
809 struct event_trigger_data *data; in find_named_trigger() local
814 list_for_each_entry(data, &named_triggers, named_list) { in find_named_trigger()
815 if (data->named_data) in find_named_trigger()
817 if (strcmp(data->name, name) == 0) in find_named_trigger()
818 return data; in find_named_trigger()
832 struct event_trigger_data *data; in is_named_trigger() local
834 list_for_each_entry(data, &named_triggers, named_list) { in is_named_trigger()
835 if (test == data) in is_named_trigger()
849 int save_named_trigger(const char *name, struct event_trigger_data *data) in save_named_trigger() argument
851 data->name = kstrdup(name, GFP_KERNEL); in save_named_trigger()
852 if (!data->name) in save_named_trigger()
855 list_add(&data->named_list, &named_triggers); in save_named_trigger()
864 void del_named_trigger(struct event_trigger_data *data) in del_named_trigger() argument
866 kfree(data->name); in del_named_trigger()
867 data->name = NULL; in del_named_trigger()
869 list_del(&data->named_list); in del_named_trigger()
872 static void __pause_named_trigger(struct event_trigger_data *data, bool pause) in __pause_named_trigger() argument
877 if (strcmp(test->name, data->name) == 0) { in __pause_named_trigger()
897 void pause_named_trigger(struct event_trigger_data *data) in pause_named_trigger() argument
899 __pause_named_trigger(data, true); in pause_named_trigger()
911 void unpause_named_trigger(struct event_trigger_data *data) in unpause_named_trigger() argument
913 __pause_named_trigger(data, false); in unpause_named_trigger()
927 void set_named_trigger_data(struct event_trigger_data *data, in set_named_trigger_data() argument
930 data->named_data = named_data; in set_named_trigger_data()
934 get_named_trigger_data(struct event_trigger_data *data) in get_named_trigger_data() argument
936 return data->named_data; in get_named_trigger_data()
940 traceon_trigger(struct event_trigger_data *data, void *rec, in traceon_trigger() argument
943 struct trace_event_file *file = data->private_data; in traceon_trigger()
960 traceon_count_trigger(struct event_trigger_data *data, void *rec, in traceon_count_trigger() argument
963 struct trace_event_file *file = data->private_data; in traceon_count_trigger()
973 if (!data->count) in traceon_count_trigger()
976 if (data->count != -1) in traceon_count_trigger()
977 (data->count)--; in traceon_count_trigger()
986 traceoff_trigger(struct event_trigger_data *data, void *rec, in traceoff_trigger() argument
989 struct trace_event_file *file = data->private_data; in traceoff_trigger()
1006 traceoff_count_trigger(struct event_trigger_data *data, void *rec, in traceoff_count_trigger() argument
1009 struct trace_event_file *file = data->private_data; in traceoff_count_trigger()
1019 if (!data->count) in traceoff_count_trigger()
1022 if (data->count != -1) in traceoff_count_trigger()
1023 (data->count)--; in traceoff_count_trigger()
1033 struct event_trigger_data *data) in traceon_trigger_print() argument
1035 return event_trigger_print("traceon", m, (void *)data->count, in traceon_trigger_print()
1036 data->filter_str); in traceon_trigger_print()
1041 struct event_trigger_data *data) in traceoff_trigger_print() argument
1043 return event_trigger_print("traceoff", m, (void *)data->count, in traceoff_trigger_print()
1044 data->filter_str); in traceoff_trigger_print()
1114 snapshot_trigger(struct event_trigger_data *data, void *rec, in snapshot_trigger() argument
1117 struct trace_event_file *file = data->private_data; in snapshot_trigger()
1126 snapshot_count_trigger(struct event_trigger_data *data, void *rec, in snapshot_count_trigger() argument
1129 if (!data->count) in snapshot_count_trigger()
1132 if (data->count != -1) in snapshot_count_trigger()
1133 (data->count)--; in snapshot_count_trigger()
1135 snapshot_trigger(data, rec, event); in snapshot_count_trigger()
1140 struct event_trigger_data *data, in register_snapshot_trigger() argument
1148 return register_trigger(glob, ops, data, file); in register_snapshot_trigger()
1153 struct event_trigger_data *data) in snapshot_trigger_print() argument
1155 return event_trigger_print("snapshot", m, (void *)data->count, in snapshot_trigger_print()
1156 data->filter_str); in snapshot_trigger_print()
1221 stacktrace_trigger(struct event_trigger_data *data, void *rec, in stacktrace_trigger() argument
1224 struct trace_event_file *file = data->private_data; in stacktrace_trigger()
1235 stacktrace_count_trigger(struct event_trigger_data *data, void *rec, in stacktrace_count_trigger() argument
1238 if (!data->count) in stacktrace_count_trigger()
1241 if (data->count != -1) in stacktrace_count_trigger()
1242 (data->count)--; in stacktrace_count_trigger()
1244 stacktrace_trigger(data, rec, event); in stacktrace_count_trigger()
1249 struct event_trigger_data *data) in stacktrace_trigger_print() argument
1251 return event_trigger_print("stacktrace", m, (void *)data->count, in stacktrace_trigger_print()
1252 data->filter_str); in stacktrace_trigger_print()
1306 event_enable_trigger(struct event_trigger_data *data, void *rec, in event_enable_trigger() argument
1309 struct enable_trigger_data *enable_data = data->private_data; in event_enable_trigger()
1318 event_enable_count_trigger(struct event_trigger_data *data, void *rec, in event_enable_count_trigger() argument
1321 struct enable_trigger_data *enable_data = data->private_data; in event_enable_count_trigger()
1323 if (!data->count) in event_enable_count_trigger()
1330 if (data->count != -1) in event_enable_count_trigger()
1331 (data->count)--; in event_enable_count_trigger()
1333 event_enable_trigger(data, rec, event); in event_enable_count_trigger()
1338 struct event_trigger_data *data) in event_enable_trigger_print() argument
1340 struct enable_trigger_data *enable_data = data->private_data; in event_enable_trigger_print()
1349 if (data->count == -1) in event_enable_trigger_print()
1352 seq_printf(m, ":count=%ld", data->count); in event_enable_trigger_print()
1354 if (data->filter_str) in event_enable_trigger_print()
1355 seq_printf(m, " if %s\n", data->filter_str); in event_enable_trigger_print()
1363 struct event_trigger_data *data) in event_enable_trigger_free() argument
1365 struct enable_trigger_data *enable_data = data->private_data; in event_enable_trigger_free()
1367 if (WARN_ON_ONCE(data->ref <= 0)) in event_enable_trigger_free()
1370 data->ref--; in event_enable_trigger_free()
1371 if (!data->ref) { in event_enable_trigger_free()
1375 trigger_data_free(data); in event_enable_trigger_free()
1561 struct event_trigger_data *data, in event_enable_register_trigger() argument
1564 struct enable_trigger_data *enable_data = data->private_data; in event_enable_register_trigger()
1575 data->cmd_ops->trigger_type) && in event_enable_register_trigger()
1582 if (data->ops->init) { in event_enable_register_trigger()
1583 ret = data->ops->init(data->ops, data); in event_enable_register_trigger()
1588 list_add_rcu(&data->list, &file->triggers); in event_enable_register_trigger()
1593 list_del_rcu(&data->list); in event_enable_register_trigger()
1608 struct event_trigger_data *data; in event_enable_unregister_trigger() local
1613 list_for_each_entry(data, &file->triggers, list) { in event_enable_unregister_trigger()
1614 enable_data = data->private_data; in event_enable_unregister_trigger()
1616 (data->cmd_ops->trigger_type == in event_enable_unregister_trigger()
1620 list_del_rcu(&data->list); in event_enable_unregister_trigger()
1627 if (unregistered && data->ops->free) in event_enable_unregister_trigger()
1628 data->ops->free(data->ops, data); in event_enable_unregister_trigger()