Re: Fix bank selection logic in SLRU

From: Dilip Kumar <dilipbalaut(at)gmail(dot)com>
To: Robert Haas <robertmhaas(at)gmail(dot)com>
Cc: "Andrey M(dot) Borodin" <x4mmm(at)yandex-team(dot)ru>, Yura Sokolov <y(dot)sokolov(at)postgrespro(dot)ru>, "pgsql-hackers(at)lists(dot)postgresql(dot)org" <pgsql-hackers(at)lists(dot)postgresql(dot)org>, Alvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org>
Subject: Re: Fix bank selection logic in SLRU
Date: 2024-12-10 14:05:42
Message-ID: CAFiTN-u9Ba8Wve6ed2n80cnmVYWGM=yirM03F5t0e5gSrHgEYg@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Tue, 10 Dec 2024 at 7:30 PM, Robert Haas <robertmhaas(at)gmail(dot)com> wrote:

> On Tue, Dec 10, 2024 at 8:58 AM Dilip Kumar <dilipbalaut(at)gmail(dot)com> wrote:
> >> Bank selection code assumes that number of buffers is power of 2.
> >> If the number of buffers is not power of 2 - only subset of buffers
> will be used. In worst case, e.g. 65 buffers, everything will be buffered
> only in bank 64.
> >
> > But why that would be the case? the acceptable values for GUC to
> configure the slru buffers are in multiple of 16(bank size) we have that
> check to check the GUC values.
>
> "Must be a multiple of 16" and "must be a power of 2" are different
> criteria. For example, 48 is a multiple of 16 but it is not a power of
> 2. If the code assumes that we have an actual power of 2, the check
> you quoted in your previous email is insufficient.

Yeah I see it’s an issue. Thanks for clarifying.


Dilip

>

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Dilip Kumar 2024-12-10 14:07:34 Re: Fix bank selection logic in SLRU
Previous Message Fabrice Chapuis 2024-12-10 14:01:15 timeline problem when recovery