diff options
Diffstat (limited to 'kernel/trace/trace_selftest.c')
| -rw-r--r-- | kernel/trace/trace_selftest.c | 87 |
1 files changed, 0 insertions, 87 deletions
diff --git a/kernel/trace/trace_selftest.c b/kernel/trace/trace_selftest.c index 250e7f9bd2f0..155a415b3209 100644 --- a/kernel/trace/trace_selftest.c +++ b/kernel/trace/trace_selftest.c | |||
| @@ -13,11 +13,9 @@ static inline int trace_valid_entry(struct trace_entry *entry) | |||
| 13 | case TRACE_WAKE: | 13 | case TRACE_WAKE: |
| 14 | case TRACE_STACK: | 14 | case TRACE_STACK: |
| 15 | case TRACE_PRINT: | 15 | case TRACE_PRINT: |
| 16 | case TRACE_SPECIAL: | ||
| 17 | case TRACE_BRANCH: | 16 | case TRACE_BRANCH: |
| 18 | case TRACE_GRAPH_ENT: | 17 | case TRACE_GRAPH_ENT: |
| 19 | case TRACE_GRAPH_RET: | 18 | case TRACE_GRAPH_RET: |
| 20 | case TRACE_KSYM: | ||
| 21 | return 1; | 19 | return 1; |
| 22 | } | 20 | } |
| 23 | return 0; | 21 | return 0; |
| @@ -691,38 +689,6 @@ trace_selftest_startup_sched_switch(struct tracer *trace, struct trace_array *tr | |||
| 691 | } | 689 | } |
| 692 | #endif /* CONFIG_CONTEXT_SWITCH_TRACER */ | 690 | #endif /* CONFIG_CONTEXT_SWITCH_TRACER */ |
| 693 | 691 | ||
| 694 | #ifdef CONFIG_SYSPROF_TRACER | ||
| 695 | int | ||
| 696 | trace_selftest_startup_sysprof(struct tracer *trace, struct trace_array *tr) | ||
| 697 | { | ||
| 698 | unsigned long count; | ||
| 699 | int ret; | ||
| 700 | |||
| 701 | /* start the tracing */ | ||
| 702 | ret = tracer_init(trace, tr); | ||
| 703 | if (ret) { | ||
| 704 | warn_failed_init_tracer(trace, ret); | ||
| 705 | return ret; | ||
| 706 | } | ||
| 707 | |||
| 708 | /* Sleep for a 1/10 of a second */ | ||
| 709 | msleep(100); | ||
| 710 | /* stop the tracing. */ | ||
| 711 | tracing_stop(); | ||
| 712 | /* check the trace buffer */ | ||
| 713 | ret = trace_test_buffer(tr, &count); | ||
| 714 | trace->reset(tr); | ||
| 715 | tracing_start(); | ||
| 716 | |||
| 717 | if (!ret && !count) { | ||
| 718 | printk(KERN_CONT ".. no entries found .."); | ||
| 719 | ret = -1; | ||
| 720 | } | ||
| 721 | |||
| 722 | return ret; | ||
| 723 | } | ||
| 724 | #endif /* CONFIG_SYSPROF_TRACER */ | ||
| 725 | |||
| 726 | #ifdef CONFIG_BRANCH_TRACER | 692 | #ifdef CONFIG_BRANCH_TRACER |
| 727 | int | 693 | int |
| 728 | trace_selftest_startup_branch(struct tracer *trace, struct trace_array *tr) | 694 | trace_selftest_startup_branch(struct tracer *trace, struct trace_array *tr) |
| @@ -755,56 +721,3 @@ trace_selftest_startup_branch(struct tracer *trace, struct trace_array *tr) | |||
| 755 | } | 721 | } |
| 756 | #endif /* CONFIG_BRANCH_TRACER */ | 722 | #endif /* CONFIG_BRANCH_TRACER */ |
| 757 | 723 | ||
| 758 | #ifdef CONFIG_KSYM_TRACER | ||
| 759 | static int ksym_selftest_dummy; | ||
| 760 | |||
| 761 | int | ||
| 762 | trace_selftest_startup_ksym(struct tracer *trace, struct trace_array *tr) | ||
| 763 | { | ||
| 764 | unsigned long count; | ||
| 765 | int ret; | ||
| 766 | |||
| 767 | /* start the tracing */ | ||
| 768 | ret = tracer_init(trace, tr); | ||
| 769 | if (ret) { | ||
| 770 | warn_failed_init_tracer(trace, ret); | ||
| 771 | return ret; | ||
| 772 | } | ||
| 773 | |||
| 774 | ksym_selftest_dummy = 0; | ||
| 775 | /* Register the read-write tracing request */ | ||
| 776 | |||
| 777 | ret = process_new_ksym_entry("ksym_selftest_dummy", | ||
| 778 | HW_BREAKPOINT_R | HW_BREAKPOINT_W, | ||
| 779 | (unsigned long)(&ksym_selftest_dummy)); | ||
| 780 | |||
| 781 | if (ret < 0) { | ||
| 782 | printk(KERN_CONT "ksym_trace read-write startup test failed\n"); | ||
| 783 | goto ret_path; | ||
| 784 | } | ||
| 785 | /* Perform a read and a write operation over the dummy variable to | ||
| 786 | * trigger the tracer | ||
| 787 | */ | ||
| 788 | if (ksym_selftest_dummy == 0) | ||
| 789 | ksym_selftest_dummy++; | ||
| 790 | |||
| 791 | /* stop the tracing. */ | ||
| 792 | tracing_stop(); | ||
| 793 | /* check the trace buffer */ | ||
| 794 | ret = trace_test_buffer(tr, &count); | ||
| 795 | trace->reset(tr); | ||
| 796 | tracing_start(); | ||
| 797 | |||
| 798 | /* read & write operations - one each is performed on the dummy variable | ||
| 799 | * triggering two entries in the trace buffer | ||
| 800 | */ | ||
| 801 | if (!ret && count != 2) { | ||
| 802 | printk(KERN_CONT "Ksym tracer startup test failed"); | ||
| 803 | ret = -1; | ||
| 804 | } | ||
| 805 | |||
| 806 | ret_path: | ||
| 807 | return ret; | ||
| 808 | } | ||
| 809 | #endif /* CONFIG_KSYM_TRACER */ | ||
| 810 | |||
