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()
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_file(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()
605 struct trace_event_file *file) in try_unregister_trigger() argument
611 list_for_each_entry(iter, &file->triggers, list) { in try_unregister_trigger()
615 trace_event_trigger_enable_disable(file, 0); in try_unregister_trigger()
616 update_cond_flag(file); in try_unregister_trigger()
644 struct trace_event_file *file) in unregister_trigger() argument
646 try_unregister_trigger(glob, test, file); in unregister_trigger()
914 struct trace_event_file *file, in event_trigger_set_filter() argument
919 return cmd_ops->set_filter(param, trigger_data, file); in event_trigger_set_filter()
951 struct trace_event_file *file, in event_trigger_register() argument
955 return cmd_ops->reg(glob, trigger_data, file); in event_trigger_register()
969 struct trace_event_file *file, in event_trigger_unregister() argument
973 cmd_ops->unreg(glob, trigger_data, file); in event_trigger_unregister()
998 struct trace_event_file *file, in event_trigger_parse() argument
1013 trigger_data = event_trigger_alloc(cmd_ops, cmd, param, file); in event_trigger_parse()
1018 event_trigger_unregister(cmd_ops, file, glob+1, trigger_data); in event_trigger_parse()
1028 ret = event_trigger_set_filter(cmd_ops, file, filter, trigger_data); in event_trigger_parse()
1035 ret = event_trigger_register(cmd_ops, file, glob, trigger_data); in event_trigger_parse()
1068 struct trace_event_file *file) in set_trigger_filter() argument
1087 ret = create_event_filter(file->tr, file->event_call, in set_trigger_filter()
1286 struct trace_event_file *file = data->private_data; in traceon_trigger() local
1288 if (file) { in traceon_trigger()
1289 if (tracer_tracing_is_on(file->tr)) in traceon_trigger()
1292 tracer_tracing_on(file->tr); in traceon_trigger()
1307 struct trace_event_file *file = data->private_data; in traceon_count_trigger() local
1309 if (file) { in traceon_count_trigger()
1310 if (tracer_tracing_is_on(file->tr)) in traceon_count_trigger()
1323 if (file) in traceon_count_trigger()
1324 tracer_tracing_on(file->tr); in traceon_count_trigger()
1334 struct trace_event_file *file = data->private_data; in traceoff_trigger() local
1336 if (file) { in traceoff_trigger()
1337 if (!tracer_tracing_is_on(file->tr)) in traceoff_trigger()
1340 tracer_tracing_off(file->tr); in traceoff_trigger()
1355 struct trace_event_file *file = data->private_data; in traceoff_count_trigger() local
1357 if (file) { in traceoff_count_trigger()
1358 if (!tracer_tracing_is_on(file->tr)) in traceoff_count_trigger()
1371 if (file) in traceoff_count_trigger()
1372 tracer_tracing_off(file->tr); in traceoff_count_trigger()
1462 struct trace_event_file *file = data->private_data; in snapshot_trigger() local
1464 if (file) in snapshot_trigger()
1465 tracing_snapshot_instance(file->tr); in snapshot_trigger()
1487 struct trace_event_file *file) in register_snapshot_trigger() argument
1489 int ret = tracing_arm_snapshot(file->tr); in register_snapshot_trigger()
1494 ret = register_trigger(glob, data, file); in register_snapshot_trigger()
1496 tracing_disarm_snapshot(file->tr); in register_snapshot_trigger()
1502 struct trace_event_file *file) in unregister_snapshot_trigger() argument
1504 if (try_unregister_trigger(glob, data, file)) in unregister_snapshot_trigger()
1505 tracing_disarm_snapshot(file->tr); in unregister_snapshot_trigger()
1581 struct trace_event_file *file = data->private_data; in stacktrace_trigger() local
1583 if (file) in stacktrace_trigger()
1584 __trace_stack(file->tr, tracing_gen_ctx(), STACK_SKIP); in stacktrace_trigger()
1668 clear_bit(EVENT_FILE_FL_SOFT_DISABLED_BIT, &enable_data->file->flags); in event_enable_trigger()
1670 set_bit(EVENT_FILE_FL_SOFT_DISABLED_BIT, &enable_data->file->flags); in event_enable_trigger()
1684 if (enable_data->enable == !(enable_data->file->flags & EVENT_FILE_FL_SOFT_DISABLED)) in event_enable_count_trigger()
1702 enable_data->file->event_call->class->system, in event_enable_trigger_print()
1703 trace_event_name(enable_data->file->event_call)); in event_enable_trigger_print()
1728 trace_event_enable_disable(enable_data->file, 0, 1); in event_enable_trigger_free()
1729 trace_event_put_ref(enable_data->file->event_call); in event_enable_trigger_free()
1764 struct trace_event_file *file, in event_enable_trigger_parse() argument
1770 struct trace_array *tr = file->tr; in event_enable_trigger_parse()
1815 enable_data->file = event_enable_file; in event_enable_trigger_parse()
1824 event_trigger_unregister(cmd_ops, file, glob+1, trigger_data); in event_enable_trigger_parse()
1838 ret = event_trigger_set_filter(cmd_ops, file, filter, trigger_data); in event_enable_trigger_parse()
1853 ret = event_trigger_register(cmd_ops, file, glob, trigger_data); in event_enable_trigger_parse()
1874 struct trace_event_file *file) in event_enable_register_trigger() argument
1883 list_for_each_entry(test, &file->triggers, list) { in event_enable_register_trigger()
1888 (test_enable_data->file == enable_data->file)) { in event_enable_register_trigger()
1900 list_add_rcu(&data->list, &file->triggers); in event_enable_register_trigger()
1902 update_cond_flag(file); in event_enable_register_trigger()
1903 ret = trace_event_trigger_enable_disable(file, 1); in event_enable_register_trigger()
1906 update_cond_flag(file); in event_enable_register_trigger()
1914 struct trace_event_file *file) in event_enable_unregister_trigger() argument
1922 list_for_each_entry(iter, &file->triggers, list) { in event_enable_unregister_trigger()
1927 (enable_data->file == test_enable_data->file)) { in event_enable_unregister_trigger()
1930 trace_event_trigger_enable_disable(file, 0); in event_enable_unregister_trigger()
1931 update_cond_flag(file); in event_enable_unregister_trigger()