Lines Matching refs:file
61 #define do_for_each_event_file(tr, file) \ argument
63 list_for_each_entry(file, &tr->events, list)
65 #define do_for_each_event_file_safe(tr, file) \ argument
68 list_for_each_entry_safe(file, ___n, &tr->events, list)
304 struct trace_event_file *file = data; in trace_event_reg() local
311 file); in trace_event_reg()
315 file); in trace_event_reg()
341 struct trace_event_file *file; in trace_event_enable_cmd_record() local
345 do_for_each_event_file(tr, file) { in trace_event_enable_cmd_record()
347 if (!(file->flags & EVENT_FILE_FL_ENABLED)) in trace_event_enable_cmd_record()
352 set_bit(EVENT_FILE_FL_RECORDED_CMD_BIT, &file->flags); in trace_event_enable_cmd_record()
355 clear_bit(EVENT_FILE_FL_RECORDED_CMD_BIT, &file->flags); in trace_event_enable_cmd_record()
361 static int __ftrace_event_enable_disable(struct trace_event_file *file, in __ftrace_event_enable_disable() argument
364 struct trace_event_call *call = file->event_call; in __ftrace_event_enable_disable()
365 struct trace_array *tr = file->tr; in __ftrace_event_enable_disable()
385 if (atomic_dec_return(&file->sm_ref) > 0) in __ftrace_event_enable_disable()
387 disable = file->flags & EVENT_FILE_FL_SOFT_DISABLED; in __ftrace_event_enable_disable()
388 clear_bit(EVENT_FILE_FL_SOFT_MODE_BIT, &file->flags); in __ftrace_event_enable_disable()
390 disable = !(file->flags & EVENT_FILE_FL_SOFT_MODE); in __ftrace_event_enable_disable()
392 if (disable && (file->flags & EVENT_FILE_FL_ENABLED)) { in __ftrace_event_enable_disable()
393 clear_bit(EVENT_FILE_FL_ENABLED_BIT, &file->flags); in __ftrace_event_enable_disable()
394 if (file->flags & EVENT_FILE_FL_RECORDED_CMD) { in __ftrace_event_enable_disable()
396 clear_bit(EVENT_FILE_FL_RECORDED_CMD_BIT, &file->flags); in __ftrace_event_enable_disable()
398 call->class->reg(call, TRACE_REG_UNREGISTER, file); in __ftrace_event_enable_disable()
401 if (file->flags & EVENT_FILE_FL_SOFT_MODE) in __ftrace_event_enable_disable()
402 set_bit(EVENT_FILE_FL_SOFT_DISABLED_BIT, &file->flags); in __ftrace_event_enable_disable()
404 clear_bit(EVENT_FILE_FL_SOFT_DISABLED_BIT, &file->flags); in __ftrace_event_enable_disable()
416 clear_bit(EVENT_FILE_FL_SOFT_DISABLED_BIT, &file->flags); in __ftrace_event_enable_disable()
418 if (atomic_inc_return(&file->sm_ref) > 1) in __ftrace_event_enable_disable()
420 set_bit(EVENT_FILE_FL_SOFT_MODE_BIT, &file->flags); in __ftrace_event_enable_disable()
423 if (!(file->flags & EVENT_FILE_FL_ENABLED)) { in __ftrace_event_enable_disable()
427 set_bit(EVENT_FILE_FL_SOFT_DISABLED_BIT, &file->flags); in __ftrace_event_enable_disable()
431 set_bit(EVENT_FILE_FL_RECORDED_CMD_BIT, &file->flags); in __ftrace_event_enable_disable()
433 ret = call->class->reg(call, TRACE_REG_REGISTER, file); in __ftrace_event_enable_disable()
440 set_bit(EVENT_FILE_FL_ENABLED_BIT, &file->flags); in __ftrace_event_enable_disable()
451 int trace_event_enable_disable(struct trace_event_file *file, in trace_event_enable_disable() argument
454 return __ftrace_event_enable_disable(file, enable, soft_disable); in trace_event_enable_disable()
457 static int ftrace_event_enable_disable(struct trace_event_file *file, in ftrace_event_enable_disable() argument
460 return __ftrace_event_enable_disable(file, enable, 0); in ftrace_event_enable_disable()
465 struct trace_event_file *file; in ftrace_clear_events() local
468 list_for_each_entry(file, &tr->events, list) { in ftrace_clear_events()
469 ftrace_event_enable_disable(file, 0); in ftrace_clear_events()
573 struct trace_event_file *file; in __ftrace_clear_event_pids() local
593 list_for_each_entry(file, &tr->events, list) { in __ftrace_clear_event_pids()
594 clear_bit(EVENT_FILE_FL_PID_FILTER_BIT, &file->flags); in __ftrace_clear_event_pids()
677 static void remove_event_file_dir(struct trace_event_file *file) in remove_event_file_dir() argument
679 struct dentry *dir = file->dir; in remove_event_file_dir()
693 list_del(&file->list); in remove_event_file_dir()
694 remove_subsystem(file->system); in remove_event_file_dir()
695 free_event_filter(file->filter); in remove_event_file_dir()
696 kmem_cache_free(file_cachep, file); in remove_event_file_dir()
706 struct trace_event_file *file; in __ftrace_set_clr_event_nolock() local
711 list_for_each_entry(file, &tr->events, list) { in __ftrace_set_clr_event_nolock()
713 call = file->event_call; in __ftrace_set_clr_event_nolock()
733 ftrace_event_enable_disable(file, set); in __ftrace_set_clr_event_nolock()
818 ftrace_event_write(struct file *file, const char __user *ubuf, in ftrace_event_write() argument
822 struct seq_file *m = file->private_data; in ftrace_event_write()
862 struct trace_event_file *file = v; in t_next() local
868 list_for_each_entry_continue(file, &tr->events, list) { in t_next()
869 call = file->event_call; in t_next()
876 return file; in t_next()
884 struct trace_event_file *file; in t_start() local
890 file = list_entry(&tr->events, struct trace_event_file, list); in t_start()
892 file = t_next(m, file, &l); in t_start()
893 if (!file) in t_start()
896 return file; in t_start()
902 struct trace_event_file *file = v; in s_next() local
907 list_for_each_entry_continue(file, &tr->events, list) { in s_next()
908 if (file->flags & EVENT_FILE_FL_ENABLED) in s_next()
909 return file; in s_next()
917 struct trace_event_file *file; in s_start() local
923 file = list_entry(&tr->events, struct trace_event_file, list); in s_start()
925 file = s_next(m, file, &l); in s_start()
926 if (!file) in s_start()
929 return file; in s_start()
934 struct trace_event_file *file = v; in t_show() local
935 struct trace_event_call *call = file->event_call; in t_show()
1002 event_enable_read(struct file *filp, char __user *ubuf, size_t cnt, in event_enable_read()
1005 struct trace_event_file *file; in event_enable_read() local
1010 file = event_file_data(filp); in event_enable_read()
1011 if (likely(file)) in event_enable_read()
1012 flags = file->flags; in event_enable_read()
1015 if (!file) in event_enable_read()
1032 event_enable_write(struct file *filp, const char __user *ubuf, size_t cnt, in event_enable_write()
1035 struct trace_event_file *file; in event_enable_write() local
1052 file = event_file_data(filp); in event_enable_write()
1053 if (likely(file)) in event_enable_write()
1054 ret = ftrace_event_enable_disable(file, val); in event_enable_write()
1068 system_enable_read(struct file *filp, char __user *ubuf, size_t cnt, in system_enable_read()
1075 struct trace_event_file *file; in system_enable_read() local
1082 list_for_each_entry(file, &tr->events, list) { in system_enable_read()
1083 call = file->event_call; in system_enable_read()
1095 set |= (1 << !!(file->flags & EVENT_FILE_FL_ENABLED)); in system_enable_read()
1114 system_enable_write(struct file *filp, const char __user *ubuf, size_t cnt, in system_enable_write()
1269 static int trace_format_open(struct inode *inode, struct file *file) in trace_format_open() argument
1274 ret = seq_open(file, &trace_format_seq_ops); in trace_format_open()
1278 m = file->private_data; in trace_format_open()
1279 m->private = file; in trace_format_open()
1285 event_id_read(struct file *filp, char __user *ubuf, size_t cnt, loff_t *ppos) in event_id_read()
1303 event_filter_read(struct file *filp, char __user *ubuf, size_t cnt, in event_filter_read()
1306 struct trace_event_file *file; in event_filter_read() local
1321 file = event_file_data(filp); in event_filter_read()
1322 if (file) in event_filter_read()
1323 print_event_filter(file, s); in event_filter_read()
1326 if (file) in event_filter_read()
1336 event_filter_write(struct file *filp, const char __user *ubuf, size_t cnt, in event_filter_write()
1339 struct trace_event_file *file; in event_filter_write() local
1357 file = event_file_data(filp); in event_filter_write()
1358 if (file) in event_filter_write()
1359 err = apply_event_filter(file, buf); in event_filter_write()
1373 static int subsystem_open(struct inode *inode, struct file *filp) in subsystem_open()
1423 static int system_tr_open(struct inode *inode, struct file *filp) in system_tr_open()
1456 static int subsystem_release(struct inode *inode, struct file *file) in subsystem_release() argument
1458 struct trace_subsystem_dir *dir = file->private_data; in subsystem_release()
1476 subsystem_filter_read(struct file *filp, char __user *ubuf, size_t cnt, in subsystem_filter_read()
1503 subsystem_filter_write(struct file *filp, const char __user *ubuf, size_t cnt, in subsystem_filter_write()
1534 show_header(struct file *filp, char __user *ubuf, size_t cnt, loff_t *ppos) in show_header()
1580 ftrace_event_pid_write(struct file *filp, const char __user *ubuf, in ftrace_event_pid_write()
1587 struct trace_event_file *file; in ftrace_event_pid_write() local
1716 list_for_each_entry(file, &tr->events, list) { in ftrace_event_pid_write()
1717 set_bit(EVENT_FILE_FL_PID_FILTER_BIT, &file->flags); in ftrace_event_pid_write()
1768 static int ftrace_event_avail_open(struct inode *inode, struct file *file);
1769 static int ftrace_event_set_open(struct inode *inode, struct file *file);
1770 static int ftrace_event_set_pid_open(struct inode *inode, struct file *file);
1771 static int ftrace_event_release(struct inode *inode, struct file *file);
1874 ftrace_event_open(struct inode *inode, struct file *file, in ftrace_event_open() argument
1880 ret = seq_open(file, seq_ops); in ftrace_event_open()
1883 m = file->private_data; in ftrace_event_open()
1890 static int ftrace_event_release(struct inode *inode, struct file *file) in ftrace_event_release() argument
1896 return seq_release(inode, file); in ftrace_event_release()
1900 ftrace_event_avail_open(struct inode *inode, struct file *file) in ftrace_event_avail_open() argument
1904 return ftrace_event_open(inode, file, seq_ops); in ftrace_event_avail_open()
1908 ftrace_event_set_open(struct inode *inode, struct file *file) in ftrace_event_set_open() argument
1917 if ((file->f_mode & FMODE_WRITE) && in ftrace_event_set_open()
1918 (file->f_flags & O_TRUNC)) in ftrace_event_set_open()
1921 ret = ftrace_event_open(inode, file, seq_ops); in ftrace_event_set_open()
1928 ftrace_event_set_pid_open(struct inode *inode, struct file *file) in ftrace_event_set_pid_open() argument
1937 if ((file->f_mode & FMODE_WRITE) && in ftrace_event_set_pid_open()
1938 (file->f_flags & O_TRUNC)) in ftrace_event_set_pid_open()
1941 ret = ftrace_event_open(inode, file, seq_ops); in ftrace_event_set_pid_open()
1982 struct trace_event_file *file, struct dentry *parent) in event_subsystem_dir() argument
1993 file->system = dir; in event_subsystem_dir()
2029 file->system = dir; in event_subsystem_dir()
2056 event_create_dir(struct dentry *parent, struct trace_event_file *file) in event_create_dir() argument
2058 struct trace_event_call *call = file->event_call; in event_create_dir()
2059 struct trace_array *tr = file->tr; in event_create_dir()
2070 d_events = event_subsystem_dir(tr, call->class->system, file, parent); in event_create_dir()
2077 file->dir = tracefs_create_dir(name, d_events); in event_create_dir()
2078 if (!file->dir) { in event_create_dir()
2084 trace_create_file("enable", 0644, file->dir, file, in event_create_dir()
2089 trace_create_file("id", 0444, file->dir, in event_create_dir()
2107 trace_create_file("filter", 0644, file->dir, file, in event_create_dir()
2115 trace_create_file("trigger", 0644, file->dir, file, in event_create_dir()
2118 trace_create_file("format", 0444, file->dir, call, in event_create_dir()
2126 struct trace_event_file *file; in remove_event_from_tracers() local
2129 do_for_each_event_file_safe(tr, file) { in remove_event_from_tracers()
2130 if (file->event_call != call) in remove_event_from_tracers()
2133 remove_event_file_dir(file); in remove_event_from_tracers()
2147 struct trace_event_file *file; in event_remove() local
2149 do_for_each_event_file(tr, file) { in event_remove()
2150 if (file->event_call != call) in event_remove()
2152 ftrace_event_enable_disable(file, 0); in event_remove()
2330 struct trace_event_file *file; in trace_create_new_event() local
2332 file = kmem_cache_alloc(file_cachep, GFP_TRACE); in trace_create_new_event()
2333 if (!file) in trace_create_new_event()
2336 file->event_call = call; in trace_create_new_event()
2337 file->tr = tr; in trace_create_new_event()
2338 atomic_set(&file->sm_ref, 0); in trace_create_new_event()
2339 atomic_set(&file->tm_ref, 0); in trace_create_new_event()
2340 INIT_LIST_HEAD(&file->triggers); in trace_create_new_event()
2341 list_add(&file->list, &tr->events); in trace_create_new_event()
2343 return file; in trace_create_new_event()
2350 struct trace_event_file *file; in __trace_add_new_event() local
2352 file = trace_create_new_event(call, tr); in __trace_add_new_event()
2353 if (!file) in __trace_add_new_event()
2356 return event_create_dir(tr->event_dir, file); in __trace_add_new_event()
2368 struct trace_event_file *file; in __trace_early_add_new_event() local
2370 file = trace_create_new_event(call, tr); in __trace_early_add_new_event()
2371 if (!file) in __trace_early_add_new_event()
2411 struct trace_event_file *file; in probe_remove_event_call() local
2417 do_for_each_event_file(tr, file) { in probe_remove_event_call()
2418 if (file->event_call != call) in probe_remove_event_call()
2425 if (file->flags & EVENT_FILE_FL_ENABLED) in probe_remove_event_call()
2559 struct trace_event_file *file; in find_event_file() local
2563 list_for_each_entry(file, &tr->events, list) { in find_event_file()
2565 call = file->event_call; in find_event_file()
2576 return file; in find_event_file()
2588 struct trace_event_file *file; member
2604 clear_bit(EVENT_FILE_FL_SOFT_DISABLED_BIT, &data->file->flags); in event_enable_probe()
2606 set_bit(EVENT_FILE_FL_SOFT_DISABLED_BIT, &data->file->flags); in event_enable_probe()
2622 if (data->enable == !(data->file->flags & EVENT_FILE_FL_SOFT_DISABLED)) in event_enable_count_probe()
2641 data->file->event_call->class->system, in event_enable_print()
2642 trace_event_name(data->file->event_call)); in event_enable_print()
2676 __ftrace_event_enable_disable(data->file, 0, 1); in event_enable_free()
2677 module_put(data->file->event_call->mod); in event_enable_free()
2716 struct trace_event_file *file; in event_enable_func() local
2741 file = find_event_file(tr, system, event); in event_enable_func()
2742 if (!file) in event_enable_func()
2765 data->file = file; in event_enable_func()
2786 ret = try_module_get(file->event_call->mod); in event_enable_func()
2792 ret = __ftrace_event_enable_disable(file, 1, 1); in event_enable_func()
2813 __ftrace_event_enable_disable(file, 0, 1); in event_enable_func()
2815 module_put(file->event_call->mod); in event_enable_func()
2857 struct trace_event_file *file; in __trace_early_add_event_dirs() local
2861 list_for_each_entry(file, &tr->events, list) { in __trace_early_add_event_dirs()
2862 ret = event_create_dir(tr->event_dir, file); in __trace_early_add_event_dirs()
2865 trace_event_name(file->event_call)); in __trace_early_add_event_dirs()
2897 struct trace_event_file *file, *next; in __trace_remove_event_dirs() local
2899 list_for_each_entry_safe(file, next, &tr->events, list) in __trace_remove_event_dirs()
2900 remove_event_file_dir(file); in __trace_remove_event_dirs()
3254 struct trace_event_file *file; in event_trace_self_tests() local
3266 list_for_each_entry(file, &tr->events, list) { in event_trace_self_tests()
3268 call = file->event_call; in event_trace_self_tests()
3292 if (file->flags & EVENT_FILE_FL_ENABLED) { in event_trace_self_tests()
3298 ftrace_event_enable_disable(file, 1); in event_trace_self_tests()
3300 ftrace_event_enable_disable(file, 0); in event_trace_self_tests()