Re: [PATCH 14/14] xfs: use atomic_dec_not_zero()

From: Fabian Frederick
Date: Tue Jan 31 2017 - 00:18:46 EST




> On 31 January 2017 at 01:30 "Darrick J. Wong" <darrick.wong@xxxxxxxxxx> wrote:
>
>
> On Mon, Jan 30, 2017 at 07:48:44PM +0100, Fabian Frederick wrote:
> > instead of atomic_add_unless(value, -1, 0)
> >
> > Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx>
> > ---
> >Â fs/xfs/xfs_buf.c | 2 +-
> >Â 1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/fs/xfs/xfs_buf.c b/fs/xfs/xfs_buf.c
> > index ac3b4db..51b2167 100644
> > --- a/fs/xfs/xfs_buf.c
> > +++ b/fs/xfs/xfs_buf.c
> > @@ -1684,7 +1684,7 @@ xfs_buftarg_isolate(
> >Â Â Â * zero. If the value is already zero, we need to reclaim the
> >Â Â Â * buffer, otherwise it gets another trip through the LRU.
> >Â Â Â */
> > -Â Âif (!atomic_add_unless(&bp->b_lru_ref, -1, 0)) {
> > +Â Âif (!atomic_dec_not_zero(&bp->b_lru_ref)) {
>
> Hard to tell if this is correct, since there's no atomic_dec_not_zero
> defined in any of my kernel trees' include/ headers and I haven't seen a
> patch adding such a symbol appear on this list. Did you hoist the
> lib/fault-inject.c definition or something?
>
> --D
Hi Darrick,

  Exactly. See patch 1 from
https://marc.info/?l=linux-kernel&m=148580166032209&w=2
at https://marc.info/?l=linux-kernel&m=148580166032208&w=2

Regards,
Fabian
>
> >Â Â Â Â Â Â Âspin_unlock(&bp->b_lock);
> >Â Â Â Â Â Â Âreturn LRU_ROTATE;
> >Â Â Â}
> > --
> > 2.9.3
> >
> > --
> > To unsubscribe from this list: send the line "unsubscribe linux-xfs" in
> > the body of a message to majordomo@xxxxxxxxxxxxxxx
> > More majordomo info at http://vger.kernel.org/majordomo-info.html