All of lore.kernel.org
 help / color / mirror / Atom feed
From: Aya Mahfouz <mahfouz.saif.elyazal@gmail.com>
To: lustre-devel@lists.lustre.org
Subject: [lustre-devel] [PATCH 2/4] staging: lustre: hash.c: replace IS_PO2 by is_power_of_2
Date: Sat, 17 Oct 2015 12:34:14 +0200	[thread overview]
Message-ID: <20151017103414.GC29503@waves> (raw)
In-Reply-To: <20151017054025.GA25392@kroah.com>

On Fri, Oct 16, 2015 at 10:40:25PM -0700, Greg KH wrote:
> On Sat, Oct 17, 2015 at 12:06:28AM +0200, Aya Mahfouz wrote:
> > Replaces IS_PO2 by is_power_of_2. IS_PO2 is used with several debug
> > macros. In this case, it is CDEBUG. Note that the replacement changes
> > the types involved, because the parameter of IS_PO2 is of type long long
> > and the return type is int, while the parameter of is_power_of_2 is of
> > type long and the return type is bool. This, however, has no impact,
> > because the actual argument is always of type int, and the return value
> > is always used as a boolean.
> > 
> > Signed-off-by: Aya Mahfouz <mahfouz.saif.elyazal@gmail.com>
> > ---
> >  drivers/staging/lustre/lustre/libcfs/hash.c | 4 +++-
> >  1 file changed, 3 insertions(+), 1 deletion(-)
> > 
> > diff --git a/drivers/staging/lustre/lustre/libcfs/hash.c b/drivers/staging/lustre/lustre/libcfs/hash.c
> > index 6f4c7d4..4b5e79a 100644
> > --- a/drivers/staging/lustre/lustre/libcfs/hash.c
> > +++ b/drivers/staging/lustre/lustre/libcfs/hash.c
> > @@ -109,6 +109,8 @@
> >  
> >  #include "../../include/linux/libcfs/libcfs.h"
> >  #include <linux/seq_file.h>
> > +#include <linux/log2.h>
> > +
> >  
> >  #if CFS_HASH_DEBUG_LEVEL >= CFS_HASH_DEBUG_1
> >  static unsigned int warn_on_depth = 8;
> > @@ -1785,7 +1787,7 @@ cfs_hash_rehash_cancel_locked(struct cfs_hash *hs)
> >  	for (i = 2; cfs_hash_is_rehashing(hs); i++) {
> >  		cfs_hash_unlock(hs, 1);
> >  		/* raise console warning while waiting too long */
> > -		CDEBUG(IS_PO2(i >> 3) ? D_WARNING : D_INFO,
> > +		CDEBUG(is_power_of_2(i >> 3) ? D_WARNING : D_INFO,
> 
> is_power_of_2() works differently than IS_PO2(), are you _sure_ that the
> value here can not be 0?  If so, this will do something different :(
>

This is actually an interesting point to raise. __is_po2 the inline
function used by IS_PO2 should actually check if the number is greater
than 0. The current implementation of __is_po2 would allow the 
comparison of 0 with 2^(size of unsigned long long)-1. Is this correct?
Or is this something intentional?

> thanks,
> 
> greg k-h

-- 
Kind Regards,
Aya Saif El-yazal Mahfouz

  reply	other threads:[~2015-10-17 10:34 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-10-16 22:03 [lustre-devel] [PATCH 0/4] Remove uses and definition of IS_PO2 Aya Mahfouz
2015-10-16 22:05 ` [lustre-devel] [PATCH 1/4] staging: lustre: ldlm_extent.c: replace IS_PO2 by is_power_of_2 Aya Mahfouz
2015-10-17  5:41   ` Greg KH
2015-10-17  9:59     ` Aya Mahfouz
2015-10-16 22:06 ` [lustre-devel] [PATCH 2/4] staging: lustre: hash.c: " Aya Mahfouz
2015-10-17  5:40   ` Greg KH
2015-10-17 10:34     ` Aya Mahfouz [this message]
2015-10-17 10:47       ` Julia Lawall
2015-10-17 13:23         ` Aya Mahfouz
2015-10-17 16:06           ` Dilger, Andreas
2015-10-16 22:06 ` [lustre-devel] [PATCH 3/4] staging: lustre: workitem.c: replace IS_PO2 with is_power_of_2 Aya Mahfouz
2015-10-17  5:40   ` Greg KH
2015-10-17 16:15     ` Dilger, Andreas
2015-10-16 22:07 ` [lustre-devel] [PATCH 4/4] staging: lustre: remove IS_PO2 and __is_po2 Aya Mahfouz
2015-10-17  0:49   ` kbuild test robot
2015-10-17  1:55   ` kbuild test robot
2015-10-17  4:53   ` kbuild test robot
2015-10-17  5:21   ` Greg KH
2015-10-17  9:54     ` Aya Mahfouz
2015-10-18 10:51     ` Aya Mahfouz

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=20151017103414.GC29503@waves \
    --to=mahfouz.saif.elyazal@gmail.com \
    --cc=lustre-devel@lists.lustre.org \
    /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.