x86/debug: Implement __WARN() using UD0
authorPeter Zijlstra <peterz@infradead.org>
Thu, 2 Feb 2017 13:43:51 +0000 (14:43 +0100)
committerIngo Molnar <mingo@kernel.org>
Mon, 27 Mar 2017 08:20:28 +0000 (10:20 +0200)
commit9a93848fe787a53aec404e4e00d8f7f9bbdaebb4
tree4e3b4f0b97838278a72f47a4b4ed2825610e1969
parent1fa9d67a2f07893fc7e4a880867a6cbb81dda547
x86/debug: Implement __WARN() using UD0

By using "UD0" for WARN()s we remove the function call and its possible
__FILE__ and __LINE__ immediate arguments from the instruction stream.

Total image size will not change much, what we win in the instruction
stream we'll lose because of the __bug_table entries. Still, saves on
I$ footprint and the total image size does go down a bit.

      text    data       filename
  10702123    4530992    defconfig-build/vmlinux.orig
  10682460    4530992    defconfig-build/vmlinux.patched

(UML didn't seem to use GENERIC_BUG at all, so remove it)

Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Reviewed-by: Josh Poimboeuf <jpoimboe@redhat.com>
Cc: Arjan van de Ven <arjan@linux.intel.com>
Cc: Borislav Petkov <bp@alien8.de>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Richard Weinberger <richard.weinberger@gmail.com>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: linux-kernel@vger.kernel.org
Signed-off-by: Ingo Molnar <mingo@kernel.org>
arch/um/Kconfig.common
arch/x86/include/asm/bug.h
arch/x86/kernel/dumpstack.c
arch/x86/kernel/dumpstack_32.c
arch/x86/kernel/dumpstack_64.c
arch/x86/kernel/traps.c
arch/x86/um/Makefile
arch/x86/um/bug.c [deleted file]