From: David Daney <ddaney.cavm@gmail.com>
To: Andrew Morton <akpm@linux-foundation.org>
Cc: ralf@linux-mips.org, linux-kernel@vger.kernel.org,
linux-arch@vger.kernel.org,
Linus Torvalds <torvalds@linux-foundation.org>,
David Rientjes <rientjes@google.com>, DM <dm.n9107@gmail.com>,
David Howells <dhowells@redhat.com>,
David Daney <david.daney@cavium.com>
Subject: [PATCH v3 0/2] Stop some of the abuse of BUG() where compile time checks should be used.
Date: Wed, 23 Nov 2011 15:46:55 -0800 [thread overview]
Message-ID: <1322092017-21471-1-git-send-email-ddaney.cavm@gmail.com> (raw)
From: David Daney <david.daney@cavium.com>
For v3:
No code changes.
Fix comment text in kernel.h to correctly reflect the name
BUILD_BUG(). Updated patch chanegelogs with slightly better
descriptions and some Acked-by: headers.
Andrew, since you have version 2 in you tree currently, can you
replace those patches with this version instead?
Thanks,
David Daney
From v2:
As suggested by 'DM', call the macro BUILD_BUG() instead of
BUILD_BUG_ON_USED(). Linus seemed satisfied with this, so if it
still looks good, can we put it in some linux-next tree (Perhaps
Andrew Morton's) to cook for a while?
The second patch now covers linux/huge_mm.h too.
From v1:
After some, perhaps justified, reluctance to merge dummy
symbol definitions containing BUG() into header files, I propose
these patches instead.
We define a new compile time assertion BUILD_BUG_ON_USED() that can
be used in places were we expect the compiler's dead code
elimination to get rid of code. This happens mostly in code
dealing with huge pages, but in other places as well.
The first patch adds BUILD_BUG_ON_USED(), the second gets rid of
one of the main abusers of BUG().
David Daney (2):
kernel.h: Add BUILD_BUG() macro.
hugetlb: Replace BUG() with BUILD_BUG() for dummy definitions.
include/linux/compiler-gcc4.h | 1 +
include/linux/compiler.h | 4 +++-
include/linux/huge_mm.h | 8 ++++----
include/linux/hugetlb.h | 14 +++++++-------
include/linux/kernel.h | 16 ++++++++++++++++
5 files changed, 31 insertions(+), 12 deletions(-)
--
1.7.2.3
next reply other threads:[~2011-11-23 23:47 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-11-23 23:46 David Daney [this message]
2011-11-23 23:46 ` [PATCH v3 1/2] kernel.h: Add BUILD_BUG() macro David Daney
2011-11-23 23:46 ` David Daney
2012-01-17 5:52 ` [PATCH] mips: remove custom BUILD_BUG() Eric Dumazet
2012-01-17 8:28 ` Ralf Baechle
2012-01-17 8:28 ` Ralf Baechle
2012-01-17 8:34 ` Eric Dumazet
2011-11-23 23:46 ` [PATCH v3 2/2] hugetlb: Replace BUG() with BUILD_BUG() for dummy definitions David Daney
2011-11-23 23:57 ` [PATCH v3 0/2] Stop some of the abuse of BUG() where compile time checks should be used Linus Torvalds
2011-11-24 0:37 ` David Daney
2011-11-24 10:24 ` David Howells
2011-11-24 18:31 ` Linus Torvalds
2011-11-28 17:03 ` 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=1322092017-21471-1-git-send-email-ddaney.cavm@gmail.com \
--to=ddaney.cavm@gmail.com \
--cc=akpm@linux-foundation.org \
--cc=david.daney@cavium.com \
--cc=dhowells@redhat.com \
--cc=dm.n9107@gmail.com \
--cc=linux-arch@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=ralf@linux-mips.org \
--cc=rientjes@google.com \
--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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).