diff options
| author | Ingo Molnar <mingo@elte.hu> | 2010-08-31 03:45:21 -0400 | 
|---|---|---|
| committer | Ingo Molnar <mingo@elte.hu> | 2010-08-31 03:45:46 -0400 | 
| commit | daab7fc734a53fdeaf844b7c03053118ad1769da (patch) | |
| tree | 575deb3cdcc6dda562acaed6f7c29bc81ae01cf2 /kernel/trace/trace_selftest.c | |
| parent | 774ea0bcb27f57b6fd521b3b6c43237782fed4b9 (diff) | |
| parent | 2bfc96a127bc1cc94d26bfaa40159966064f9c8c (diff) | |
Merge commit 'v2.6.36-rc3' into x86/memblock
Conflicts:
	arch/x86/kernel/trampoline.c
	mm/memblock.c
Merge reason: Resolve the conflicts, update to latest upstream.
Signed-off-by: Ingo Molnar <mingo@elte.hu>
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 | |||
