Lines Matching refs:file

58 #define do_for_each_event_file(tr, file)			\  argument
60 list_for_each_entry(file, &tr->events, list)
62 #define do_for_each_event_file_safe(tr, file) \ argument
65 list_for_each_entry_safe(file, ___n, &tr->events, list)
258 struct ftrace_event_file *file = data; in ftrace_event_reg() local
265 file); in ftrace_event_reg()
269 file); in ftrace_event_reg()
295 struct ftrace_event_file *file; in trace_event_enable_cmd_record() local
299 do_for_each_event_file(tr, file) { in trace_event_enable_cmd_record()
301 if (!(file->flags & FTRACE_EVENT_FL_ENABLED)) in trace_event_enable_cmd_record()
306 set_bit(FTRACE_EVENT_FL_RECORDED_CMD_BIT, &file->flags); in trace_event_enable_cmd_record()
309 clear_bit(FTRACE_EVENT_FL_RECORDED_CMD_BIT, &file->flags); in trace_event_enable_cmd_record()
315 static int __ftrace_event_enable_disable(struct ftrace_event_file *file, in __ftrace_event_enable_disable() argument
318 struct ftrace_event_call *call = file->event_call; in __ftrace_event_enable_disable()
338 if (atomic_dec_return(&file->sm_ref) > 0) in __ftrace_event_enable_disable()
340 disable = file->flags & FTRACE_EVENT_FL_SOFT_DISABLED; in __ftrace_event_enable_disable()
341 clear_bit(FTRACE_EVENT_FL_SOFT_MODE_BIT, &file->flags); in __ftrace_event_enable_disable()
343 disable = !(file->flags & FTRACE_EVENT_FL_SOFT_MODE); in __ftrace_event_enable_disable()
345 if (disable && (file->flags & FTRACE_EVENT_FL_ENABLED)) { in __ftrace_event_enable_disable()
346 clear_bit(FTRACE_EVENT_FL_ENABLED_BIT, &file->flags); in __ftrace_event_enable_disable()
347 if (file->flags & FTRACE_EVENT_FL_RECORDED_CMD) { in __ftrace_event_enable_disable()
349 clear_bit(FTRACE_EVENT_FL_RECORDED_CMD_BIT, &file->flags); in __ftrace_event_enable_disable()
351 call->class->reg(call, TRACE_REG_UNREGISTER, file); in __ftrace_event_enable_disable()
354 if (file->flags & FTRACE_EVENT_FL_SOFT_MODE) in __ftrace_event_enable_disable()
355 set_bit(FTRACE_EVENT_FL_SOFT_DISABLED_BIT, &file->flags); in __ftrace_event_enable_disable()
357 clear_bit(FTRACE_EVENT_FL_SOFT_DISABLED_BIT, &file->flags); in __ftrace_event_enable_disable()
369 clear_bit(FTRACE_EVENT_FL_SOFT_DISABLED_BIT, &file->flags); in __ftrace_event_enable_disable()
371 if (atomic_inc_return(&file->sm_ref) > 1) in __ftrace_event_enable_disable()
373 set_bit(FTRACE_EVENT_FL_SOFT_MODE_BIT, &file->flags); in __ftrace_event_enable_disable()
376 if (!(file->flags & FTRACE_EVENT_FL_ENABLED)) { in __ftrace_event_enable_disable()
380 set_bit(FTRACE_EVENT_FL_SOFT_DISABLED_BIT, &file->flags); in __ftrace_event_enable_disable()
384 set_bit(FTRACE_EVENT_FL_RECORDED_CMD_BIT, &file->flags); in __ftrace_event_enable_disable()
386 ret = call->class->reg(call, TRACE_REG_REGISTER, file); in __ftrace_event_enable_disable()
393 set_bit(FTRACE_EVENT_FL_ENABLED_BIT, &file->flags); in __ftrace_event_enable_disable()
404 int trace_event_enable_disable(struct ftrace_event_file *file, in trace_event_enable_disable() argument
407 return __ftrace_event_enable_disable(file, enable, soft_disable); in trace_event_enable_disable()
410 static int ftrace_event_enable_disable(struct ftrace_event_file *file, in ftrace_event_enable_disable() argument
413 return __ftrace_event_enable_disable(file, enable, 0); in ftrace_event_enable_disable()
418 struct ftrace_event_file *file; in ftrace_clear_events() local
421 list_for_each_entry(file, &tr->events, list) { in ftrace_clear_events()
422 ftrace_event_enable_disable(file, 0); in ftrace_clear_events()
489 static void remove_event_file_dir(struct ftrace_event_file *file) in remove_event_file_dir() argument
491 struct dentry *dir = file->dir; in remove_event_file_dir()
505 list_del(&file->list); in remove_event_file_dir()
506 remove_subsystem(file->system); in remove_event_file_dir()
507 free_event_filter(file->filter); in remove_event_file_dir()
508 kmem_cache_free(file_cachep, file); in remove_event_file_dir()
518 struct ftrace_event_file *file; in __ftrace_set_clr_event_nolock() local
523 list_for_each_entry(file, &tr->events, list) { in __ftrace_set_clr_event_nolock()
525 call = file->event_call; in __ftrace_set_clr_event_nolock()
545 ftrace_event_enable_disable(file, set); in __ftrace_set_clr_event_nolock()
630 ftrace_event_write(struct file *file, const char __user *ubuf, in ftrace_event_write() argument
634 struct seq_file *m = file->private_data; in ftrace_event_write()
674 struct ftrace_event_file *file = v; in t_next() local
680 list_for_each_entry_continue(file, &tr->events, list) { in t_next()
681 call = file->event_call; in t_next()
688 return file; in t_next()
696 struct ftrace_event_file *file; in t_start() local
702 file = list_entry(&tr->events, struct ftrace_event_file, list); in t_start()
704 file = t_next(m, file, &l); in t_start()
705 if (!file) in t_start()
708 return file; in t_start()
714 struct ftrace_event_file *file = v; in s_next() local
719 list_for_each_entry_continue(file, &tr->events, list) { in s_next()
720 if (file->flags & FTRACE_EVENT_FL_ENABLED) in s_next()
721 return file; in s_next()
729 struct ftrace_event_file *file; in s_start() local
735 file = list_entry(&tr->events, struct ftrace_event_file, list); in s_start()
737 file = s_next(m, file, &l); in s_start()
738 if (!file) in s_start()
741 return file; in s_start()
746 struct ftrace_event_file *file = v; in t_show() local
747 struct ftrace_event_call *call = file->event_call; in t_show()
762 event_enable_read(struct file *filp, char __user *ubuf, size_t cnt, in event_enable_read()
765 struct ftrace_event_file *file; in event_enable_read() local
770 file = event_file_data(filp); in event_enable_read()
771 if (likely(file)) in event_enable_read()
772 flags = file->flags; in event_enable_read()
775 if (!file) in event_enable_read()
792 event_enable_write(struct file *filp, const char __user *ubuf, size_t cnt, in event_enable_write()
795 struct ftrace_event_file *file; in event_enable_write() local
812 file = event_file_data(filp); in event_enable_write()
813 if (likely(file)) in event_enable_write()
814 ret = ftrace_event_enable_disable(file, val); in event_enable_write()
828 system_enable_read(struct file *filp, char __user *ubuf, size_t cnt, in system_enable_read()
835 struct ftrace_event_file *file; in system_enable_read() local
842 list_for_each_entry(file, &tr->events, list) { in system_enable_read()
843 call = file->event_call; in system_enable_read()
855 set |= (1 << !!(file->flags & FTRACE_EVENT_FL_ENABLED)); in system_enable_read()
874 system_enable_write(struct file *filp, const char __user *ubuf, size_t cnt, in system_enable_write()
1029 static int trace_format_open(struct inode *inode, struct file *file) in trace_format_open() argument
1034 ret = seq_open(file, &trace_format_seq_ops); in trace_format_open()
1038 m = file->private_data; in trace_format_open()
1039 m->private = file; in trace_format_open()
1045 event_id_read(struct file *filp, char __user *ubuf, size_t cnt, loff_t *ppos) in event_id_read()
1063 event_filter_read(struct file *filp, char __user *ubuf, size_t cnt, in event_filter_read()
1066 struct ftrace_event_file *file; in event_filter_read() local
1081 file = event_file_data(filp); in event_filter_read()
1082 if (file) in event_filter_read()
1083 print_event_filter(file, s); in event_filter_read()
1086 if (file) in event_filter_read()
1096 event_filter_write(struct file *filp, const char __user *ubuf, size_t cnt, in event_filter_write()
1099 struct ftrace_event_file *file; in event_filter_write() local
1117 file = event_file_data(filp); in event_filter_write()
1118 if (file) in event_filter_write()
1119 err = apply_event_filter(file, buf); in event_filter_write()
1133 static int subsystem_open(struct inode *inode, struct file *filp) in subsystem_open()
1183 static int system_tr_open(struct inode *inode, struct file *filp) in system_tr_open()
1216 static int subsystem_release(struct inode *inode, struct file *file) in subsystem_release() argument
1218 struct ftrace_subsystem_dir *dir = file->private_data; in subsystem_release()
1236 subsystem_filter_read(struct file *filp, char __user *ubuf, size_t cnt, in subsystem_filter_read()
1263 subsystem_filter_write(struct file *filp, const char __user *ubuf, size_t cnt, in subsystem_filter_write()
1294 show_header(struct file *filp, char __user *ubuf, size_t cnt, loff_t *ppos) in show_header()
1318 static int ftrace_event_avail_open(struct inode *inode, struct file *file);
1319 static int ftrace_event_set_open(struct inode *inode, struct file *file);
1320 static int ftrace_event_release(struct inode *inode, struct file *file);
1408 ftrace_event_open(struct inode *inode, struct file *file, in ftrace_event_open() argument
1414 ret = seq_open(file, seq_ops); in ftrace_event_open()
1417 m = file->private_data; in ftrace_event_open()
1424 static int ftrace_event_release(struct inode *inode, struct file *file) in ftrace_event_release() argument
1430 return seq_release(inode, file); in ftrace_event_release()
1434 ftrace_event_avail_open(struct inode *inode, struct file *file) in ftrace_event_avail_open() argument
1438 return ftrace_event_open(inode, file, seq_ops); in ftrace_event_avail_open()
1442 ftrace_event_set_open(struct inode *inode, struct file *file) in ftrace_event_set_open() argument
1451 if ((file->f_mode & FMODE_WRITE) && in ftrace_event_set_open()
1452 (file->f_flags & O_TRUNC)) in ftrace_event_set_open()
1455 ret = ftrace_event_open(inode, file, seq_ops); in ftrace_event_set_open()
1501 struct ftrace_event_file *file, struct dentry *parent) in event_subsystem_dir() argument
1512 file->system = dir; in event_subsystem_dir()
1548 file->system = dir; in event_subsystem_dir()
1575 event_create_dir(struct dentry *parent, struct ftrace_event_file *file) in event_create_dir() argument
1577 struct ftrace_event_call *call = file->event_call; in event_create_dir()
1578 struct trace_array *tr = file->tr; in event_create_dir()
1589 d_events = event_subsystem_dir(tr, call->class->system, file, parent); in event_create_dir()
1596 file->dir = tracefs_create_dir(name, d_events); in event_create_dir()
1597 if (!file->dir) { in event_create_dir()
1603 trace_create_file("enable", 0644, file->dir, file, in event_create_dir()
1608 trace_create_file("id", 0444, file->dir, in event_create_dir()
1626 trace_create_file("filter", 0644, file->dir, file, in event_create_dir()
1634 trace_create_file("trigger", 0644, file->dir, file, in event_create_dir()
1637 trace_create_file("format", 0444, file->dir, call, in event_create_dir()
1645 struct ftrace_event_file *file; in remove_event_from_tracers() local
1648 do_for_each_event_file_safe(tr, file) { in remove_event_from_tracers()
1649 if (file->event_call != call) in remove_event_from_tracers()
1652 remove_event_file_dir(file); in remove_event_from_tracers()
1666 struct ftrace_event_file *file; in event_remove() local
1668 do_for_each_event_file(tr, file) { in event_remove()
1669 if (file->event_call != call) in event_remove()
1671 ftrace_event_enable_disable(file, 0); in event_remove()
1849 struct ftrace_event_file *file; in trace_create_new_event() local
1851 file = kmem_cache_alloc(file_cachep, GFP_TRACE); in trace_create_new_event()
1852 if (!file) in trace_create_new_event()
1855 file->event_call = call; in trace_create_new_event()
1856 file->tr = tr; in trace_create_new_event()
1857 atomic_set(&file->sm_ref, 0); in trace_create_new_event()
1858 atomic_set(&file->tm_ref, 0); in trace_create_new_event()
1859 INIT_LIST_HEAD(&file->triggers); in trace_create_new_event()
1860 list_add(&file->list, &tr->events); in trace_create_new_event()
1862 return file; in trace_create_new_event()
1869 struct ftrace_event_file *file; in __trace_add_new_event() local
1871 file = trace_create_new_event(call, tr); in __trace_add_new_event()
1872 if (!file) in __trace_add_new_event()
1875 return event_create_dir(tr->event_dir, file); in __trace_add_new_event()
1887 struct ftrace_event_file *file; in __trace_early_add_new_event() local
1889 file = trace_create_new_event(call, tr); in __trace_early_add_new_event()
1890 if (!file) in __trace_early_add_new_event()
1930 struct ftrace_event_file *file; in probe_remove_event_call() local
1936 do_for_each_event_file(tr, file) { in probe_remove_event_call()
1937 if (file->event_call != call) in probe_remove_event_call()
1944 if (file->flags & FTRACE_EVENT_FL_ENABLED) in probe_remove_event_call()
2078 struct ftrace_event_file *file; in find_event_file() local
2082 list_for_each_entry(file, &tr->events, list) { in find_event_file()
2084 call = file->event_call; in find_event_file()
2095 return file; in find_event_file()
2107 struct ftrace_event_file *file; member
2123 clear_bit(FTRACE_EVENT_FL_SOFT_DISABLED_BIT, &data->file->flags); in event_enable_probe()
2125 set_bit(FTRACE_EVENT_FL_SOFT_DISABLED_BIT, &data->file->flags); in event_enable_probe()
2141 if (data->enable == !(data->file->flags & FTRACE_EVENT_FL_SOFT_DISABLED)) in event_enable_count_probe()
2160 data->file->event_call->class->system, in event_enable_print()
2161 ftrace_event_name(data->file->event_call)); in event_enable_print()
2195 __ftrace_event_enable_disable(data->file, 0, 1); in event_enable_free()
2196 module_put(data->file->event_call->mod); in event_enable_free()
2235 struct ftrace_event_file *file; in event_enable_func() local
2260 file = find_event_file(tr, system, event); in event_enable_func()
2261 if (!file) in event_enable_func()
2284 data->file = file; in event_enable_func()
2305 ret = try_module_get(file->event_call->mod); in event_enable_func()
2311 ret = __ftrace_event_enable_disable(file, 1, 1); in event_enable_func()
2332 __ftrace_event_enable_disable(file, 0, 1); in event_enable_func()
2334 module_put(file->event_call->mod); in event_enable_func()
2376 struct ftrace_event_file *file; in __trace_early_add_event_dirs() local
2380 list_for_each_entry(file, &tr->events, list) { in __trace_early_add_event_dirs()
2381 ret = event_create_dir(tr->event_dir, file); in __trace_early_add_event_dirs()
2384 ftrace_event_name(file->event_call)); in __trace_early_add_event_dirs()
2416 struct ftrace_event_file *file, *next; in __trace_remove_event_dirs() local
2418 list_for_each_entry_safe(file, next, &tr->events, list) in __trace_remove_event_dirs()
2419 remove_event_file_dir(file); in __trace_remove_event_dirs()
2764 struct ftrace_event_file *file; in event_trace_self_tests() local
2776 list_for_each_entry(file, &tr->events, list) { in event_trace_self_tests()
2778 call = file->event_call; in event_trace_self_tests()
2802 if (file->flags & FTRACE_EVENT_FL_ENABLED) { in event_trace_self_tests()
2808 ftrace_event_enable_disable(file, 1); in event_trace_self_tests()
2810 ftrace_event_enable_disable(file, 0); in event_trace_self_tests()