Re: pgsql: Allow Pin/UnpinBuffer to operate in a lockfree manner.

Поиск
Список
Период
Сортировка
От Andres Freund
Тема Re: pgsql: Allow Pin/UnpinBuffer to operate in a lockfree manner.
Дата
Msg-id 20160418143725.cpgt544cwtjftxdr@alap3.anarazel.de
обсуждение исходный текст
Ответ на Re: pgsql: Allow Pin/UnpinBuffer to operate in a lockfree manner.  (Tom Lane <tgl@sss.pgh.pa.us>)
Список pgsql-committers
On 2016-04-17 13:20:29 -0400, Tom Lane wrote:
> Andres Freund <andres@anarazel.de> writes:
> > On 2016-04-17 12:01:48 -0400, Tom Lane wrote:
> >> Now that I've had some occasion to look around in bufmgr.c, I am very
> >> unhappy that there are still boatloads of comments talking about a buffer
> >> header's spinlock, when there is in fact no spinlock anymore.
>
> > That's actually intentional. Alexander had changed those, and it made
> > the patch a good bit harder to read because there's so many references.
> > As the new thing is still a spinlock, just not a s_lock.[ch] style on, I
> > don't see changing all that to be a significant benefit.
>
> Well, I disagree: we consistently use "spinlock" to mean the s_lock.h
> mechanism.  Lock mechanisms are important, so using the same terminology
> to refer to different implementations is not helpful.  Especially when
> it means you have no way to talk about one implementation as opposed
> to the other.

"s_lock.h" style spinlock vs. "BufferDesc type spinlock" etc. seems to
work.  Given where vertical scalability is going (more cores, more numa
partitions (two in one socket now!), ...), it seems quite likely that
we'll end up with further special case implementations. I don't think
we'll be served well naming them differently if they have very similar
rules to s_lock.h style spinlocks.

> Imagine writing a comment that says "back when we used
> to use spinlocks for this, we had to do FOO.  Now that we use spinlocks,
> we can do BAR instead."

"Back when buffer locking used a s_lock.h style spinlock, ..., but now
that it's just a flag in the BufferDesc's state, ...".. Doesn't seem
like a problem.

Greetings,

Andres Freund


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

Предыдущее
От: Andres Freund
Дата:
Сообщение: Re: pgsql: Allow Pin/UnpinBuffer to operate in a lockfree manner.
Следующее
От: Robert Haas
Дата:
Сообщение: Re: pgsql: Allow Pin/UnpinBuffer to operate in a lockfree manner.