All of lore.kernel.org
 help / color / mirror / Atom feed
From: David Daney <ddaney@caviumnetworks.com>
To: Linus Torvalds <torvalds@linux-foundation.org>,
	Andrew Morton <akpm@linux-foundation.org>,
	linux-arch@vger.kernel.org
Cc: Linux Kernel Mailing List <linux-kernel@vger.kernel.org>
Subject: [PATCH 0/5] Add support for GCC's __builtin_unreachable() and use it in BUG (v2.1).
Date: Fri, 04 Dec 2009 17:43:47 -0800	[thread overview]
Message-ID: <4B19BAD3.1000808@caviumnetworks.com> (raw)

Greetings Linus et al.,

 From the announcement of the first version:

     Starting with version 4.5, GCC has a new built-in function called
     __builtin_unreachable().  The function tells the compiler that
     control flow will never reach that point.  Currently we trick the
     compiler by putting in for(;;); but this has the disadvantage that
     extra code is emitted for an endless loop.  For an i386 kernel
     using __builtin_unreachable() results in an defaultconfig that is
     nearly 4000 bytes smaller.

     This patch set adds support to compiler.h creating a new macro
     usable in the kernel called unreachable().  If the compiler lacks
     __builtin_unreachable(), it just expands to for(;;).


For version 2:

     I fixed a couple of checkpatch issues, and simplified the
     unreachable() macro for the pre-GCC-4.5 case (as suggested by
     Richard Henderson).  Also several Acked-by: were added.

For this version 2.1:

     I removed patches from the set for which there were no Acked-by,
     and rebased and tested against 2.6.32.

I will reply with the 5 patches.

David Daney (5):
   Add support for GCC-4.5's __builtin_unreachable() to compiler.h (v2)
   x86: Convert BUG() to use unreachable()
   MIPS: Convert BUG() to use unreachable()
   s390: Convert BUG() to use unreachable()
   avr32: Convert BUG() to use unreachable()

  arch/avr32/include/asm/bug.h  |    2 +-
  arch/mips/include/asm/bug.h   |    4 +---
  arch/s390/include/asm/bug.h   |    2 +-
  arch/x86/include/asm/bug.h    |    4 ++--
  include/linux/compiler-gcc4.h |   14 ++++++++++++++
  include/linux/compiler.h      |    5 +++++
  6 files changed, 24 insertions(+), 7 deletions(-)

             reply	other threads:[~2009-12-05  2:07 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-12-05  1:43 David Daney [this message]
2009-12-05  1:44 ` [PATCH 1/5] Add support for GCC-4.5's __builtin_unreachable() to compiler.h (v2) David Daney
2009-12-05  1:44 ` [PATCH 2/5] x86: Convert BUG() to use unreachable() David Daney
2009-12-05  1:44 ` [PATCH 3/5] MIPS: " David Daney
2009-12-05  1:44 ` [PATCH 4/5] s390: " David Daney
2009-12-05  1:44 ` [PATCH 5/5] avr32: " David Daney

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4B19BAD3.1000808@caviumnetworks.com \
    --to=ddaney@caviumnetworks.com \
    --cc=akpm@linux-foundation.org \
    --cc=linux-arch@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=torvalds@linux-foundation.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.