Re: Separating Buffer LWlocks

Поиск
Список
Период
Сортировка
От Andres Freund
Тема Re: Separating Buffer LWlocks
Дата
Msg-id 20150906132840.GC19425@alap3.anarazel.de
обсуждение исходный текст
Ответ на Separating Buffer LWlocks  (Simon Riggs <simon@2ndQuadrant.com>)
Ответы Re: Separating Buffer LWlocks  (Andres Freund <andres@anarazel.de>)
Список pgsql-hackers
Hi,

On 2015-09-06 14:10:24 +0100, Simon Riggs wrote:
> It separates the Buffer LWLocks from the main LW locks, allowing them to
> have different padding.
> 
> Tests showed noticeable/significant performance gain due to reduced false
> sharing on main LWlocks, though without wasting memory on the buffer
> LWlocks.

Hm. I found that the buffer content lwlocks can actually also be a
significant source of contention - I'm not sure reducing padding for
those is going to be particularly nice. I think we should rather move
the *content* lock inline into the buffer descriptor. The io lock
doesn't matter and can be as small as possible.

Additionally I think we should increase the lwlock padding to 64byte
(i.e. the by far most command cacheline size). In the past I've seen
that to be rather beneficial.

Greetings,

Andres Freund



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

Предыдущее
От: Michael Paquier
Дата:
Сообщение: Re: replication slot restart_lsn initialization
Следующее
От: Julien Rouhaud
Дата:
Сообщение: Re: Allow a per-tablespace effective_io_concurrency setting