Re: Sync Rep v17

Поиск
Список
Период
Сортировка
От Tom Lane
Тема Re: Sync Rep v17
Дата
Msg-id 15716.1298991737@sss.pgh.pa.us
обсуждение исходный текст
Ответ на Re: Sync Rep v17  (Simon Riggs <simon@2ndQuadrant.com>)
Ответы Re: Sync Rep v17
Список pgsql-hackers
Simon Riggs <simon@2ndQuadrant.com> writes:
> On Tue, 2011-03-01 at 15:51 +0900, Fujii Masao wrote:
>> A spinlock can be used only for very short-term operation like
>> read/write of some shared-variables. The operation on the queue
>> is not short, so should be protected by LWLock, I think.

> There's no need to sleep while holding locks and the operations are very
> short in most cases. The code around it isn't trivial, but that's no
> reason to use LWlocks.

What does "in most cases" mean?

> LWlocks are just spinlocks plus sem sleeps, so I don't see the need for
> that in the current code. Other views welcome.

Simon, that is absolutely NOT acceptable.  Spinlocks are to be used only
for short straight-line code segments.  If the lock has any potential to
be held for more than nanoseconds, use an LWLock.  The contention costs
of the shortcut you propose are too high.
        regards, tom lane


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

Предыдущее
От: Nikhil Sontakke
Дата:
Сообщение: Re: PG signal handler and non-reentrant malloc/free calls
Следующее
От: Tom Lane
Дата:
Сообщение: Re: Porting PostgreSQL to DragonFly BSD