Re: Removing freelist (was Re: Should I implement DROP INDEX CONCURRENTLY?)

Поиск
Список
Период
Сортировка
От Tom Lane
Тема Re: Removing freelist (was Re: Should I implement DROP INDEX CONCURRENTLY?)
Дата
Msg-id 205.1327334512@sss.pgh.pa.us
обсуждение исходный текст
Ответ на Re: Removing freelist (was Re: Should I implement DROP INDEX CONCURRENTLY?)  (Robert Haas <robertmhaas@gmail.com>)
Ответы Re: Removing freelist (was Re: Should I implement DROP INDEX CONCURRENTLY?)  (Robert Haas <robertmhaas@gmail.com>)
Re: Removing freelist (was Re: Should I implement DROP INDEX CONCURRENTLY?)  (Simon Riggs <simon@2ndQuadrant.com>)
Список pgsql-hackers
Robert Haas <robertmhaas@gmail.com> writes:
> On Mon, Jan 23, 2012 at 12:12 AM, Tom Lane <tgl@sss.pgh.pa.us> wrote:
>>> The expensive part of what
>>> we do while holding BufFreelistLock is, I think, iterating through
>>> buffers taking and releasing a spinlock on each one (!).

>> Yeah ... spinlocks that, by definition, will be uncontested.

> What makes you think that they are uncontested?

Ah, never mind.  I was thinking that we'd only be touching buffers that
were *on* the freelist, but of course this is incorrect.  The real
problem there is that BufFreelistLock is also used to protect the
clock sweep pointer.  I think basically we gotta find a way to allow
multiple backends to run clock sweeps concurrently.  Or else fix
things so that the freelist never (well, hardly ever) runs dry.
        regards, tom lane


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

Предыдущее
От: Noah Misch
Дата:
Сообщение: Re: Collect frequency statistics for arrays
Следующее
От: Robert Haas
Дата:
Сообщение: Re: Removing freelist (was Re: Should I implement DROP INDEX CONCURRENTLY?)