Re: introduce bufmgr hooks
От | Andres Freund |
---|---|
Тема | Re: introduce bufmgr hooks |
Дата | |
Msg-id | 20220902003403.kczdfdawuihdnrr2@awork3.anarazel.de обсуждение исходный текст |
Ответ на | Re: introduce bufmgr hooks (Nathan Bossart <nathandbossart@gmail.com>) |
Ответы |
Re: introduce bufmgr hooks
|
Список | pgsql-hackers |
Hi, On 2022-09-01 13:11:50 -0700, Nathan Bossart wrote: > On Wed, Aug 31, 2022 at 08:29:31AM -0700, Andres Freund wrote: > > I'm very doubtful this is a good idea. These are quite hot paths. While not a > > huge cost, adding an indirection isn't free nonetheless. > > Are you concerned about the NULL check or the potential hook > implementations? I can probably test the former pretty easily, but the > latter seems like a generic problem for many hooks. Mostly the former. But the latter is also relevant - the lock nesting etc is very hard to deal with if you don't know what runs inside. > > I also think it'll > > make it harder to improve things in this area, which needs quite a bit of > > work. > > If you have specific refactoring in mind that you think ought to be a > prerequisite for this change, I'm happy to give it a try. There's a few semi-active threads (e.g. about not holding multiple buffer partition locks). One important change is to split the way we acquire buffers for file extensions - right now we get a victim buffer while holding the relation extension lock, because there's simply no API to do otherwise. We need to change that so we get acquire a victim buffer before holding the extension lock (with the buffer pinned but not [tag] valid), then we need to get the extension lock, insert it into its new position in the buffer mapping table. Greetings, Andres Freund
В списке pgsql-hackers по дате отправления: