Re: Remove fls(), use pg_bitutils.h facilities instead? - Mailing list pgsql-hackers

From Thomas Munro
Subject Re: Remove fls(), use pg_bitutils.h facilities instead?
Date
Msg-id CA+hUKGKxEFEVNDbxauxsiFODwz87J34KfxzkL3CZH-mK=zFLkA@mail.gmail.com
Whole thread Raw
In response to Re: Remove fls(), use pg_bitutils.h facilities instead?  (Tom Lane <tgl@sss.pgh.pa.us>)
Responses Re: Remove fls(), use pg_bitutils.h facilities instead?
Re: Remove fls(), use pg_bitutils.h facilities instead?
List pgsql-hackers
On Wed, Jul 20, 2022 at 4:52 PM Tom Lane <tgl@sss.pgh.pa.us> wrote:
> I think we could probably just drop fls() entirely.  It doesn't look
> to me like any of the existing callers expect a zero argument, so they
> could be converted to use pg_leftmost_one_pos32() pretty trivially.
> I don't see that fls() is buying us anything that is worth requiring
> readers to know yet another nonstandard function.

That was not true for the case in contiguous_pages_to_segment_bin(),
in dsa.c.  If it's just one place like that (and, hrrm, curiously
there is an open issue about binning quality on my to do list...),
then perhaps we should just open code it there.  The attached doesn't
trigger the assertion that work != 0 in a simple make check.

Attachment

pgsql-hackers by date:

Previous
From: Justin Kwan
Date:
Subject: Re: Making pg_rewind faster
Next
From: David Rowley
Date:
Subject: Re: Add proper planner support for ORDER BY / DISTINCT aggregates