lkml.org 
[lkml]   [2011]   [Jan]   [28]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 0/5] use BUG_ON correctly, v3
    Date
    Most of BUG_ON() implementations use unlikely() internally for better
    branch prediction results. The following method to use BUG_ON() with
    an explicit unlikely() doesn't make things better and is unwelcome:
    BUG_ON(unlikely(condition));
    Source code should use BUG_ON() just with condition code.

    For arch implementation of BUG_ON(), there are feed backs for v2 patch
    set from MIPS and PowerPC developers than neither explicit no implicit
    unlikely() does help anything.

    Therefore using unlikely() explicit with BUG_ON() is always a bug. This
    patch set removes all incorrect BUG_ON() usage.

    The difference between v3 and v2 patch set is 2 patches are removed from
    the patch set (since the modification is gratuitous):
    (1) [PATCH 1/7] MIPS: add unlikely() to BUG_ON()
    (2) [PATCH 2/7] PowerPC: add unlikely() to BUG_ON()

    Signed-off-by: Coly Li <bosong.ly@taobao.com>
    Cc: Greg KH <gregkh@suse.de>
    Cc: Yong Zhang <yong.zhang0@gmail.com>
    Cc: Wang Cong <xiyou.wangcong@gmail.com>
    ---
    drivers/dma/iop-adma.c | 6 +++---
    1 files changed, 3 insertions(+), 3 deletions(-)

    diff --git a/drivers/dma/iop-adma.c b/drivers/dma/iop-adma.c
    index c6b01f5..e03f811 100644
    --- a/drivers/dma/iop-adma.c
    +++ b/drivers/dma/iop-adma.c
    @@ -619,7 +619,7 @@ iop_adma_prep_dma_memcpy(struct dma_chan *chan, dma_addr_t dma_dest,

    if (unlikely(!len))
    return NULL;
    - BUG_ON(unlikely(len > IOP_ADMA_MAX_BYTE_COUNT));
    + BUG_ON(len > IOP_ADMA_MAX_BYTE_COUNT);

    dev_dbg(iop_chan->device->common.dev, "%s len: %u\n",
    __func__, len);
    @@ -652,7 +652,7 @@ iop_adma_prep_dma_memset(struct dma_chan *chan, dma_addr_t dma_dest,

    if (unlikely(!len))
    return NULL;
    - BUG_ON(unlikely(len > IOP_ADMA_MAX_BYTE_COUNT));
    + BUG_ON(len > IOP_ADMA_MAX_BYTE_COUNT);

    dev_dbg(iop_chan->device->common.dev, "%s len: %u\n",
    __func__, len);
    @@ -686,7 +686,7 @@ iop_adma_prep_dma_xor(struct dma_chan *chan, dma_addr_t dma_dest,

    if (unlikely(!len))
    return NULL;
    - BUG_ON(unlikely(len > IOP_ADMA_XOR_MAX_BYTE_COUNT));
    + BUG_ON(len > IOP_ADMA_XOR_MAX_BYTE_COUNT);

    dev_dbg(iop_chan->device->common.dev,
    "%s src_cnt: %d len: %u flags: %lx\n",
    --
    1.7.3.4


    \
     
     \ /
      Last update: 2011-01-28 18:41    [W:2.904 / U:0.248 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site