Revision bfeda41d06d85ad9d52f2413cfc2b77be5022f75 authored by Omar Sandoval on 07 February 2017, 23:33:20 UTC, committed by Ingo Molnar on 08 February 2017, 07:21:31 UTC
Since KERN_CONT became meaningful again, lockdep stack traces have had
annoying extra newlines, like this:

[    5.561122] -> #1 (B){+.+...}:
[    5.561528]
[    5.561532] [<ffffffff810d8873>] lock_acquire+0xc3/0x210
[    5.562178]
[    5.562181] [<ffffffff816f6414>] mutex_lock_nested+0x74/0x6d0
[    5.562861]
[    5.562880] [<ffffffffa01aa3c3>] init_btrfs_fs+0x21/0x196 [btrfs]
[    5.563717]
[    5.563721] [<ffffffff81000472>] do_one_initcall+0x52/0x1b0
[    5.564554]
[    5.564559] [<ffffffff811a3af6>] do_init_module+0x5f/0x209
[    5.565357]
[    5.565361] [<ffffffff81122f4d>] load_module+0x218d/0x2b80
[    5.566020]
[    5.566021] [<ffffffff81123beb>] SyS_finit_module+0xeb/0x120
[    5.566694]
[    5.566696] [<ffffffff816fd241>] entry_SYSCALL_64_fastpath+0x1f/0xc2

That's happening because each printk() call now gets printed on its own
line, and we do a separate call to print the spaces before the symbol.
Fix it by doing the printk() directly instead of using the
print_ip_sym() helper.

Additionally, the symbol address isn't very helpful, so let's get rid of
that, too. The final result looks like this:

[    5.194518] -> #1 (B){+.+...}:
[    5.195002]        lock_acquire+0xc3/0x210
[    5.195439]        mutex_lock_nested+0x74/0x6d0
[    5.196491]        do_one_initcall+0x52/0x1b0
[    5.196939]        do_init_module+0x5f/0x209
[    5.197355]        load_module+0x218d/0x2b80
[    5.197792]        SyS_finit_module+0xeb/0x120
[    5.198251]        entry_SYSCALL_64_fastpath+0x1f/0xc2

Suggested-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Omar Sandoval <osandov@fb.com>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: kernel-team@fb.com
Fixes: 4bcc595ccd80 ("printk: reinstate KERN_CONT for printing continuation lines")
Link: http://lkml.kernel.org/r/43b4e114724b2bdb0308fa86cb33aa07d3d67fad.1486510315.git.osandov@fb.com
Signed-off-by: Ingo Molnar <mingo@kernel.org>
1 parent 926af62
Raw File
Kconfig
menu "CPU Idle"

config CPU_IDLE
	bool "CPU idle PM support"
	default y if ACPI || PPC_PSERIES
	select CPU_IDLE_GOV_LADDER if (!NO_HZ && !NO_HZ_IDLE)
	select CPU_IDLE_GOV_MENU if (NO_HZ || NO_HZ_IDLE)
	help
	  CPU idle is a generic framework for supporting software-controlled
	  idle processor power management.  It includes modular cross-platform
	  governors that can be swapped during runtime.

	  If you're using an ACPI-enabled platform, you should say Y here.

if CPU_IDLE

config CPU_IDLE_MULTIPLE_DRIVERS
        bool

config CPU_IDLE_GOV_LADDER
	bool "Ladder governor (for periodic timer tick)"

config CPU_IDLE_GOV_MENU
	bool "Menu governor (for tickless system)"

config DT_IDLE_STATES
	bool

menu "ARM CPU Idle Drivers"
depends on ARM || ARM64
source "drivers/cpuidle/Kconfig.arm"
endmenu

menu "MIPS CPU Idle Drivers"
depends on MIPS
source "drivers/cpuidle/Kconfig.mips"
endmenu

menu "POWERPC CPU Idle Drivers"
depends on PPC
source "drivers/cpuidle/Kconfig.powerpc"
endmenu

endif

config ARCH_NEEDS_CPU_IDLE_COUPLED
	def_bool n
endmenu
back to top