Add unlikely to default BUG_ON(x) in !CONFIG_BUG. It makes
the define consistent with BUG_ON(x) in CONFIG_BUG.
Signed-off-by: Denis Efremov <[email protected]>
Cc: Arnd Bergmann <[email protected]>
Cc: <[email protected]>
---
include/asm-generic/bug.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/include/asm-generic/bug.h b/include/asm-generic/bug.h
index aa6c093d9ce9..7357a3c942a0 100644
--- a/include/asm-generic/bug.h
+++ b/include/asm-generic/bug.h
@@ -185,7 +185,7 @@ void __warn(const char *file, int line, void *caller, unsigned taint,
#endif
#ifndef HAVE_ARCH_BUG_ON
-#define BUG_ON(condition) do { if (condition) BUG(); } while (0)
+#define BUG_ON(condition) do { if (unlikely(condition)) BUG(); } while (0)
#endif
#ifndef HAVE_ARCH_WARN_ON
--
2.21.0
Maybe it will be better to move this define out of ifdef, i.e.:
#ifdef CONFIG_BUG
...
-#define BUG_ON()...
...
#else
...
-#define BUG_ON()...
...
#endif
+#define BUG_ON()...
I can prepare a patch if you think it worth it.
Thanks,
Denis
On 29.08.2019 00:09, Denis Efremov wrote:
> Add unlikely to default BUG_ON(x) in !CONFIG_BUG. It makes
> the define consistent with BUG_ON(x) in CONFIG_BUG.
>
> Signed-off-by: Denis Efremov <[email protected]>
> Cc: Arnd Bergmann <[email protected]>
> Cc: <[email protected]>
> ---
> include/asm-generic/bug.h | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/include/asm-generic/bug.h b/include/asm-generic/bug.h
> index aa6c093d9ce9..7357a3c942a0 100644
> --- a/include/asm-generic/bug.h
> +++ b/include/asm-generic/bug.h
> @@ -185,7 +185,7 @@ void __warn(const char *file, int line, void *caller, unsigned taint,
> #endif
>
> #ifndef HAVE_ARCH_BUG_ON
> -#define BUG_ON(condition) do { if (condition) BUG(); } while (0)
> +#define BUG_ON(condition) do { if (unlikely(condition)) BUG(); } while (0)
> #endif
>
> #ifndef HAVE_ARCH_WARN_ON
>
On Wed, Aug 28, 2019 at 11:09 PM Denis Efremov <[email protected]> wrote:
>
> Add unlikely to default BUG_ON(x) in !CONFIG_BUG. It makes
> the define consistent with BUG_ON(x) in CONFIG_BUG.
>
> Signed-off-by: Denis Efremov <[email protected]>
> Cc: Arnd Bergmann <[email protected]>
> Cc: <[email protected]>
This makes sense, I've applied it to the asm-generic tree for now.
Two concerns though:
- adding unlikely() can cause new (usually false-postive) compile time
warnings to show up in random configurations, so we'll have to see what
the build bots think
- Kees Cook has recently sent a series for asm/bug.h that was merged by
Andrew Morton. If there are is a conflict with your patch, it may be better
to merge both through the same tree, either linux-mm or asm-generic.
Arnd
On Fri, Aug 30, 2019 at 10:08:49PM +0200, Arnd Bergmann wrote:
> On Wed, Aug 28, 2019 at 11:09 PM Denis Efremov <[email protected]> wrote:
> >
> > Add unlikely to default BUG_ON(x) in !CONFIG_BUG. It makes
> > the define consistent with BUG_ON(x) in CONFIG_BUG.
> >
> > Signed-off-by: Denis Efremov <[email protected]>
> > Cc: Arnd Bergmann <[email protected]>
> > Cc: <[email protected]>
>
> This makes sense, I've applied it to the asm-generic tree for now.
>
> Two concerns though:
>
> - adding unlikely() can cause new (usually false-postive) compile time
> warnings to show up in random configurations, so we'll have to see what
> the build bots think
>
> - Kees Cook has recently sent a series for asm/bug.h that was merged by
> Andrew Morton. If there are is a conflict with your patch, it may be better
> to merge both through the same tree, either linux-mm or asm-generic.
FWIW, this patch looks sensible to me. :)
Reviewed-by: Kees Cook <[email protected]>
--
Kees Cook