lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20200525134110.5737dd603d5fa1230e2f7ece@linux-foundation.org>
Date:   Mon, 25 May 2020 13:41:10 -0700
From:   Andrew Morton <akpm@...ux-foundation.org>
To:     Andy Shevchenko <andriy.shevchenko@...ux.intel.com>
Cc:     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, 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.

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ