Re: [NILFS users] [PATCH] nilfs2: fix hang problem afterbio_alloc() failed

From: Ryusuke Konishi
Date: Sun Jun 21 2009 - 08:34:30 EST


Hi Andi,
On Sun, 21 Jun 2009 13:08:43 +0200, Andi Kleen <andi@xxxxxxxxxxxxxx> wrote:
> Ryusuke Konishi <konishi.ryusuke@xxxxxxxxxxxxx> writes:
> >
> > diff --git a/fs/nilfs2/segment.c b/fs/nilfs2/segment.c
> > index 22c7f65..e8f188b 100644
> > --- a/fs/nilfs2/segment.c
> > +++ b/fs/nilfs2/segment.c
> > @@ -1846,26 +1846,13 @@ static int nilfs_segctor_write(struct nilfs_sc_info *sci,
> > err = nilfs_segbuf_write(segbuf, &wi);
> >
> > res = nilfs_segbuf_wait(segbuf, &wi);
> > - err = unlikely(err) ? : res;
> > + err = unlikely(err) ? err : res;
>
> It's very dubious gcc does anything with unlikely here anyways.
> They typically only work directly in conditions being tested.

I got it. I'll rewrite the first bugfix so that it just removes the
unlikely directive.

- err = unlikely(err) ? : res;
+ err = err ? : res;


> > if (unlikely(err))
> > return err;
>
> Also gcc generally considers conditions to blocks that
> return unlikely, so it's actually superfluous.

Thanks, I didn't know this. I'll take in this, too.

> -Andi
> --
> ak@xxxxxxxxxxxxxxx -- Speaking for myself only.

Regards,
Ryusuke Konishi
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/