• Josh Poimboeuf's avatar
    x86/dumpstack: Print stack identifier on its own line · 79439d8e
    Josh Poimboeuf authored
    show_trace_log_lvl() prints the stack id (e.g. "<IRQ>") without a
    newline so that any stack address printed after it will appear on the
    same line.  That causes the first stack address to be vertically
    misaligned with the rest, making it visually cluttered and slightly
    confusing:
    
      Call Trace:
       <IRQ> [<ffffffff814431c3>] dump_stack+0x86/0xc3
       [<ffffffff8100828b>] perf_callchain_kernel+0x14b/0x160
       [<ffffffff811e915f>] get_perf_callchain+0x15f/0x2b0
       ...
       <EOI> [<ffffffff8189c6c3>] ? _raw_spin_unlock_irq+0x33/0x60
       [<ffffffff810e1c84>] finish_task_switch+0xb4/0x250
       [<ffffffff8106f7dc>] do_async_page_fault+0x2c/0xa0
    
    It will look worse once we start printing pt_regs registers found in the
    middle of the stack:
    
      <IRQ> RIP: 0010:[<ffffffff8189c6c3>]  [<ffffffff8189c6c3>] _raw_spin_unlock_irq+0x33/0x60
      RSP: 0018:ffff88007876f720  EFLAGS: 00000206
      RAX: ffff8800786caa40 RBX: ffff88007d5da140 RCX: 0000000000000007
      ...
    
    Improve readability by adding a newline to the stack name:
    
      Call Trace:
       <IRQ>
       [<ffffffff814431c3>] dump_stack+0x86/0xc3
       [<ffffffff8100828b>] perf_callchain_kernel+0x14b/0x160
       [<ffffffff811e915f>] get_perf_callchain+0x15f/0x2b0
       ...
       <EOI>
       [<ffffffff8189c6c3>] ? _raw_spin_unlock_irq+0x33/0x60
       [<ffffffff810e1c84>] finish_task_switch+0xb4/0x250
       [<ffffffff8106f7dc>] do_async_page_fault+0x2c/0xa0
    
    Now that "continued" lines are no longer needed, we can also remove the
    hack of using the empty string (aka KERN_CONT) and replace it with
    KERN_DEFAULT.
    Signed-off-by: default avatarJosh Poimboeuf <jpoimboe@redhat.com>
    Cc: Andy Lutomirski <luto@kernel.org>
    Cc: Borislav Petkov <bp@alien8.de>
    Cc: Brian Gerst <brgerst@gmail.com>
    Cc: Denys Vlasenko <dvlasenk@redhat.com>
    Cc: H. Peter Anvin <hpa@zytor.com>
    Cc: Linus Torvalds <torvalds@linux-foundation.org>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Cc: Thomas Gleixner <tglx@linutronix.de>
    Link: http://lkml.kernel.org/r/9bdd6dee2c74555d45500939fcc155997dc7889e.1476973742.git.jpoimboe@redhat.comSigned-off-by: default avatarIngo Molnar <mingo@kernel.org>
    79439d8e
dumpstack.c 7.75 KB