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_data(file))) { in event_trigger_regex_open()
221 if ((file->f_mode & FMODE_WRITE) && in event_trigger_regex_open()
222 (file->f_flags & O_TRUNC)) { in event_trigger_regex_open()
226 event_file = event_file_data(file); in event_trigger_regex_open()
234 if (file->f_mode & FMODE_READ) { in event_trigger_regex_open()
235 ret = seq_open(file, &event_triggers_seq_ops); in event_trigger_regex_open()
237 struct seq_file *m = file->private_data; in event_trigger_regex_open()
238 m->private = file; in event_trigger_regex_open()
247 int trigger_process_regex(struct trace_event_file *file, char *buff) in trigger_process_regex() argument
265 ret = p->parse(p, file, buff, command, next); in trigger_process_regex()
275 static ssize_t event_trigger_regex_write(struct file *file, in event_trigger_regex_write() argument
296 event_file = event_file_data(file); in event_trigger_regex_write()
315 static int event_trigger_regex_release(struct inode *inode, struct file *file) in event_trigger_regex_release() argument
319 if (file->f_mode & FMODE_READ) in event_trigger_regex_release()
320 seq_release(inode, file); in event_trigger_regex_release()
328 event_trigger_write(struct file *filp, const char __user *ubuf, in event_trigger_write()
335 event_trigger_open(struct inode *inode, struct file *filp) in event_trigger_open()
342 event_trigger_release(struct inode *inode, struct file *file) in event_trigger_release() argument
344 return event_trigger_regex_release(inode, file); in event_trigger_release()
473 int trace_event_trigger_enable_disable(struct trace_event_file *file, in trace_event_trigger_enable_disable() argument
479 if (atomic_inc_return(&file->tm_ref) > 1) in trace_event_trigger_enable_disable()
481 set_bit(EVENT_FILE_FL_TRIGGER_MODE_BIT, &file->flags); in trace_event_trigger_enable_disable()
482 ret = trace_event_enable_disable(file, 1, 1); in trace_event_trigger_enable_disable()
484 if (atomic_dec_return(&file->tm_ref) > 0) in trace_event_trigger_enable_disable()
486 clear_bit(EVENT_FILE_FL_TRIGGER_MODE_BIT, &file->flags); in trace_event_trigger_enable_disable()
487 ret = trace_event_enable_disable(file, 0, 1); in trace_event_trigger_enable_disable()
509 struct trace_event_file *file; in clear_event_triggers() local
511 list_for_each_entry(file, &tr->events, list) { in clear_event_triggers()
513 list_for_each_entry_safe(data, n, &file->triggers, list) { in clear_event_triggers()
514 trace_event_trigger_enable_disable(file, 0); in clear_event_triggers()
532 void update_cond_flag(struct trace_event_file *file) in update_cond_flag() argument
539 list_for_each_entry(data, &file->triggers, list) { in update_cond_flag()
548 set_bit(EVENT_FILE_FL_TRIGGER_COND_BIT, &file->flags); in update_cond_flag()
550 clear_bit(EVENT_FILE_FL_TRIGGER_COND_BIT, &file->flags); in update_cond_flag()
568 struct trace_event_file *file) in register_trigger() argument
575 list_for_each_entry(test, &file->triggers, list) { in register_trigger()
588 list_add_rcu(&data->list, &file->triggers); in register_trigger()
590 update_cond_flag(file); in register_trigger()
591 ret = trace_event_trigger_enable_disable(file, 1); in register_trigger()
594 update_cond_flag(file); in register_trigger()
613 struct trace_event_file *file) in unregister_trigger() argument
619 list_for_each_entry(iter, &file->triggers, list) { in unregister_trigger()
623 trace_event_trigger_enable_disable(file, 0); in unregister_trigger()
624 update_cond_flag(file); in unregister_trigger()
898 struct trace_event_file *file, in event_trigger_set_filter() argument
903 return cmd_ops->set_filter(param, trigger_data, file); in event_trigger_set_filter()
935 struct trace_event_file *file, in event_trigger_register() argument
939 return cmd_ops->reg(glob, trigger_data, file); in event_trigger_register()
953 struct trace_event_file *file, in event_trigger_unregister() argument
957 cmd_ops->unreg(glob, trigger_data, file); in event_trigger_unregister()
982 struct trace_event_file *file, in event_trigger_parse() argument
997 trigger_data = event_trigger_alloc(cmd_ops, cmd, param, file); in event_trigger_parse()
1002 event_trigger_unregister(cmd_ops, file, glob+1, trigger_data); in event_trigger_parse()
1012 ret = event_trigger_set_filter(cmd_ops, file, filter, trigger_data); in event_trigger_parse()
1019 ret = event_trigger_register(cmd_ops, file, glob, trigger_data); in event_trigger_parse()
1052 struct trace_event_file *file) in set_trigger_filter() argument
1071 ret = create_event_filter(file->tr, file->event_call, in set_trigger_filter()
1270 struct trace_event_file *file = data->private_data; in traceon_trigger() local
1272 if (file) { in traceon_trigger()
1273 if (tracer_tracing_is_on(file->tr)) in traceon_trigger()
1276 tracer_tracing_on(file->tr); in traceon_trigger()
1291 struct trace_event_file *file = data->private_data; in traceon_count_trigger() local
1293 if (file) { in traceon_count_trigger()
1294 if (tracer_tracing_is_on(file->tr)) in traceon_count_trigger()
1307 if (file) in traceon_count_trigger()
1308 tracer_tracing_on(file->tr); in traceon_count_trigger()
1318 struct trace_event_file *file = data->private_data; in traceoff_trigger() local
1320 if (file) { in traceoff_trigger()
1321 if (!tracer_tracing_is_on(file->tr)) in traceoff_trigger()
1324 tracer_tracing_off(file->tr); in traceoff_trigger()
1339 struct trace_event_file *file = data->private_data; in traceoff_count_trigger() local
1341 if (file) { in traceoff_count_trigger()
1342 if (!tracer_tracing_is_on(file->tr)) in traceoff_count_trigger()
1355 if (file) in traceoff_count_trigger()
1356 tracer_tracing_off(file->tr); in traceoff_count_trigger()
1446 struct trace_event_file *file = data->private_data; in snapshot_trigger() local
1448 if (file) in snapshot_trigger()
1449 tracing_snapshot_instance(file->tr); in snapshot_trigger()
1471 struct trace_event_file *file) in register_snapshot_trigger() argument
1473 int ret = tracing_alloc_snapshot_instance(file->tr); in register_snapshot_trigger()
1478 return register_trigger(glob, data, file); in register_snapshot_trigger()
1554 struct trace_event_file *file = data->private_data; in stacktrace_trigger() local
1556 if (file) in stacktrace_trigger()
1557 __trace_stack(file->tr, tracing_gen_ctx(), STACK_SKIP); in stacktrace_trigger()
1641 clear_bit(EVENT_FILE_FL_SOFT_DISABLED_BIT, &enable_data->file->flags); in event_enable_trigger()
1643 set_bit(EVENT_FILE_FL_SOFT_DISABLED_BIT, &enable_data->file->flags); in event_enable_trigger()
1657 if (enable_data->enable == !(enable_data->file->flags & EVENT_FILE_FL_SOFT_DISABLED)) in event_enable_count_trigger()
1675 enable_data->file->event_call->class->system, in event_enable_trigger_print()
1676 trace_event_name(enable_data->file->event_call)); in event_enable_trigger_print()
1701 trace_event_enable_disable(enable_data->file, 0, 1); in event_enable_trigger_free()
1702 trace_event_put_ref(enable_data->file->event_call); in event_enable_trigger_free()
1737 struct trace_event_file *file, in event_enable_trigger_parse() argument
1743 struct trace_array *tr = file->tr; in event_enable_trigger_parse()
1788 enable_data->file = event_enable_file; in event_enable_trigger_parse()
1797 event_trigger_unregister(cmd_ops, file, glob+1, trigger_data); in event_enable_trigger_parse()
1811 ret = event_trigger_set_filter(cmd_ops, file, filter, trigger_data); in event_enable_trigger_parse()
1826 ret = event_trigger_register(cmd_ops, file, glob, trigger_data); in event_enable_trigger_parse()
1847 struct trace_event_file *file) in event_enable_register_trigger() argument
1856 list_for_each_entry(test, &file->triggers, list) { in event_enable_register_trigger()
1861 (test_enable_data->file == enable_data->file)) { in event_enable_register_trigger()
1873 list_add_rcu(&data->list, &file->triggers); in event_enable_register_trigger()
1875 update_cond_flag(file); in event_enable_register_trigger()
1876 ret = trace_event_trigger_enable_disable(file, 1); in event_enable_register_trigger()
1879 update_cond_flag(file); in event_enable_register_trigger()
1887 struct trace_event_file *file) in event_enable_unregister_trigger() argument
1895 list_for_each_entry(iter, &file->triggers, list) { in event_enable_unregister_trigger()
1900 (enable_data->file == test_enable_data->file)) { in event_enable_unregister_trigger()
1903 trace_event_trigger_enable_disable(file, 0); in event_enable_unregister_trigger()
1904 update_cond_flag(file); in event_enable_unregister_trigger()