Re: DSA_ALLOC_NO_OOM doesn't work

Поиск
Список
Период
Сортировка
От Heikki Linnakangas
Тема Re: DSA_ALLOC_NO_OOM doesn't work
Дата
Msg-id e6b13c4e-2924-47f9-9f95-0cfcbfa265c7@iki.fi
обсуждение исходный текст
Ответ на Re: DSA_ALLOC_NO_OOM doesn't work  (Thomas Munro <thomas.munro@gmail.com>)
Список pgsql-hackers
On 22/02/2024 01:03, Thomas Munro wrote:
> On Thu, Feb 22, 2024 at 10:30 AM Thomas Munro <thomas.munro@gmail.com> wrote:
>> collisions arbitrarily far apart (just decide how many bits to use).
> 
> . o O ( Perhaps if you also allocated slots using a FIFO freelist,
> instead of the current linear search for the first free slot, you
> could maximise the time before a slot is reused, improving the
> collision-avoiding power of a generation scheme? )

We could also enlarge dsm_handle from 32-bits to 64-bits, if we're 
worried about collisions.

I actually experimented with something like that too: I encoded the "is 
this in main region" in one of the high bits and let the implementation 
use the low bits. One small issue with that is that we have a few places 
that pass a DSM handle as the 'bgw_main' argument when launching a 
worker process, and on 32-bit platforms that would not be wide enough. 
Those could be changed to use the wider 'bgw_extra' field instead, though.

-- 
Heikki Linnakangas
Neon (https://neon.tech)




В списке pgsql-hackers по дате отправления:

Предыдущее
От: Michael Paquier
Дата:
Сообщение: Re: Add lookup table for replication slot invalidation causes
Следующее
От: "David E. Wheeler"
Дата:
Сообщение: Re: Patch: Add parse_type Function