xfs
[Top] [All Lists]

Re: [RFC PATCH 1/1] cleanup: use bool as return type for rwsem_is_locked

To: Joe Perches <joe@xxxxxxxxxxx>
Subject: Re: [RFC PATCH 1/1] cleanup: use bool as return type for rwsem_is_locked
From: Dave Chinner <david@xxxxxxxxxxxxx>
Date: Sun, 8 Jun 2014 09:44:11 +1000
Cc: Pranith Kumar <bobby.prani@xxxxxxxxx>, Pranith Kumar <pranith@xxxxxxxxxx>, peterz@xxxxxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx, tim.c.chen@xxxxxxxxxxxxxxx, davidlohr@xxxxxx, mingo@xxxxxxxxxx, xfs@xxxxxxxxxxx
Delivered-to: xfs@xxxxxxxxxxx
In-reply-to: <1402108770.25112.5.camel@joe-AO725>
References: <5390D7E1.7060606@xxxxxxxxxx> <5391FFFD.1060901@xxxxxxxxxx> <53920446.7060505@xxxxxxxxxx> <20140607001819.GE4453@dastard> <53926406.4020200@xxxxxxxxx> <53926DC1.4050304@xxxxxxxxx> <1402108770.25112.5.camel@joe-AO725>
User-agent: Mutt/1.5.21 (2010-09-15)
On Fri, Jun 06, 2014 at 07:39:30PM -0700, Joe Perches wrote:
> On Fri, 2014-06-06 at 21:41 -0400, Pranith Kumar wrote:
> > On 06/06/2014 08:59 PM, Pranith Kumar wrote:
> > > On 06/06/2014 08:18 PM, Dave Chinner wrote:
> > >> If you are going to change the return type to bool, then you should
> > >> also remove the manual "!!" conversions to a boolean return and let
> > >> the compiler do it in the most optimal way.
> > > Agreed, please find patch below:
> > Simplify the "!!" condition. This is much simpler. :)
> []
> > diff --git a/fs/xfs/xfs_inode.c b/fs/xfs/xfs_inode.c
> 
> > @@ -285,25 +285,25 @@ xfs_ilock_demote(
> >  }
> >  
> >  #if defined(DEBUG) || defined(XFS_WARN)
> > -int
> > +bool
> >  xfs_isilocked(
> >     xfs_inode_t             *ip,
> >     uint                    lock_flags)
> >  {
> >     if (lock_flags & (XFS_ILOCK_EXCL|XFS_ILOCK_SHARED)) {
> >             if (!(lock_flags & XFS_ILOCK_SHARED))
> > -                   return !!ip->i_lock.mr_writer;
> > +                   return (ip->i_lock.mr_writer != 0);
> 
> simpler still would be just removing the !! completely.
> I presume in no case would it make an actual difference
> in emitted code.
> 
> ie:
>                       return ip->i_lock.mr_writer;

Yup, that's exactly what I meant. Casting to a bool type does all
the work of squashing all non-zero values to 1...

Cheers,

Dave.
-- 
Dave Chinner
david@xxxxxxxxxxxxx

<Prev in Thread] Current Thread [Next in Thread>