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 по дате отправления: