diff options
Diffstat (limited to 'kernel/trace/trace_output.c')
-rw-r--r-- | kernel/trace/trace_output.c | 70 |
1 files changed, 12 insertions, 58 deletions
diff --git a/kernel/trace/trace_output.c b/kernel/trace/trace_output.c index 4ab71201862e..ef8fd661b217 100644 --- a/kernel/trace/trace_output.c +++ b/kernel/trace/trace_output.c | |||
@@ -53,8 +53,7 @@ trace_seq_printf(struct trace_seq *s, const char *fmt, ...) | |||
53 | return len; | 53 | return len; |
54 | } | 54 | } |
55 | 55 | ||
56 | static int | 56 | int trace_seq_bprintf(struct trace_seq *s, const char *fmt, const u32 *binary) |
57 | trace_seq_bprintf(struct trace_seq *s, const char *fmt, const u32 *binary) | ||
58 | { | 57 | { |
59 | int len = (PAGE_SIZE - 1) - s->len; | 58 | int len = (PAGE_SIZE - 1) - s->len; |
60 | int ret; | 59 | int ret; |
@@ -834,54 +833,12 @@ static struct trace_event trace_user_stack_event = { | |||
834 | }; | 833 | }; |
835 | 834 | ||
836 | /* TRACE_PRINT */ | 835 | /* TRACE_PRINT */ |
837 | static enum print_line_t trace_print_print(struct trace_iterator *iter, | ||
838 | int flags) | ||
839 | { | ||
840 | struct print_entry *field; | ||
841 | struct trace_seq *s = &iter->seq; | ||
842 | |||
843 | trace_assign_type(field, iter->ent); | ||
844 | |||
845 | if (!seq_print_ip_sym(s, field->ip, flags)) | ||
846 | goto partial; | ||
847 | |||
848 | if (!trace_seq_printf(s, ": %s", field->buf)) | ||
849 | goto partial; | ||
850 | |||
851 | return TRACE_TYPE_HANDLED; | ||
852 | |||
853 | partial: | ||
854 | return TRACE_TYPE_PARTIAL_LINE; | ||
855 | } | ||
856 | |||
857 | static enum print_line_t trace_print_raw(struct trace_iterator *iter, int flags) | ||
858 | { | ||
859 | struct print_entry *field; | ||
860 | |||
861 | trace_assign_type(field, iter->ent); | ||
862 | |||
863 | if (!trace_seq_printf(&iter->seq, "# %lx %s", field->ip, field->buf)) | ||
864 | goto partial; | ||
865 | |||
866 | return TRACE_TYPE_HANDLED; | ||
867 | |||
868 | partial: | ||
869 | return TRACE_TYPE_PARTIAL_LINE; | ||
870 | } | ||
871 | |||
872 | static struct trace_event trace_print_event = { | ||
873 | .type = TRACE_PRINT, | ||
874 | .trace = trace_print_print, | ||
875 | .raw = trace_print_raw, | ||
876 | }; | ||
877 | |||
878 | /* TRACE_BPRINTK */ | ||
879 | static enum print_line_t | 836 | static enum print_line_t |
880 | trace_bprintk_print(struct trace_iterator *iter, int flags) | 837 | trace_print_print(struct trace_iterator *iter, int flags) |
881 | { | 838 | { |
882 | struct trace_entry *entry = iter->ent; | 839 | struct trace_entry *entry = iter->ent; |
883 | struct trace_seq *s = &iter->seq; | 840 | struct trace_seq *s = &iter->seq; |
884 | struct bprintk_entry *field; | 841 | struct print_entry *field; |
885 | 842 | ||
886 | trace_assign_type(field, entry); | 843 | trace_assign_type(field, entry); |
887 | 844 | ||
@@ -900,14 +857,13 @@ trace_bprintk_print(struct trace_iterator *iter, int flags) | |||
900 | return TRACE_TYPE_PARTIAL_LINE; | 857 | return TRACE_TYPE_PARTIAL_LINE; |
901 | } | 858 | } |
902 | 859 | ||
903 | static enum print_line_t | 860 | |
904 | trace_bprintk_raw(struct trace_iterator *iter, int flags) | 861 | static enum print_line_t trace_print_raw(struct trace_iterator *iter, int flags) |
905 | { | 862 | { |
906 | struct trace_entry *entry = iter->ent; | 863 | struct print_entry *field; |
907 | struct trace_seq *s = &iter->seq; | 864 | struct trace_seq *s = &iter->seq; |
908 | struct bprintk_entry *field; | ||
909 | 865 | ||
910 | trace_assign_type(field, entry); | 866 | trace_assign_type(field, iter->ent); |
911 | 867 | ||
912 | if (!trace_seq_printf(s, ": %lx : ", field->ip)) | 868 | if (!trace_seq_printf(s, ": %lx : ", field->ip)) |
913 | goto partial; | 869 | goto partial; |
@@ -921,12 +877,11 @@ trace_bprintk_raw(struct trace_iterator *iter, int flags) | |||
921 | return TRACE_TYPE_PARTIAL_LINE; | 877 | return TRACE_TYPE_PARTIAL_LINE; |
922 | } | 878 | } |
923 | 879 | ||
924 | static struct trace_event trace_bprintk_event = { | 880 | |
925 | .type = TRACE_BPRINTK, | 881 | static struct trace_event trace_print_event = { |
926 | .trace = trace_bprintk_print, | 882 | .type = TRACE_PRINT, |
927 | .raw = trace_bprintk_raw, | 883 | .trace = trace_print_print, |
928 | .hex = trace_nop_print, | 884 | .raw = trace_print_raw, |
929 | .binary = trace_nop_print, | ||
930 | }; | 885 | }; |
931 | 886 | ||
932 | static struct trace_event *events[] __initdata = { | 887 | static struct trace_event *events[] __initdata = { |
@@ -937,7 +892,6 @@ static struct trace_event *events[] __initdata = { | |||
937 | &trace_stack_event, | 892 | &trace_stack_event, |
938 | &trace_user_stack_event, | 893 | &trace_user_stack_event, |
939 | &trace_print_event, | 894 | &trace_print_event, |
940 | &trace_bprintk_event, | ||
941 | NULL | 895 | NULL |
942 | }; | 896 | }; |
943 | 897 | ||