[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20200525215741.zd3gry4yyqqplix6@master>
Date:   Mon, 25 May 2020 21:57:41 +0000
From:   Wei Yang <richard.weiyang@...il.com>
To:     Andrew Morton <akpm@...ux-foundation.org>
Cc:     Andy Shevchenko <andriy.shevchenko@...ux.intel.com>,
        Wei Yang <richard.weiyang@...il.com>,
        Jesse Brandeburg <jesse.brandeburg@...el.com>,
        christian.brauner@...ntu.com, linux-kernel@...r.kernel.org
Subject: Re: [PATCH] bitops: simplify get_count_order_long()
On Mon, May 25, 2020 at 01:41:10PM -0700, Andrew Morton wrote:
>On Mon, 25 May 2020 18:32:16 +0300 Andy Shevchenko <andriy.shevchenko@...ux.intel.com> wrote:
>
>> On Mon, May 25, 2020 at 02:43:12PM +0000, Wei Yang wrote:
>> > On Mon, May 25, 2020 at 12:14:58PM +0300, Andy Shevchenko wrote:
>> > >On Sun, May 24, 2020 at 12:35:51PM +0000, Wei Yang wrote:
>> > >> These two cases could be unified into one.
>> > >
>> > >Care to provide a test case which supports your change?
>
>I hurt my brain convincing myself, so I got practical:
>
>
>int fls(unsigned int x)
>{
>	return x ? sizeof(x) * 8 - __builtin_clz(x) : 0;
>}
>
>static int get_count_order(unsigned l)
>{
>	if (l == 0)
>		return -1;
>	else if (l & (l - 1UL))
>		return fls(l);
>	else
>		return fls(l) - 1;
>}										
>
>static int get_count_order2(unsigned long l)
>{
>	if (l == 0)
>		return -1;
>	return fls(--l);
>}
>
>main()
>{
>	unsigned i;
>
>	for (i = 1; i < 64; i++) {
>		printf("%d %d\n", get_count_order(i),
>			get_count_order2(i));
>	}
>}
>
>
>> > 
>> > Hmm.. where should I put the test? tools/testing/selftests/ ?
>> 
>> I guess into test_bitops.c [1]? I though it eventually should make kernel, but I don't see it.
>> 
>> Andrew, can you apply that or do you need Jesse to resend?
>> 
>
>Got it.
I see the patch just merged, so I suppose to add the above test code into that
one?
-- 
Wei Yang
Help you, Help me
Powered by blists - more mailing lists