Re: Scaling XLog insertion (was Re: Moving more work outside WALInsertLock)
От | Tom Lane |
---|---|
Тема | Re: Scaling XLog insertion (was Re: Moving more work outside WALInsertLock) |
Дата | |
Msg-id | 28776.1331046755@sss.pgh.pa.us обсуждение исходный текст |
Ответ на | Re: Scaling XLog insertion (was Re: Moving more work outside WALInsertLock) (Heikki Linnakangas <heikki.linnakangas@enterprisedb.com>) |
Ответы |
Re: Scaling XLog insertion (was Re: Moving more work outside
WALInsertLock)
|
Список | pgsql-hackers |
Heikki Linnakangas <heikki.linnakangas@enterprisedb.com> writes: > On 06.03.2012 14:52, Fujii Masao wrote: >> This also strikes me that the usage of the spinlock insertpos_lck might >> not be OK in ReserveXLogInsertLocation() because a few dozen instructions >> can be performed while holding the spinlock.... > I admit that block is longer than any of our existing spinlock blocks. > However, it's important for performance. I tried using a lwlock earlier, > and that negated the gains. So if that's a serious objection, then let's > resolve that now before I spend any more time on other aspects of the > patch. Any ideas how to make that block shorter? How long is the current locked code exactly --- does it contain a loop? I'm not sure where the threshold of pain is for length of time holding a spinlock. I wouldn't go out of the way to avoid using a spinlock for say a hundred instructions, at least not unless it was a very high-contention lock. But sleeping while holding a spinlock is right out. regards, tom lane
В списке pgsql-hackers по дате отправления: