Remove backtraces from trace_printk()
authorBarret Rhoden <brho@cs.berkeley.edu>
Wed, 27 Jul 2016 23:44:05 +0000 (19:44 -0400)
committerBarret Rhoden <brho@cs.berkeley.edu>
Fri, 29 Jul 2016 21:43:07 +0000 (17:43 -0400)
This reverts previous changes and restores trace_printk() to its
previous behavior: just printk into the trace log.

Signed-off-by: Barret Rhoden <brho@cs.berkeley.edu>
kern/drivers/dev/kprof.c
kern/include/kdebug.h
kern/include/kprof.h
kern/include/stdio.h
kern/src/printf.c

index c2b90d2..0b0733a 100644 (file)
@@ -379,7 +379,7 @@ static long kprof_write(struct chan *c, void *a, long n, int64_t unused)
                        char *uptr = user_strdup_errno(current, a, n);
 
                        if (uptr) {
-                               trace_printk(false, "%s", uptr);
+                               trace_printk("%s", uptr);
                                user_memdup_free(current, uptr);
                        } else {
                                n = -1;
@@ -481,7 +481,7 @@ static struct trace_printk_buffer *kprof_get_printk_buffer(void)
        return cpu_tpbs + core_id_early();
 }
 
-void trace_vprintk(bool btrace, const char *fmt, va_list args)
+void trace_vprintk(const char *fmt, va_list args)
 {
        struct print_buf {
                char *ptr;
@@ -499,14 +499,6 @@ void trace_vprintk(bool btrace, const char *fmt, va_list args)
                }
        }
 
-       void bt_print(void *opaque, const char *str)
-       {
-               struct print_buf *pb = (struct print_buf *) opaque;
-
-               emit_print_buf_str(pb, "\t", 1);
-               emit_print_buf_str(pb, str, -1);
-       }
-
        static const size_t bufsz = TRACE_PRINTK_BUFFER_SIZE;
        static const size_t usr_bufsz = (3 * bufsz) / 8;
        static const size_t kp_bufsz = bufsz - usr_bufsz;
@@ -529,10 +521,6 @@ void trace_vprintk(bool btrace, const char *fmt, va_list args)
 
        if (pb.ptr[-1] != '\n')
                emit_print_buf_str(&pb, "\n", 1);
-       if (btrace) {
-               emit_print_buf_str(&pb, "\tBacktrace:\n", -1);
-               gen_backtrace(bt_print, &pb);
-       }
        /* snprintf null terminates the buffer, and does not count that as part of
         * the len.  If we maxed out the buffer, let's make sure it has a \n.
         */
@@ -555,12 +543,12 @@ void trace_vprintk(bool btrace, const char *fmt, va_list args)
        atomic_set(&tpb->in_use, 0);
 }
 
-void trace_printk(bool btrace, const char *fmt, ...)
+void trace_printk(const char *fmt, ...)
 {
        va_list args;
 
        va_start(args, fmt);
-       trace_vprintk(btrace, fmt, args);
+       trace_vprintk(fmt, args);
        va_end(args);
 }
 
index e16cc7e..25ee729 100644 (file)
@@ -72,7 +72,7 @@ void set_printx(int mode);
 #define trace_printx(args...)                                          \
        do {                                                                                    \
                if (printx_on)                                                          \
-                       trace_printk(TRUE, args);                               \
+                       trace_printk(args);                             \
        } while (0)
 
 void debug_addr_proc(struct proc *p, unsigned long addr);
index 3879486..3a11509 100644 (file)
@@ -11,5 +11,5 @@
 size_t kprof_tracedata_size(void);
 size_t kprof_tracedata_read(void *data, size_t size, size_t offset);
 void kprof_tracedata_write(const char *pretty_buf, size_t len);
-void trace_vprintk(bool btrace, const char *fmt, va_list args);
-void trace_printk(bool btrace, const char *fmt, ...);
+void trace_vprintk(const char *fmt, va_list args);
+void trace_printk(const char *fmt, ...);
index 1bb7ed9..aa880e6 100644 (file)
@@ -54,7 +54,7 @@ void printipmask(void (*putch)(int, void**), void **putdat, uint8_t *ip);
 void printipv4(void (*putch)(int, void**), void **putdat, uint8_t *ip);
 
 /* #K */
-void trace_printk(bool btrace, const char *fmt, ...);
+void trace_printk(const char *fmt, ...);
 
 /* vsprintf.c (linux) */
 int vsscanf(const char *buf, const char *fmt, va_list args);
index e00edc3..ecf3560 100644 (file)
@@ -51,7 +51,7 @@ int vcprintf(const char *fmt, va_list ap)
        va_list args;
 
        va_copy(args, ap);
-       trace_vprintk(false, fmt, args);
+       trace_vprintk(fmt, args);
        va_end(args);
 
        /* this ktrap depth stuff is in case the kernel faults in a printfmt call.