All of lore.kernel.org
 help / color / mirror / Atom feed
From: Daniel Walker <dwalker@fifo99.com>
To: Cyrill Gorcunov <gorcunov@gmail.com>
Cc: Ingo Molnar <mingo@elte.hu>, Julia Lawall <julia@diku.dk>,
	linux-kernel@vger.kernel.org
Subject: Re: [PATCH] x86: apic: convert BUG() to BUG_ON()
Date: Sat, 12 Sep 2009 11:20:41 -0700	[thread overview]
Message-ID: <1252779641.28368.81.camel@desktop> (raw)
In-Reply-To: <20090912180527.GA4893@lenovo>

On Sat, 2009-09-12 at 22:05 +0400, Cyrill Gorcunov wrote:

> 
> Hi Daniel,
> 
> I believe having a changelog like
> 
> 	Use short form of "if() BUG()" sequence
> 
> would be better perhaps? Since "Coccinelle's BUG_ON semantic patch"
> somehow doesn't describe why it's done.
> 
> Don't get me wrong please. It's trivial and seen from patch
> itself _why_ it's done though changelog doesn't say the same.
> 
> Perhaps I'm too nagging :) Feel free to ignore me.

Not nagging, I wondered myself what the benefit was when I ran
Coccinelle.

For one it condenses duplicate code (i.e. the if()). If the BUG_ON()
macro gets updated with something new, all the users get the updates
automatically. The other thing is your re-using potentially more
advanced code that's inside the macro. In this case it's fairly trivial,

#define BUG_ON(condition) do { if (unlikely(condition)) BUG(); } while(0)

So we're getting the benefit on the new "unlikely" in the apic code.
unlikely/likely calls will usually allow the compiler to create smaller,
and or, more optimized code. 

So there are at least two benefits, and I don't see any downside to it.

Daniel


  reply	other threads:[~2009-09-12 18:20 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-09-12 17:40 [PATCH] x86: apic: convert BUG() to BUG_ON() Daniel Walker
2009-09-12 18:05 ` Cyrill Gorcunov
2009-09-12 18:20   ` Daniel Walker [this message]
2009-09-12 18:49     ` Cyrill Gorcunov
2009-09-12 22:51     ` Maciej W. Rozycki
2009-09-14  6:43       ` Cyrill Gorcunov
2009-09-18 11:48 ` [tip:x86/urgent] x86: apic: Convert " tip-bot for Daniel Walker

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=1252779641.28368.81.camel@desktop \
    --to=dwalker@fifo99.com \
    --cc=gorcunov@gmail.com \
    --cc=julia@diku.dk \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@elte.hu \
    /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.