[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20181106170149.GA12947@avx2>
Date: Tue, 6 Nov 2018 20:01:49 +0300
From: Alexey Dobriyan <adobriyan@...il.com>
To: Matthew Wilcox <willy@...radead.org>
Cc: linux-kernel@...r.kernel.org, tglx@...utronix.de,
linux-arch@...r.kernel.org
Subject: Re: + fls-change-parameter-to-unsigned-int.patch added to -mm tree
On Tue, Nov 06, 2018 at 07:44:37AM -0800, Matthew Wilcox wrote:
> On Tue, Nov 06, 2018 at 06:14:44PM +0300, Alexey Dobriyan wrote:
> > On Mon, Nov 05, 2018 at 03:33:01PM -0800, akpm@...ux-foundation.org wrote:
> >
> > > -static inline int fls(int x)
> > > +static inline int fls(unsigned int x)
> > > {
> > > - return fls64((unsigned int) x);
> > > + return fls64(x);
> > > }
> >
> > Should it return "unsigned"? Logically it should.
> > I remember doing this and there was some code size increase :-(
>
> Yes, it returns a number in the range [0-32], so it can absolutely
> be unsigned. I'm kind of surprised it made any difference.
>
> When you say "doing this", what did you try? unsigned fls(unsigned),
> int fls(unsigned) or unsigned fls(int) ?
I did "unsigned fls()" with and without
if (rv > 32)
__builtin_unreachable();
but I didn't send anything because there was something erratic with code
generation.
Powered by blists - more mailing lists