Re: Slow standby snapshot

Поиск
Список
Период
Сортировка
От Michail Nikolaev
Тема Re: Slow standby snapshot
Дата
Msg-id CANtu0og9FT=iqrrDa66uFMFmhE2j6BQrF0Hhq_YfWNmmEv3eHQ@mail.gmail.com
обсуждение исходный текст
Ответ на Re: Slow standby snapshot  (Alexander Korotkov <aekorotkov@gmail.com>)
Ответы Re: Slow standby snapshot  (Andrey Borodin <x4mmm@yandex-team.ru>)
Список pgsql-hackers
Hello, Alexander.

Thanks for your review.

> It looks like KnownAssignedXidsNext doesn't have to be
> pg_atomic_uint32.  I see it only gets read with pg_atomic_read_u32()
> and written with pg_atomic_write_u32().  Existing code believes that
> read/write of 32-bit values is atomic.  So, you can use just uint32
> instead of pg_atomic_uint32.

Fixed. Looks better now, yeah.

Also, I added an additional (not depending on KnownAssignedXidsNext
feature) commit replacing the spinlock with a memory barrier. It goes
to Simon Riggs and Tom Lane at 2010:

> (We could dispense with the spinlock if we were to
> create suitable memory access barrier primitives and use those instead.)

Now it is possible to avoid additional spinlock on each
KnownAssignedXidsGetAndSetXmin. I have not measured the performance
impact of this particular change yet (and it is not easy to reliable
measure impact less than 0.5% probably), but I think it is worth
adding. We need to protect only the head pointer because the tail is
updated only with exclusive ProcArrayLock. BTW should I provide a
separate patch for this?

So, now we have a pretty successful benchmark for the typical use-case
and some additional investigation had been done. So, I think I’ll
re-add the patch to the commitfest app.

Thanks,
Michail

Вложения

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

Предыдущее
От: Gilles Darold
Дата:
Сообщение: Re: Pasword expiration warning
Следующее
От: Tom Lane
Дата:
Сообщение: Re: Improving psql's \password command