From: Albert Cahalan <albert@users.sf.net>
To: linux-kernel mailing list <linux-kernel@vger.kernel.org>
Cc: bunk@fs.tum.de, arjanv@redhat.com, axboe@suse.de, torvalds@osdl.org
Subject: Re: What policy for BUG_ON()?
Date: 31 Aug 2004 11:06:22 -0400 [thread overview]
Message-ID: <1093964782.434.7054.camel@cube> (raw)
On Mon, 30 Aug 2004, Adrian Bunk wrote:
> Let me try to summarize the different options regarding BUG_ON,
> concerning whether the argument to BUG_ON might contain side effects,
> and whether it should be allowed in some "do this only if you _really_
> know what you are doing" situations to let BUG_ON do nothing.
>
> Options:
> 1. BUG_ON must not be defined to do nothing
> 1a. side effects are allowed in the argument of BUG_ON
> 1b. side effects are not allowed in the argument of BUG_ON
> 2. BUG_ON is allowed to be defined to do nothing
> 2a. side effects are allowed in the argument of BUG_ON
> 2b. side effects are not allowed in the argument of BUG_ON
It comes down to the relative importance of:
i. BUG_ON(expensive_and_unneeded_debug_test())
ii. BUG_ON(something_that_must_execute())
I think case i should get priority, since then the
removal of side effects is a nice way to eliminate
the expensive code for non-debug builds.
For case ii, it's easy enough to split out the
need-to-execute code and assign results to a
variable that can be checked later. Since it is
something that must execute, you probably need
the return value anyway.
The normal expectation for non-debug builds
would be this:
#define BUG_ON(x)
next reply other threads:[~2004-08-31 15:07 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2004-08-31 15:06 Albert Cahalan [this message]
2004-08-31 16:52 ` What policy for BUG_ON()? Linus Torvalds
2004-08-31 17:39 ` Albert Cahalan
2004-08-31 21:30 ` Kyle Moffett
2004-08-31 22:16 ` Michael Buesch
2004-08-31 23:32 ` Kyle Moffett
-- strict thread matches above, loose matches on Subject: below --
2004-08-30 20:15 Adrian Bunk
2004-08-30 20:22 ` Arjan van de Ven
2004-08-31 6:28 ` Jens Axboe
2004-08-31 11:14 ` Paulo Marques
2004-08-31 0:25 ` Linus Torvalds
2004-08-31 11:28 ` Adrian Bunk
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=1093964782.434.7054.camel@cube \
--to=albert@users.sf.net \
--cc=arjanv@redhat.com \
--cc=axboe@suse.de \
--cc=bunk@fs.tum.de \
--cc=linux-kernel@vger.kernel.org \
--cc=torvalds@osdl.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.