aboutsummaryrefslogtreecommitdiffstats
path: root/kernel/trace/ftrace.c
diff options
context:
space:
mode:
Diffstat (limited to 'kernel/trace/ftrace.c')
-rw-r--r--kernel/trace/ftrace.c66
1 files changed, 33 insertions, 33 deletions
diff --git a/kernel/trace/ftrace.c b/kernel/trace/ftrace.c
index 57350cbd1f61..281d97a3208c 100644
--- a/kernel/trace/ftrace.c
+++ b/kernel/trace/ftrace.c
@@ -53,7 +53,7 @@ ftrace_func_t ftrace_trace_function __read_mostly = ftrace_stub;
53/* mcount is defined per arch in assembly */ 53/* mcount is defined per arch in assembly */
54EXPORT_SYMBOL(mcount); 54EXPORT_SYMBOL(mcount);
55 55
56notrace void ftrace_list_func(unsigned long ip, unsigned long parent_ip) 56void ftrace_list_func(unsigned long ip, unsigned long parent_ip)
57{ 57{
58 struct ftrace_ops *op = ftrace_list; 58 struct ftrace_ops *op = ftrace_list;
59 59
@@ -79,7 +79,7 @@ void clear_ftrace_function(void)
79 ftrace_trace_function = ftrace_stub; 79 ftrace_trace_function = ftrace_stub;
80} 80}
81 81
82static int notrace __register_ftrace_function(struct ftrace_ops *ops) 82static int __register_ftrace_function(struct ftrace_ops *ops)
83{ 83{
84 /* Should never be called by interrupts */ 84 /* Should never be called by interrupts */
85 spin_lock(&ftrace_lock); 85 spin_lock(&ftrace_lock);
@@ -110,7 +110,7 @@ static int notrace __register_ftrace_function(struct ftrace_ops *ops)
110 return 0; 110 return 0;
111} 111}
112 112
113static int notrace __unregister_ftrace_function(struct ftrace_ops *ops) 113static int __unregister_ftrace_function(struct ftrace_ops *ops)
114{ 114{
115 struct ftrace_ops **p; 115 struct ftrace_ops **p;
116 int ret = 0; 116 int ret = 0;
@@ -197,7 +197,7 @@ static int ftrace_record_suspend;
197 197
198static struct dyn_ftrace *ftrace_free_records; 198static struct dyn_ftrace *ftrace_free_records;
199 199
200static inline int notrace 200static inline int
201ftrace_ip_in_hash(unsigned long ip, unsigned long key) 201ftrace_ip_in_hash(unsigned long ip, unsigned long key)
202{ 202{
203 struct dyn_ftrace *p; 203 struct dyn_ftrace *p;
@@ -214,13 +214,13 @@ ftrace_ip_in_hash(unsigned long ip, unsigned long key)
214 return found; 214 return found;
215} 215}
216 216
217static inline void notrace 217static inline void
218ftrace_add_hash(struct dyn_ftrace *node, unsigned long key) 218ftrace_add_hash(struct dyn_ftrace *node, unsigned long key)
219{ 219{
220 hlist_add_head(&node->node, &ftrace_hash[key]); 220 hlist_add_head(&node->node, &ftrace_hash[key]);
221} 221}
222 222
223static notrace void ftrace_free_rec(struct dyn_ftrace *rec) 223static void ftrace_free_rec(struct dyn_ftrace *rec)
224{ 224{
225 /* no locking, only called from kstop_machine */ 225 /* no locking, only called from kstop_machine */
226 226
@@ -229,7 +229,7 @@ static notrace void ftrace_free_rec(struct dyn_ftrace *rec)
229 rec->flags |= FTRACE_FL_FREE; 229 rec->flags |= FTRACE_FL_FREE;
230} 230}
231 231
232static notrace struct dyn_ftrace *ftrace_alloc_dyn_node(unsigned long ip) 232static struct dyn_ftrace *ftrace_alloc_dyn_node(unsigned long ip)
233{ 233{
234 struct dyn_ftrace *rec; 234 struct dyn_ftrace *rec;
235 235
@@ -259,7 +259,7 @@ static notrace struct dyn_ftrace *ftrace_alloc_dyn_node(unsigned long ip)
259 return &ftrace_pages->records[ftrace_pages->index++]; 259 return &ftrace_pages->records[ftrace_pages->index++];
260} 260}
261 261
262static void notrace 262static void
263ftrace_record_ip(unsigned long ip) 263ftrace_record_ip(unsigned long ip)
264{ 264{
265 struct dyn_ftrace *node; 265 struct dyn_ftrace *node;
@@ -329,7 +329,7 @@ ftrace_record_ip(unsigned long ip)
329#define FTRACE_ADDR ((long)(ftrace_caller)) 329#define FTRACE_ADDR ((long)(ftrace_caller))
330#define MCOUNT_ADDR ((long)(mcount)) 330#define MCOUNT_ADDR ((long)(mcount))
331 331
332static void notrace 332static void
333__ftrace_replace_code(struct dyn_ftrace *rec, 333__ftrace_replace_code(struct dyn_ftrace *rec,
334 unsigned char *old, unsigned char *new, int enable) 334 unsigned char *old, unsigned char *new, int enable)
335{ 335{
@@ -405,7 +405,7 @@ __ftrace_replace_code(struct dyn_ftrace *rec,
405 } 405 }
406} 406}
407 407
408static void notrace ftrace_replace_code(int enable) 408static void ftrace_replace_code(int enable)
409{ 409{
410 unsigned char *new = NULL, *old = NULL; 410 unsigned char *new = NULL, *old = NULL;
411 struct dyn_ftrace *rec; 411 struct dyn_ftrace *rec;
@@ -430,7 +430,7 @@ static void notrace ftrace_replace_code(int enable)
430 } 430 }
431} 431}
432 432
433static notrace void ftrace_shutdown_replenish(void) 433static void ftrace_shutdown_replenish(void)
434{ 434{
435 if (ftrace_pages->next) 435 if (ftrace_pages->next)
436 return; 436 return;
@@ -439,7 +439,7 @@ static notrace void ftrace_shutdown_replenish(void)
439 ftrace_pages->next = (void *)get_zeroed_page(GFP_KERNEL); 439 ftrace_pages->next = (void *)get_zeroed_page(GFP_KERNEL);
440} 440}
441 441
442static notrace void 442static void
443ftrace_code_disable(struct dyn_ftrace *rec) 443ftrace_code_disable(struct dyn_ftrace *rec)
444{ 444{
445 unsigned long ip; 445 unsigned long ip;
@@ -458,7 +458,7 @@ ftrace_code_disable(struct dyn_ftrace *rec)
458 } 458 }
459} 459}
460 460
461static int notrace __ftrace_modify_code(void *data) 461static int __ftrace_modify_code(void *data)
462{ 462{
463 unsigned long addr; 463 unsigned long addr;
464 int *command = data; 464 int *command = data;
@@ -482,14 +482,14 @@ static int notrace __ftrace_modify_code(void *data)
482 return 0; 482 return 0;
483} 483}
484 484
485static void notrace ftrace_run_update_code(int command) 485static void ftrace_run_update_code(int command)
486{ 486{
487 stop_machine_run(__ftrace_modify_code, &command, NR_CPUS); 487 stop_machine_run(__ftrace_modify_code, &command, NR_CPUS);
488} 488}
489 489
490static ftrace_func_t saved_ftrace_func; 490static ftrace_func_t saved_ftrace_func;
491 491
492static void notrace ftrace_startup(void) 492static void ftrace_startup(void)
493{ 493{
494 int command = 0; 494 int command = 0;
495 495
@@ -514,7 +514,7 @@ static void notrace ftrace_startup(void)
514 mutex_unlock(&ftraced_lock); 514 mutex_unlock(&ftraced_lock);
515} 515}
516 516
517static void notrace ftrace_shutdown(void) 517static void ftrace_shutdown(void)
518{ 518{
519 int command = 0; 519 int command = 0;
520 520
@@ -539,7 +539,7 @@ static void notrace ftrace_shutdown(void)
539 mutex_unlock(&ftraced_lock); 539 mutex_unlock(&ftraced_lock);
540} 540}
541 541
542static void notrace ftrace_startup_sysctl(void) 542static void ftrace_startup_sysctl(void)
543{ 543{
544 int command = FTRACE_ENABLE_MCOUNT; 544 int command = FTRACE_ENABLE_MCOUNT;
545 545
@@ -557,7 +557,7 @@ static void notrace ftrace_startup_sysctl(void)
557 mutex_unlock(&ftraced_lock); 557 mutex_unlock(&ftraced_lock);
558} 558}
559 559
560static void notrace ftrace_shutdown_sysctl(void) 560static void ftrace_shutdown_sysctl(void)
561{ 561{
562 int command = FTRACE_DISABLE_MCOUNT; 562 int command = FTRACE_DISABLE_MCOUNT;
563 563
@@ -577,7 +577,7 @@ static cycle_t ftrace_update_time;
577static unsigned long ftrace_update_cnt; 577static unsigned long ftrace_update_cnt;
578unsigned long ftrace_update_tot_cnt; 578unsigned long ftrace_update_tot_cnt;
579 579
580static int notrace __ftrace_update_code(void *ignore) 580static int __ftrace_update_code(void *ignore)
581{ 581{
582 struct dyn_ftrace *p; 582 struct dyn_ftrace *p;
583 struct hlist_head head; 583 struct hlist_head head;
@@ -618,7 +618,7 @@ static int notrace __ftrace_update_code(void *ignore)
618 return 0; 618 return 0;
619} 619}
620 620
621static void notrace ftrace_update_code(void) 621static void ftrace_update_code(void)
622{ 622{
623 if (unlikely(ftrace_disabled)) 623 if (unlikely(ftrace_disabled))
624 return; 624 return;
@@ -626,7 +626,7 @@ static void notrace ftrace_update_code(void)
626 stop_machine_run(__ftrace_update_code, NULL, NR_CPUS); 626 stop_machine_run(__ftrace_update_code, NULL, NR_CPUS);
627} 627}
628 628
629static int notrace ftraced(void *ignore) 629static int ftraced(void *ignore)
630{ 630{
631 unsigned long usecs; 631 unsigned long usecs;
632 632
@@ -733,7 +733,7 @@ struct ftrace_iterator {
733 unsigned filtered; 733 unsigned filtered;
734}; 734};
735 735
736static void notrace * 736static void *
737t_next(struct seq_file *m, void *v, loff_t *pos) 737t_next(struct seq_file *m, void *v, loff_t *pos)
738{ 738{
739 struct ftrace_iterator *iter = m->private; 739 struct ftrace_iterator *iter = m->private;
@@ -806,7 +806,7 @@ static struct seq_operations show_ftrace_seq_ops = {
806 .show = t_show, 806 .show = t_show,
807}; 807};
808 808
809static int notrace 809static int
810ftrace_avail_open(struct inode *inode, struct file *file) 810ftrace_avail_open(struct inode *inode, struct file *file)
811{ 811{
812 struct ftrace_iterator *iter; 812 struct ftrace_iterator *iter;
@@ -845,7 +845,7 @@ int ftrace_avail_release(struct inode *inode, struct file *file)
845 return 0; 845 return 0;
846} 846}
847 847
848static void notrace ftrace_filter_reset(void) 848static void ftrace_filter_reset(void)
849{ 849{
850 struct ftrace_page *pg; 850 struct ftrace_page *pg;
851 struct dyn_ftrace *rec; 851 struct dyn_ftrace *rec;
@@ -867,7 +867,7 @@ static void notrace ftrace_filter_reset(void)
867 preempt_enable(); 867 preempt_enable();
868} 868}
869 869
870static int notrace 870static int
871ftrace_filter_open(struct inode *inode, struct file *file) 871ftrace_filter_open(struct inode *inode, struct file *file)
872{ 872{
873 struct ftrace_iterator *iter; 873 struct ftrace_iterator *iter;
@@ -903,7 +903,7 @@ ftrace_filter_open(struct inode *inode, struct file *file)
903 return ret; 903 return ret;
904} 904}
905 905
906static ssize_t notrace 906static ssize_t
907ftrace_filter_read(struct file *file, char __user *ubuf, 907ftrace_filter_read(struct file *file, char __user *ubuf,
908 size_t cnt, loff_t *ppos) 908 size_t cnt, loff_t *ppos)
909{ 909{
@@ -913,7 +913,7 @@ ftrace_filter_read(struct file *file, char __user *ubuf,
913 return -EPERM; 913 return -EPERM;
914} 914}
915 915
916static loff_t notrace 916static loff_t
917ftrace_filter_lseek(struct file *file, loff_t offset, int origin) 917ftrace_filter_lseek(struct file *file, loff_t offset, int origin)
918{ 918{
919 loff_t ret; 919 loff_t ret;
@@ -933,7 +933,7 @@ enum {
933 MATCH_END_ONLY, 933 MATCH_END_ONLY,
934}; 934};
935 935
936static void notrace 936static void
937ftrace_match(unsigned char *buff, int len) 937ftrace_match(unsigned char *buff, int len)
938{ 938{
939 char str[KSYM_SYMBOL_LEN]; 939 char str[KSYM_SYMBOL_LEN];
@@ -1002,7 +1002,7 @@ ftrace_match(unsigned char *buff, int len)
1002 preempt_enable(); 1002 preempt_enable();
1003} 1003}
1004 1004
1005static ssize_t notrace 1005static ssize_t
1006ftrace_filter_write(struct file *file, const char __user *ubuf, 1006ftrace_filter_write(struct file *file, const char __user *ubuf,
1007 size_t cnt, loff_t *ppos) 1007 size_t cnt, loff_t *ppos)
1008{ 1008{
@@ -1094,7 +1094,7 @@ ftrace_filter_write(struct file *file, const char __user *ubuf,
1094 * Filters denote which functions should be enabled when tracing is enabled. 1094 * Filters denote which functions should be enabled when tracing is enabled.
1095 * If @buf is NULL and reset is set, all functions will be enabled for tracing. 1095 * If @buf is NULL and reset is set, all functions will be enabled for tracing.
1096 */ 1096 */
1097notrace void ftrace_set_filter(unsigned char *buf, int len, int reset) 1097void ftrace_set_filter(unsigned char *buf, int len, int reset)
1098{ 1098{
1099 if (unlikely(ftrace_disabled)) 1099 if (unlikely(ftrace_disabled))
1100 return; 1100 return;
@@ -1107,7 +1107,7 @@ notrace void ftrace_set_filter(unsigned char *buf, int len, int reset)
1107 mutex_unlock(&ftrace_filter_lock); 1107 mutex_unlock(&ftrace_filter_lock);
1108} 1108}
1109 1109
1110static int notrace 1110static int
1111ftrace_filter_release(struct inode *inode, struct file *file) 1111ftrace_filter_release(struct inode *inode, struct file *file)
1112{ 1112{
1113 struct seq_file *m = (struct seq_file *)file->private_data; 1113 struct seq_file *m = (struct seq_file *)file->private_data;
@@ -1242,7 +1242,7 @@ static __init int ftrace_init_debugfs(void)
1242 1242
1243fs_initcall(ftrace_init_debugfs); 1243fs_initcall(ftrace_init_debugfs);
1244 1244
1245static int __init notrace ftrace_dynamic_init(void) 1245static int __init ftrace_dynamic_init(void)
1246{ 1246{
1247 struct task_struct *p; 1247 struct task_struct *p;
1248 unsigned long addr; 1248 unsigned long addr;
@@ -1352,7 +1352,7 @@ int unregister_ftrace_function(struct ftrace_ops *ops)
1352 return ret; 1352 return ret;
1353} 1353}
1354 1354
1355notrace int 1355int
1356ftrace_enable_sysctl(struct ctl_table *table, int write, 1356ftrace_enable_sysctl(struct ctl_table *table, int write,
1357 struct file *file, void __user *buffer, size_t *lenp, 1357 struct file *file, void __user *buffer, size_t *lenp,
1358 loff_t *ppos) 1358 loff_t *ppos)