On Sat, Jun 12, 2021 at 6:40 AM David Rowley <dgrowle...@gmail.com> wrote:

> Thanks for having a look.
>
> On Sun, 13 Jun 2021 at 00:50, Zhihong Yu <z...@yugabyte.com> wrote:
> > -       newalloc = Max(LWLockTrancheNamesAllocated, 8);
> > -       while (newalloc <= tranche_id)
> > -           newalloc *= 2;
> > +       newalloc = pg_nextpower2_32(Max(8, tranche_id + 1));
> >
> > Should LWLockTrancheNamesAllocated be included in the Max() expression
> (in case it gets to a high value) ?
>
> I think the new code will produce the same result as the old code in all
> cases.
>
> All the old code did was finding the next power of 2 that's >= 8 and
> larger than tranche_id.  LWLockTrancheNamesAllocated is just a hint at
> where the old code should start searching from.  The new code does not
> need that hint. All it seems to do is save the old code from having to
> start the loop at 8 each time we need more space.
>
> David
>
Hi,
Maybe add an assertion after the assignment, that newalloc >=
 LWLockTrancheNamesAllocated.

Cheers

Reply via email to