Re: Move PinBuffer and UnpinBuffer to atomics
От | YUriy Zhuravlev |
---|---|
Тема | Re: Move PinBuffer and UnpinBuffer to atomics |
Дата | |
Msg-id | 1983666.94PcosubMZ@dinodell обсуждение исходный текст |
Ответ на | Re: Move PinBuffer and UnpinBuffer to atomics (Andres Freund <andres@anarazel.de>) |
Ответы |
Re: Move PinBuffer and UnpinBuffer to atomics
|
Список | pgsql-hackers |
On Friday 11 September 2015 18:50:35 you wrote: > a) As I said upthread there's a patch to remove these locks entirely It is very interesting. Could you provide a link? And it's not very good, since there is a bottleneck PinBuffer / UnpinBuffer instead of LWLocks. > b) It doesn't matter anyway. Not every pin goes through the buffer > mapping table. StrategyGetBuffer(), SyncOneBuffer(), ... StrategyGetBuffer call only from BufferAlloc . SyncOneBuffer not problem too because: PinBuffer_Locked(bufHdr); LWLockAcquire(bufHdr->content_lock, LW_SHARED); And please read comment before LockBufHdr(bufHdr) in SyncOneBuffer. We checked all functions with refcount and usage_count. Thanks! ^_^ -- YUriy Zhuravlev Postgres Professional: http://www.postgrespro.com The Russian Postgres Company
В списке pgsql-hackers по дате отправления: