Re: Reducing ClogControlLock contention

Поиск
Список
Период
Сортировка
От Simon Riggs
Тема Re: Reducing ClogControlLock contention
Дата
Msg-id CANP8+jLxC1yhMtwPCGfbyqjuhoasYvuT8C09hqK=3tGsN_Hf+Q@mail.gmail.com
обсуждение исходный текст
Ответ на Re: Reducing ClogControlLock contention  (Amit Kapila <amit.kapila16@gmail.com>)
Ответы Re: Reducing ClogControlLock contention  (Amit Kapila <amit.kapila16@gmail.com>)
Список pgsql-hackers
On 26 August 2015 at 11:40, Amit Kapila <amit.kapila16@gmail.com> wrote:
On Tue, Aug 25, 2015 at 2:21 PM, Simon Riggs <simon@2ndquadrant.com> wrote:
On 22 August 2015 at 15:14, Andres Freund <andres@anarazel.de> wrote:
 
TransactionIdSetPageStatus() calls TransactionIdSetStatusBit(), which
writes an 8 byte variable (the lsn). That's not safe.

Agreed, thanks for spotting that.

I see this as the biggest problem to overcome with this patch.

How about using 64bit atomics or spinlock to protect this variable?

Spinlock is out IMHO because this happens on every clog lookup. So it must be an atomic read. 

I'm wondering if its worth making this work on 32-bit systems at all. The contention problems only occur on higher end servers, so we can just disable this optimization if we aren't on a 64bit server.

--
Simon Riggs                http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services

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

Предыдущее
От: Amit Kapila
Дата:
Сообщение: Re: Reducing ClogControlLock contention
Следующее
От: Pavel Stehule
Дата:
Сообщение: Re: proposal: multiple psql option -c