Re: Fix bank selection logic in SLRU
Dilip Kumar <dilipbalaut@gmail.com>
From: Dilip Kumar <dilipbalaut@gmail.com>
To: Robert Haas <robertmhaas@gmail.com>
Cc: "Andrey M. Borodin" <x4mmm@yandex-team.ru>,
Yura Sokolov <y.sokolov@postgrespro.ru>, "pgsql-hackers@lists.postgresql.org" <pgsql-hackers@lists.postgresql.org>, Alvaro Herrera <alvherre@alvh.no-ip.org>
Date: 2024-12-10T14:05:42Z
Lists: pgsql-hackers
On Tue, 10 Dec 2024 at 7:30 PM, Robert Haas <robertmhaas@gmail.com> wrote: > On Tue, Dec 10, 2024 at 8:58 AM Dilip Kumar <dilipbalaut@gmail.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 >
Commits
-
Fix SLRU bank selection code
- ffd9b8134658 17.3 landed
- 69ab44651422 18.0 landed