Re: Quite strange crash

Поиск
Список
Период
Сортировка
От Tom Lane
Тема Re: Quite strange crash
Дата
Msg-id 5823.979068152@sss.pgh.pa.us
обсуждение исходный текст
Ответ на RE: Quite strange crash  ("Mikheev, Vadim" <vmikheev@SECTORBASE.COM>)
Список pgsql-hackers
"Mikheev, Vadim" <vmikheev@SECTORBASE.COM> writes:
>> Yeah, I suppose.  We already do record locking of all the fixed
>> spinlocks (BufMgrLock etc), it's just the per-buffer spinlocks that
>> are missing from that (and CRIT_SECTION calls). Would it be 
>> reasonable to assume that only one buffer spinlock could be held
>> at a time?

> No. UPDATE holds two spins, btree split even more.
> But stop - afair bufmgr remembers locked buffers, probably
> we could just add XXX_CRIT_SECTION to LockBuffer..?

Right.  A buffer lock isn't a spinlock, ie, we don't hold the spinlock
except within LockBuffer.  So a quick CRIT_SECTION should deal with
that.  Actually, with careful placement of CRIT_SECTION calls in
LockBuffer, there's no need to record holding the buffer's cntxt
spinlock at all, I think.  Will work on it.
        regards, tom lane


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

Предыдущее
От: "Martin A. Marques"
Дата:
Сообщение: How to print explain using PHP
Следующее
От: Tom Lane
Дата:
Сообщение: Re: Quite strange crash