Re: [PATCH] bitops: use the same mechanism for get_count_order[_long]

From: Andy Shevchenko
Date: Tue May 26 2020 - 03:04:58 EST


On Mon, May 25, 2020 at 09:59:58PM +0000, Wei Yang wrote:
> These two functions share the same logic.

So, same comment. Please, add test first, make sure it works on current kernel,
then after your patch applied, and send it as a series, thanks!

P.S. W/o test code looks good, but based on my experience I'm very suspicious
about "small" changes that may lead to big issues. Hope you understand my point.

> Signed-off-by: Wei Yang <richard.weiyang@xxxxxxxxx>
> ---
> include/linux/bitops.h | 8 +++-----
> 1 file changed, 3 insertions(+), 5 deletions(-)
>
> diff --git a/include/linux/bitops.h b/include/linux/bitops.h
> index 5b5609e81a84..80703ef27aee 100644
> --- a/include/linux/bitops.h
> +++ b/include/linux/bitops.h
> @@ -188,12 +188,10 @@ static inline unsigned fls_long(unsigned long l)
>
> static inline int get_count_order(unsigned int count)
> {
> - int order;
> + if (count == 0)
> + return -1;
>
> - order = fls(count) - 1;
> - if (count & (count - 1))
> - order++;
> - return order;
> + return fls(--count);
> }
>
> /**
> --
> 2.23.0
>

--
With Best Regards,
Andy Shevchenko