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 по дате отправления: