• Home
  • Raw
  • Download

Lines Matching refs:file

64 #define do_for_each_event_file(tr, file)			\  argument
66 list_for_each_entry(file, &tr->events, list)
68 #define do_for_each_event_file_safe(tr, file) \ argument
71 list_for_each_entry_safe(file, ___n, &tr->events, list)
290 struct trace_event_file *file = data; in trace_event_reg() local
297 file); in trace_event_reg()
301 file); in trace_event_reg()
327 struct trace_event_file *file; in trace_event_enable_cmd_record() local
332 do_for_each_event_file(tr, file) { in trace_event_enable_cmd_record()
334 if (!(file->flags & EVENT_FILE_FL_ENABLED)) in trace_event_enable_cmd_record()
339 set_bit(EVENT_FILE_FL_RECORDED_CMD_BIT, &file->flags); in trace_event_enable_cmd_record()
342 clear_bit(EVENT_FILE_FL_RECORDED_CMD_BIT, &file->flags); in trace_event_enable_cmd_record()
349 struct trace_event_file *file; in trace_event_enable_tgid_record() local
354 do_for_each_event_file(tr, file) { in trace_event_enable_tgid_record()
355 if (!(file->flags & EVENT_FILE_FL_ENABLED)) in trace_event_enable_tgid_record()
360 set_bit(EVENT_FILE_FL_RECORDED_TGID_BIT, &file->flags); in trace_event_enable_tgid_record()
364 &file->flags); in trace_event_enable_tgid_record()
369 static int __ftrace_event_enable_disable(struct trace_event_file *file, in __ftrace_event_enable_disable() argument
372 struct trace_event_call *call = file->event_call; in __ftrace_event_enable_disable()
373 struct trace_array *tr = file->tr; in __ftrace_event_enable_disable()
393 if (atomic_dec_return(&file->sm_ref) > 0) in __ftrace_event_enable_disable()
395 disable = file->flags & EVENT_FILE_FL_SOFT_DISABLED; in __ftrace_event_enable_disable()
396 clear_bit(EVENT_FILE_FL_SOFT_MODE_BIT, &file->flags); in __ftrace_event_enable_disable()
400 disable = !(file->flags & EVENT_FILE_FL_SOFT_MODE); in __ftrace_event_enable_disable()
402 if (disable && (file->flags & EVENT_FILE_FL_ENABLED)) { in __ftrace_event_enable_disable()
403 clear_bit(EVENT_FILE_FL_ENABLED_BIT, &file->flags); in __ftrace_event_enable_disable()
404 if (file->flags & EVENT_FILE_FL_RECORDED_CMD) { in __ftrace_event_enable_disable()
406 clear_bit(EVENT_FILE_FL_RECORDED_CMD_BIT, &file->flags); in __ftrace_event_enable_disable()
409 if (file->flags & EVENT_FILE_FL_RECORDED_TGID) { in __ftrace_event_enable_disable()
411 clear_bit(EVENT_FILE_FL_RECORDED_TGID_BIT, &file->flags); in __ftrace_event_enable_disable()
414 call->class->reg(call, TRACE_REG_UNREGISTER, file); in __ftrace_event_enable_disable()
417 if (file->flags & EVENT_FILE_FL_SOFT_MODE) in __ftrace_event_enable_disable()
418 set_bit(EVENT_FILE_FL_SOFT_DISABLED_BIT, &file->flags); in __ftrace_event_enable_disable()
420 clear_bit(EVENT_FILE_FL_SOFT_DISABLED_BIT, &file->flags); in __ftrace_event_enable_disable()
432 clear_bit(EVENT_FILE_FL_SOFT_DISABLED_BIT, &file->flags); in __ftrace_event_enable_disable()
434 if (atomic_inc_return(&file->sm_ref) > 1) in __ftrace_event_enable_disable()
436 set_bit(EVENT_FILE_FL_SOFT_MODE_BIT, &file->flags); in __ftrace_event_enable_disable()
441 if (!(file->flags & EVENT_FILE_FL_ENABLED)) { in __ftrace_event_enable_disable()
446 set_bit(EVENT_FILE_FL_SOFT_DISABLED_BIT, &file->flags); in __ftrace_event_enable_disable()
451 set_bit(EVENT_FILE_FL_RECORDED_CMD_BIT, &file->flags); in __ftrace_event_enable_disable()
457 set_bit(EVENT_FILE_FL_RECORDED_TGID_BIT, &file->flags); in __ftrace_event_enable_disable()
460 ret = call->class->reg(call, TRACE_REG_REGISTER, file); in __ftrace_event_enable_disable()
470 set_bit(EVENT_FILE_FL_ENABLED_BIT, &file->flags); in __ftrace_event_enable_disable()
473 set_bit(EVENT_FILE_FL_WAS_ENABLED_BIT, &file->flags); in __ftrace_event_enable_disable()
481 int trace_event_enable_disable(struct trace_event_file *file, in trace_event_enable_disable() argument
484 return __ftrace_event_enable_disable(file, enable, soft_disable); in trace_event_enable_disable()
487 static int ftrace_event_enable_disable(struct trace_event_file *file, in ftrace_event_enable_disable() argument
490 return __ftrace_event_enable_disable(file, enable, 0); in ftrace_event_enable_disable()
495 struct trace_event_file *file; in ftrace_clear_events() local
498 list_for_each_entry(file, &tr->events, list) { in ftrace_clear_events()
499 ftrace_event_enable_disable(file, 0); in ftrace_clear_events()
642 struct trace_event_file *file; in __ftrace_clear_event_pids() local
657 list_for_each_entry(file, &tr->events, list) { in __ftrace_clear_event_pids()
658 clear_bit(EVENT_FILE_FL_PID_FILTER_BIT, &file->flags); in __ftrace_clear_event_pids()
749 static void remove_event_file_dir(struct trace_event_file *file) in remove_event_file_dir() argument
751 struct dentry *dir = file->dir; in remove_event_file_dir()
765 list_del(&file->list); in remove_event_file_dir()
766 remove_subsystem(file->system); in remove_event_file_dir()
767 free_event_filter(file->filter); in remove_event_file_dir()
768 kmem_cache_free(file_cachep, file); in remove_event_file_dir()
778 struct trace_event_file *file; in __ftrace_set_clr_event_nolock() local
784 list_for_each_entry(file, &tr->events, list) { in __ftrace_set_clr_event_nolock()
786 call = file->event_call; in __ftrace_set_clr_event_nolock()
806 ret = ftrace_event_enable_disable(file, set); in __ftrace_set_clr_event_nolock()
927 ftrace_event_write(struct file *file, const char __user *ubuf, in ftrace_event_write() argument
931 struct seq_file *m = file->private_data; in ftrace_event_write()
969 struct trace_event_file *file = v; in t_next() local
975 list_for_each_entry_continue(file, &tr->events, list) { in t_next()
976 call = file->event_call; in t_next()
983 return file; in t_next()
991 struct trace_event_file *file; in t_start() local
997 file = list_entry(&tr->events, struct trace_event_file, list); in t_start()
999 file = t_next(m, file, &l); in t_start()
1000 if (!file) in t_start()
1003 return file; in t_start()
1009 struct trace_event_file *file = v; in s_next() local
1014 list_for_each_entry_continue(file, &tr->events, list) { in s_next()
1015 if (file->flags & EVENT_FILE_FL_ENABLED) in s_next()
1016 return file; in s_next()
1024 struct trace_event_file *file; in s_start() local
1030 file = list_entry(&tr->events, struct trace_event_file, list); in s_start()
1032 file = s_next(m, file, &l); in s_start()
1033 if (!file) in s_start()
1036 return file; in s_start()
1041 struct trace_event_file *file = v; in t_show() local
1042 struct trace_event_call *call = file->event_call; in t_show()
1128 event_enable_read(struct file *filp, char __user *ubuf, size_t cnt, in event_enable_read()
1131 struct trace_event_file *file; in event_enable_read() local
1136 file = event_file_data(filp); in event_enable_read()
1137 if (likely(file)) in event_enable_read()
1138 flags = file->flags; in event_enable_read()
1141 if (!file) in event_enable_read()
1158 event_enable_write(struct file *filp, const char __user *ubuf, size_t cnt, in event_enable_write()
1161 struct trace_event_file *file; in event_enable_write() local
1178 file = event_file_data(filp); in event_enable_write()
1179 if (likely(file)) in event_enable_write()
1180 ret = ftrace_event_enable_disable(file, val); in event_enable_write()
1194 system_enable_read(struct file *filp, char __user *ubuf, size_t cnt, in system_enable_read()
1201 struct trace_event_file *file; in system_enable_read() local
1208 list_for_each_entry(file, &tr->events, list) { in system_enable_read()
1209 call = file->event_call; in system_enable_read()
1222 set |= (1 << !!(file->flags & EVENT_FILE_FL_ENABLED)); in system_enable_read()
1241 system_enable_write(struct file *filp, const char __user *ubuf, size_t cnt, in system_enable_write()
1396 static int trace_format_open(struct inode *inode, struct file *file) in trace_format_open() argument
1403 ret = seq_open(file, &trace_format_seq_ops); in trace_format_open()
1407 m = file->private_data; in trace_format_open()
1408 m->private = file; in trace_format_open()
1414 event_id_read(struct file *filp, char __user *ubuf, size_t cnt, loff_t *ppos) in event_id_read()
1429 event_filter_read(struct file *filp, char __user *ubuf, size_t cnt, in event_filter_read()
1432 struct trace_event_file *file; in event_filter_read() local
1447 file = event_file_data(filp); in event_filter_read()
1448 if (file) in event_filter_read()
1449 print_event_filter(file, s); in event_filter_read()
1452 if (file) in event_filter_read()
1462 event_filter_write(struct file *filp, const char __user *ubuf, size_t cnt, in event_filter_write()
1465 struct trace_event_file *file; in event_filter_write() local
1477 file = event_file_data(filp); in event_filter_write()
1478 if (file) in event_filter_write()
1479 err = apply_event_filter(file, buf); in event_filter_write()
1493 static int subsystem_open(struct inode *inode, struct file *filp) in subsystem_open()
1543 static int system_tr_open(struct inode *inode, struct file *filp) in system_tr_open()
1565 static int subsystem_release(struct inode *inode, struct file *file) in subsystem_release() argument
1567 struct trace_subsystem_dir *dir = file->private_data; in subsystem_release()
1585 subsystem_filter_read(struct file *filp, char __user *ubuf, size_t cnt, in subsystem_filter_read()
1612 subsystem_filter_write(struct file *filp, const char __user *ubuf, size_t cnt, in subsystem_filter_write()
1637 show_header(struct file *filp, char __user *ubuf, size_t cnt, loff_t *ppos) in show_header()
1710 event_pid_write(struct file *filp, const char __user *ubuf, in event_pid_write()
1718 struct trace_event_file *file; in event_pid_write() local
1751 list_for_each_entry(file, &tr->events, list) { in event_pid_write()
1752 set_bit(EVENT_FILE_FL_PID_FILTER_BIT, &file->flags); in event_pid_write()
1779 ftrace_event_pid_write(struct file *filp, const char __user *ubuf, in ftrace_event_pid_write()
1786 ftrace_event_npid_write(struct file *filp, const char __user *ubuf, in ftrace_event_npid_write()
1792 static int ftrace_event_avail_open(struct inode *inode, struct file *file);
1793 static int ftrace_event_set_open(struct inode *inode, struct file *file);
1794 static int ftrace_event_set_pid_open(struct inode *inode, struct file *file);
1795 static int ftrace_event_set_npid_open(struct inode *inode, struct file *file);
1796 static int ftrace_event_release(struct inode *inode, struct file *file);
1916 ftrace_event_open(struct inode *inode, struct file *file, in ftrace_event_open() argument
1926 ret = seq_open(file, seq_ops); in ftrace_event_open()
1929 m = file->private_data; in ftrace_event_open()
1936 static int ftrace_event_release(struct inode *inode, struct file *file) in ftrace_event_release() argument
1942 return seq_release(inode, file); in ftrace_event_release()
1946 ftrace_event_avail_open(struct inode *inode, struct file *file) in ftrace_event_avail_open() argument
1951 return ftrace_event_open(inode, file, seq_ops); in ftrace_event_avail_open()
1955 ftrace_event_set_open(struct inode *inode, struct file *file) in ftrace_event_set_open() argument
1965 if ((file->f_mode & FMODE_WRITE) && in ftrace_event_set_open()
1966 (file->f_flags & O_TRUNC)) in ftrace_event_set_open()
1969 ret = ftrace_event_open(inode, file, seq_ops); in ftrace_event_set_open()
1976 ftrace_event_set_pid_open(struct inode *inode, struct file *file) in ftrace_event_set_pid_open() argument
1986 if ((file->f_mode & FMODE_WRITE) && in ftrace_event_set_pid_open()
1987 (file->f_flags & O_TRUNC)) in ftrace_event_set_pid_open()
1990 ret = ftrace_event_open(inode, file, seq_ops); in ftrace_event_set_pid_open()
1997 ftrace_event_set_npid_open(struct inode *inode, struct file *file) in ftrace_event_set_npid_open() argument
2007 if ((file->f_mode & FMODE_WRITE) && in ftrace_event_set_npid_open()
2008 (file->f_flags & O_TRUNC)) in ftrace_event_set_npid_open()
2011 ret = ftrace_event_open(inode, file, seq_ops); in ftrace_event_set_npid_open()
2052 struct trace_event_file *file, struct dentry *parent) in event_subsystem_dir() argument
2063 file->system = dir; in event_subsystem_dir()
2099 file->system = dir; in event_subsystem_dir()
2163 event_create_dir(struct dentry *parent, struct trace_event_file *file) in event_create_dir() argument
2165 struct trace_event_call *call = file->event_call; in event_create_dir()
2166 struct trace_array *tr = file->tr; in event_create_dir()
2176 d_events = event_subsystem_dir(tr, call->class->system, file, parent); in event_create_dir()
2183 file->dir = tracefs_create_dir(name, d_events); in event_create_dir()
2184 if (!file->dir) { in event_create_dir()
2190 trace_create_file("enable", 0644, file->dir, file, in event_create_dir()
2195 trace_create_file("id", 0444, file->dir, in event_create_dir()
2211 trace_create_file("filter", 0644, file->dir, file, in event_create_dir()
2214 trace_create_file("trigger", 0644, file->dir, file, in event_create_dir()
2219 trace_create_file("hist", 0444, file->dir, file, in event_create_dir()
2223 trace_create_file("hist_debug", 0444, file->dir, file, in event_create_dir()
2226 trace_create_file("format", 0444, file->dir, call, in event_create_dir()
2231 trace_create_file("inject", 0200, file->dir, file, in event_create_dir()
2240 struct trace_event_file *file; in remove_event_from_tracers() local
2243 do_for_each_event_file_safe(tr, file) { in remove_event_from_tracers()
2244 if (file->event_call != call) in remove_event_from_tracers()
2247 remove_event_file_dir(file); in remove_event_from_tracers()
2261 struct trace_event_file *file; in event_remove() local
2263 do_for_each_event_file(tr, file) { in event_remove()
2264 if (file->event_call != call) in event_remove()
2267 if (file->flags & EVENT_FILE_FL_WAS_ENABLED) in event_remove()
2270 ftrace_event_enable_disable(file, 0); in event_remove()
2465 struct trace_event_file *file; in trace_create_new_event() local
2467 file = kmem_cache_alloc(file_cachep, GFP_TRACE); in trace_create_new_event()
2468 if (!file) in trace_create_new_event()
2477 file->flags |= EVENT_FILE_FL_PID_FILTER; in trace_create_new_event()
2479 file->event_call = call; in trace_create_new_event()
2480 file->tr = tr; in trace_create_new_event()
2481 atomic_set(&file->sm_ref, 0); in trace_create_new_event()
2482 atomic_set(&file->tm_ref, 0); in trace_create_new_event()
2483 INIT_LIST_HEAD(&file->triggers); in trace_create_new_event()
2484 list_add(&file->list, &tr->events); in trace_create_new_event()
2486 return file; in trace_create_new_event()
2493 struct trace_event_file *file; in __trace_add_new_event() local
2495 file = trace_create_new_event(call, tr); in __trace_add_new_event()
2496 if (!file) in __trace_add_new_event()
2500 return event_create_dir(tr->event_dir, file); in __trace_add_new_event()
2514 struct trace_event_file *file; in __trace_early_add_new_event() local
2516 file = trace_create_new_event(call, tr); in __trace_early_add_new_event()
2517 if (!file) in __trace_early_add_new_event()
2557 struct trace_event_file *file; in probe_remove_event_call() local
2563 do_for_each_event_file(tr, file) { in probe_remove_event_call()
2564 if (file->event_call != call) in probe_remove_event_call()
2571 if (file->flags & EVENT_FILE_FL_ENABLED) in probe_remove_event_call()
2574 if (file->flags & EVENT_FILE_FL_WAS_ENABLED) in probe_remove_event_call()
2710 struct trace_event_file *file; in __find_event_file() local
2714 list_for_each_entry(file, &tr->events, list) { in __find_event_file()
2716 call = file->event_call; in __find_event_file()
2724 return file; in __find_event_file()
2733 struct trace_event_file *file; in find_event_file() local
2735 file = __find_event_file(tr, system, event); in find_event_file()
2736 if (!file || !file->event_call->class->reg || in find_event_file()
2737 file->event_call->flags & TRACE_EVENT_FL_IGNORE_ENABLE) in find_event_file()
2740 return file; in find_event_file()
2768 struct trace_event_file *file = NULL; in trace_get_event_file() local
2783 file = find_event_file(tr, system, event); in trace_get_event_file()
2784 if (!file) { in trace_get_event_file()
2791 ret = try_module_get(file->event_call->mod); in trace_get_event_file()
2803 file = ERR_PTR(ret); in trace_get_event_file()
2805 return file; in trace_get_event_file()
2818 void trace_put_event_file(struct trace_event_file *file) in trace_put_event_file() argument
2821 module_put(file->event_call->mod); in trace_put_event_file()
2824 trace_array_put(file->tr); in trace_put_event_file()
2835 struct trace_event_file *file; member
2844 clear_bit(EVENT_FILE_FL_SOFT_DISABLED_BIT, &data->file->flags); in update_event_probe()
2846 set_bit(EVENT_FILE_FL_SOFT_DISABLED_BIT, &data->file->flags); in update_event_probe()
2885 if (edata->enable == !(edata->file->flags & EVENT_FILE_FL_SOFT_DISABLED)) in event_enable_count_probe()
2913 edata->file->event_call->class->system, in event_enable_print()
2914 trace_event_name(edata->file->event_call)); in event_enable_print()
2955 __ftrace_event_enable_disable(edata->file, 0, 1); in free_probe_data()
2956 module_put(edata->file->event_call->mod); in free_probe_data()
3019 struct trace_event_file *file; in event_enable_func() local
3044 file = find_event_file(tr, system, event); in event_enable_func()
3045 if (!file) in event_enable_func()
3068 data->file = file; in event_enable_func()
3089 ret = try_module_get(file->event_call->mod); in event_enable_func()
3095 ret = __ftrace_event_enable_disable(file, 1, 1); in event_enable_func()
3117 __ftrace_event_enable_disable(file, 0, 1); in event_enable_func()
3119 module_put(file->event_call->mod); in event_enable_func()
3160 struct trace_event_file *file; in __trace_early_add_event_dirs() local
3164 list_for_each_entry(file, &tr->events, list) { in __trace_early_add_event_dirs()
3165 ret = event_create_dir(tr->event_dir, file); in __trace_early_add_event_dirs()
3168 trace_event_name(file->event_call)); in __trace_early_add_event_dirs()
3199 struct trace_event_file *file, *next; in __trace_remove_event_dirs() local
3201 list_for_each_entry_safe(file, next, &tr->events, list) in __trace_remove_event_dirs()
3202 remove_event_file_dir(file); in __trace_remove_event_dirs()
3579 struct trace_event_file *file; in event_trace_self_tests() local
3591 list_for_each_entry(file, &tr->events, list) { in event_trace_self_tests()
3593 call = file->event_call; in event_trace_self_tests()
3617 if (file->flags & EVENT_FILE_FL_ENABLED) { in event_trace_self_tests()
3623 ftrace_event_enable_disable(file, 1); in event_trace_self_tests()
3625 ftrace_event_enable_disable(file, 0); in event_trace_self_tests()