print_func helpers cleanup
authorBarret Rhoden <brho@cs.berkeley.edu>
Wed, 17 Sep 2014 19:55:52 +0000 (12:55 -0700)
committerBarret Rhoden <brho@cs.berkeley.edu>
Wed, 17 Sep 2014 20:08:50 +0000 (13:08 -0700)
The trace_printk doesn't work well with the existing helpers for the poor-mans
ftrace, but this change makes it a little easier to use.

If you want to use trace_printk, change the main print line to trace_, remove
the trailing \n, and comment out __print_hdr.

kern/src/kdebug.c

index 5ab058a..01619c4 100644 (file)
@@ -108,30 +108,31 @@ static void __print_hdr(void)
 
 void __print_func_entry(const char *func, const char *file)
 {
+       char tentabs[] = "\t\t\t\t\t\t\t\t\t\t"; // ten tabs and a \0
+       char *ourtabs = &tentabs[10 - MIN(tab_depth, 10)];
        if (!print)
                return;
        if (is_blacklisted(func))
                return;
        spin_lock_irqsave(&lock);
        __print_hdr();
-       for (int i = 0; i < tab_depth; i++)
-               printk("\t");
-       printk("%s() in %s\n", func, file);
+       printk("%s%s() in %s\n", ourtabs, func, file);
        spin_unlock_irqsave(&lock);
        tab_depth++;
 }
 
 void __print_func_exit(const char *func, const char *file)
 {
+       char tentabs[] = "\t\t\t\t\t\t\t\t\t\t"; // ten tabs and a \0
+       char *ourtabs;
        if (!print)
                return;
        if (is_blacklisted(func))
                return;
        tab_depth--;
+       ourtabs = &tentabs[10 - MIN(tab_depth, 10)];
        spin_lock_irqsave(&lock);
        __print_hdr();
-       for (int i = 0; i < tab_depth; i++)
-               printk("\t");
-       printk("---- %s()\n", func);
+       printk("%s---- %s()\n", ourtabs, func);
        spin_unlock_irqsave(&lock);
 }