[patch 5/5] PowerPC: switch to generic WARN_ON / BUG_ON

!MAILaRCHIVE_VOTE_RePLACE
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
To: Arjan van de Ven <arjan@...>
Cc: <linux-kernel@...>, <akpm@...>, <heiko.carstens@...>, <olof@...>, <mingo@...>, <mpm@...>
Date: Saturday, January 5, 2008 - 11:12 pm

From: Olof Johansson <olof@lixom.net>

Not using the ppc-specific WARN_ON/BUG_ON constructs actually saves about
4K text on a ppc64_defconfig.  The main reason seems to be that prepping
the arguments to the conditional trap instructions is more work than just
doing a compare and branch.

Signed-off-by: Olof Johansson <olof@lixom.net>
Cc: <linux-arch@vger.kernel.org>
Cc: Scott Wood <scottwood@freescale.com>
Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Cc: Paul Mackerras <paulus@samba.org>, 
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
---

 include/asm-powerpc/bug.h |   37 -------------------------------------
 1 file changed, 37 deletions(-)

Index: linux-2.6.24-rc6/include/asm-powerpc/bug.h
===================================================================
--- linux-2.6.24-rc6.orig/include/asm-powerpc/bug.h
+++ linux-2.6.24-rc6/include/asm-powerpc/bug.h
@@ -54,12 +54,6 @@
 	".previous\n"
 #endif
 
-/*
- * BUG_ON() and WARN_ON() do their best to cooperate with compile-time
- * optimisations. However depending on the complexity of the condition
- * some compiler versions may not produce optimal results.
- */
-
 #define BUG() do {						\
 	__asm__ __volatile__(					\
 		"1:	twi 31,0,0\n"				\
@@ -69,20 +63,6 @@
 	for(;;) ;						\
 } while (0)
 
-#define BUG_ON(x) do {						\
-	if (__builtin_constant_p(x)) {				\
-		if (x)						\
-			BUG();					\
-	} else {						\
-		__asm__ __volatile__(				\
-		"1:	"PPC_TLNEI"	%4,0\n"			\
-		_EMIT_BUG_ENTRY					\
-		: : "i" (__FILE__), "i" (__LINE__), "i" (0),	\
-		  "i" (sizeof(struct bug_entry)),		\
-		  "r" ((__force long)(x)));			\
-	}							\
-} while (0)
-
 #define __WARN() do {						\
 	__asm__ __volatile__(					\
 		"1:	twi 31,0,0\n"				\
@@ -92,23 +72,6 @@
 		  "i" (sizeof(struct bug_entry)));		\
 } while (0)
 
-#define WARN_ON(x) ({						\
-	int __ret_warn_on = !!(x);				\
-	if (__builtin_constant_p(__ret_warn_on)) {		\
-		if (__ret_warn_on)				\
-			__WARN();				\
-	} else {						\
-		__asm__ __volatile__(				\
-		"1:	"PPC_TLNEI"	%4,0\n"			\
-		_EMIT_BUG_ENTRY					\
-		: : "i" (__FILE__), "i" (__LINE__),		\
-		  "i" (BUGFLAG_WARNING),			\
-		  "i" (sizeof(struct bug_entry)),		\
-		  "r" (__ret_warn_on));				\
-	}							\
-	unlikely(__ret_warn_on);				\
-})
-
 #endif /* __ASSEMBLY __ */
 #endif /* CONFIG_BUG */
 


-- 
If you want to reach me at my work email, use arjan@linux.intel.com
For development, discussion and tips for power savings, 
visit http://www.lesswatts.org
--
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
[patch 0/5] enhance WARN_ON series, Arjan van de Ven, (Sat Jan 5, 11:07 pm)
[PATCH] Add bug/warn marker to generic report_bug(), Olof Johansson, (Sun Jan 6, 4:22 pm)
Re: [PATCH] Add bug/warn marker to generic report_bug(), Arjan van de Ven, (Sun Jan 6, 5:38 pm)
Re: [PATCH] Add bug/warn marker to generic report_bug(), Olof Johansson, (Sun Jan 6, 9:22 pm)
Re: [PATCH] Add bug/warn marker to generic report_bug(), Arjan van de Ven, (Mon Jan 7, 12:55 am)
Re: [patch 0/5] enhance WARN_ON series, Ingo Molnar, (Sun Jan 6, 5:26 am)
[patch 4/5] bugh-remove-have_arch_bug--have_arch_warn, Arjan van de Ven, (Sat Jan 5, 11:11 pm)
[patch 5/5] PowerPC: switch to generic WARN_ON / BUG_ON, Arjan van de Ven, (Sat Jan 5, 11:12 pm)
Re: [patch 5/5] PowerPC: switch to generic WARN_ON / BUG_ON, Benjamin Herrenschmidt, (Sun Jan 6, 7:16 am)
[patch 2/5] move WARN_ON() out of line, Arjan van de Ven, (Sat Jan 5, 11:09 pm)
Re: [patch 2/5] move WARN_ON() out of line, Olof Johansson, (Sun Jan 6, 3:40 pm)
[patch 1/5] Introduce __WARN(), Arjan van de Ven, (Sat Jan 5, 11:08 pm)
Re: [patch 1/5] Introduce __WARN(), Richard Knutsson, (Sun Jan 6, 7:44 am)
Re: [patch 1/5] Introduce __WARN(), Arjan van de Ven, (Sun Jan 6, 11:42 am)
Re: [patch 1/5] Introduce __WARN(), Richard Knutsson, (Sun Jan 6, 12:09 pm)
Re: [patch 1/5] Introduce __WARN(), Arjan van de Ven, (Sun Jan 6, 1:10 pm)
Re: [patch 1/5] Introduce __WARN(), Richard Knutsson, (Sun Jan 6, 1:42 pm)