Lines Matching refs:file
58 event_triggers_call(struct trace_event_file *file, in event_triggers_call() argument
66 if (list_empty(&file->triggers)) in event_triggers_call()
69 list_for_each_entry_rcu(data, &file->triggers, list) { in event_triggers_call()
89 bool __trace_trigger_soft_disabled(struct trace_event_file *file) in __trace_trigger_soft_disabled() argument
91 unsigned long eflags = file->flags; in __trace_trigger_soft_disabled()
94 event_triggers_call(file, NULL, NULL, NULL); in __trace_trigger_soft_disabled()
98 return trace_event_ignore_this_pid(file); in __trace_trigger_soft_disabled()
116 event_triggers_post_call(struct trace_event_file *file, in event_triggers_post_call() argument
121 list_for_each_entry_rcu(data, &file->triggers, list) { in event_triggers_post_call()
143 static bool check_user_trigger(struct trace_event_file *file) in check_user_trigger() argument
147 list_for_each_entry_rcu(data, &file->triggers, list, in check_user_trigger()
206 static int event_trigger_regex_open(struct inode *inode, struct file *file) in event_trigger_regex_open() argument
216 if (unlikely(!event_file_file(file))) in event_trigger_regex_open()
219 if ((file->f_mode & FMODE_WRITE) && in event_trigger_regex_open()
220 (file->f_flags & O_TRUNC)) { in event_trigger_regex_open()
224 event_file = event_file_data(file); in event_trigger_regex_open()
232 if (file->f_mode & FMODE_READ) { in event_trigger_regex_open()
233 ret = seq_open(file, &event_triggers_seq_ops); in event_trigger_regex_open()
235 struct seq_file *m = file->private_data; in event_trigger_regex_open()
236 m->private = file; in event_trigger_regex_open()
243 int trigger_process_regex(struct trace_event_file *file, char *buff) in trigger_process_regex() argument
261 return p->parse(p, file, buff, command, next); in trigger_process_regex()
267 static ssize_t event_trigger_regex_write(struct file *file, in event_trigger_regex_write() argument
289 event_file = event_file_file(file); in event_trigger_regex_write()
301 static int event_trigger_regex_release(struct inode *inode, struct file *file) in event_trigger_regex_release() argument
305 if (file->f_mode & FMODE_READ) in event_trigger_regex_release()
306 seq_release(inode, file); in event_trigger_regex_release()
314 event_trigger_write(struct file *filp, const char __user *ubuf, in event_trigger_write()
321 event_trigger_open(struct inode *inode, struct file *filp) in event_trigger_open()
328 event_trigger_release(struct inode *inode, struct file *file) in event_trigger_release() argument
330 return event_trigger_regex_release(inode, file); in event_trigger_release()
452 int trace_event_trigger_enable_disable(struct trace_event_file *file, in trace_event_trigger_enable_disable() argument
458 if (atomic_inc_return(&file->tm_ref) > 1) in trace_event_trigger_enable_disable()
460 set_bit(EVENT_FILE_FL_TRIGGER_MODE_BIT, &file->flags); in trace_event_trigger_enable_disable()
461 ret = trace_event_enable_disable(file, 1, 1); in trace_event_trigger_enable_disable()
463 if (atomic_dec_return(&file->tm_ref) > 0) in trace_event_trigger_enable_disable()
465 clear_bit(EVENT_FILE_FL_TRIGGER_MODE_BIT, &file->flags); in trace_event_trigger_enable_disable()
466 ret = trace_event_enable_disable(file, 0, 1); in trace_event_trigger_enable_disable()
488 struct trace_event_file *file; in clear_event_triggers() local
490 list_for_each_entry(file, &tr->events, list) { in clear_event_triggers()
492 list_for_each_entry_safe(data, n, &file->triggers, list) { in clear_event_triggers()
493 trace_event_trigger_enable_disable(file, 0); in clear_event_triggers()
511 void update_cond_flag(struct trace_event_file *file) in update_cond_flag() argument
518 list_for_each_entry(data, &file->triggers, list) { in update_cond_flag()
527 set_bit(EVENT_FILE_FL_TRIGGER_COND_BIT, &file->flags); in update_cond_flag()
529 clear_bit(EVENT_FILE_FL_TRIGGER_COND_BIT, &file->flags); in update_cond_flag()
547 struct trace_event_file *file) in register_trigger() argument
554 list_for_each_entry(test, &file->triggers, list) { in register_trigger()
567 list_add_rcu(&data->list, &file->triggers); in register_trigger()
569 update_cond_flag(file); in register_trigger()
570 ret = trace_event_trigger_enable_disable(file, 1); in register_trigger()
573 update_cond_flag(file); in register_trigger()
584 struct trace_event_file *file) in try_unregister_trigger() argument
590 list_for_each_entry(iter, &file->triggers, list) { in try_unregister_trigger()
594 trace_event_trigger_enable_disable(file, 0); in try_unregister_trigger()
595 update_cond_flag(file); in try_unregister_trigger()
623 struct trace_event_file *file) in unregister_trigger() argument
625 try_unregister_trigger(glob, test, file); in unregister_trigger()
893 struct trace_event_file *file, in event_trigger_set_filter() argument
898 return cmd_ops->set_filter(param, trigger_data, file); in event_trigger_set_filter()
930 struct trace_event_file *file, in event_trigger_register() argument
934 return cmd_ops->reg(glob, trigger_data, file); in event_trigger_register()
948 struct trace_event_file *file, in event_trigger_unregister() argument
952 cmd_ops->unreg(glob, trigger_data, file); in event_trigger_unregister()
977 struct trace_event_file *file, in event_trigger_parse() argument
992 trigger_data = event_trigger_alloc(cmd_ops, cmd, param, file); in event_trigger_parse()
997 event_trigger_unregister(cmd_ops, file, glob+1, trigger_data); in event_trigger_parse()
1007 ret = event_trigger_set_filter(cmd_ops, file, filter, trigger_data); in event_trigger_parse()
1014 ret = event_trigger_register(cmd_ops, file, glob, trigger_data); in event_trigger_parse()
1047 struct trace_event_file *file) in set_trigger_filter() argument
1066 ret = create_event_filter(file->tr, file->event_call, in set_trigger_filter()
1265 struct trace_event_file *file = data->private_data; in traceon_trigger() local
1267 if (file) { in traceon_trigger()
1268 if (tracer_tracing_is_on(file->tr)) in traceon_trigger()
1271 tracer_tracing_on(file->tr); in traceon_trigger()
1286 struct trace_event_file *file = data->private_data; in traceon_count_trigger() local
1288 if (file) { in traceon_count_trigger()
1289 if (tracer_tracing_is_on(file->tr)) in traceon_count_trigger()
1302 if (file) in traceon_count_trigger()
1303 tracer_tracing_on(file->tr); in traceon_count_trigger()
1313 struct trace_event_file *file = data->private_data; in traceoff_trigger() local
1315 if (file) { in traceoff_trigger()
1316 if (!tracer_tracing_is_on(file->tr)) in traceoff_trigger()
1319 tracer_tracing_off(file->tr); in traceoff_trigger()
1334 struct trace_event_file *file = data->private_data; in traceoff_count_trigger() local
1336 if (file) { in traceoff_count_trigger()
1337 if (!tracer_tracing_is_on(file->tr)) in traceoff_count_trigger()
1350 if (file) in traceoff_count_trigger()
1351 tracer_tracing_off(file->tr); in traceoff_count_trigger()
1441 struct trace_event_file *file = data->private_data; in snapshot_trigger() local
1443 if (file) in snapshot_trigger()
1444 tracing_snapshot_instance(file->tr); in snapshot_trigger()
1466 struct trace_event_file *file) in register_snapshot_trigger() argument
1468 int ret = tracing_arm_snapshot(file->tr); in register_snapshot_trigger()
1473 ret = register_trigger(glob, data, file); in register_snapshot_trigger()
1475 tracing_disarm_snapshot(file->tr); in register_snapshot_trigger()
1481 struct trace_event_file *file) in unregister_snapshot_trigger() argument
1483 if (try_unregister_trigger(glob, data, file)) in unregister_snapshot_trigger()
1484 tracing_disarm_snapshot(file->tr); in unregister_snapshot_trigger()
1560 struct trace_event_file *file = data->private_data; in stacktrace_trigger() local
1562 if (file) in stacktrace_trigger()
1563 __trace_stack(file->tr, tracing_gen_ctx_dec(), STACK_SKIP); in stacktrace_trigger()
1647 clear_bit(EVENT_FILE_FL_SOFT_DISABLED_BIT, &enable_data->file->flags); in event_enable_trigger()
1649 set_bit(EVENT_FILE_FL_SOFT_DISABLED_BIT, &enable_data->file->flags); in event_enable_trigger()
1663 if (enable_data->enable == !(enable_data->file->flags & EVENT_FILE_FL_SOFT_DISABLED)) in event_enable_count_trigger()
1681 enable_data->file->event_call->class->system, in event_enable_trigger_print()
1682 trace_event_name(enable_data->file->event_call)); in event_enable_trigger_print()
1707 trace_event_enable_disable(enable_data->file, 0, 1); in event_enable_trigger_free()
1708 trace_event_put_ref(enable_data->file->event_call); in event_enable_trigger_free()
1743 struct trace_event_file *file, in event_enable_trigger_parse() argument
1749 struct trace_array *tr = file->tr; in event_enable_trigger_parse()
1794 enable_data->file = event_enable_file; in event_enable_trigger_parse()
1803 event_trigger_unregister(cmd_ops, file, glob+1, trigger_data); in event_enable_trigger_parse()
1817 ret = event_trigger_set_filter(cmd_ops, file, filter, trigger_data); in event_enable_trigger_parse()
1832 ret = event_trigger_register(cmd_ops, file, glob, trigger_data); in event_enable_trigger_parse()
1853 struct trace_event_file *file) in event_enable_register_trigger() argument
1862 list_for_each_entry(test, &file->triggers, list) { in event_enable_register_trigger()
1867 (test_enable_data->file == enable_data->file)) { in event_enable_register_trigger()
1879 list_add_rcu(&data->list, &file->triggers); in event_enable_register_trigger()
1881 update_cond_flag(file); in event_enable_register_trigger()
1882 ret = trace_event_trigger_enable_disable(file, 1); in event_enable_register_trigger()
1885 update_cond_flag(file); in event_enable_register_trigger()
1893 struct trace_event_file *file) in event_enable_unregister_trigger() argument
1901 list_for_each_entry(iter, &file->triggers, list) { in event_enable_unregister_trigger()
1906 (enable_data->file == test_enable_data->file)) { in event_enable_unregister_trigger()
1909 trace_event_trigger_enable_disable(file, 0); in event_enable_unregister_trigger()
1910 update_cond_flag(file); in event_enable_unregister_trigger()