Re: Alpha spinlock

Поиск
Список
Период
Сортировка
От Adriaan Joubert
Тема Re: Alpha spinlock
Дата
Msg-id 39D81B69.207D5F0D@albourne.com
обсуждение исходный текст
Ответы Re: Alpha spinlock  (Tom Lane <tgl@sss.pgh.pa.us>)
Re: Re: Alpha spinlock  (Bruce Momjian <pgman@candle.pha.pa.us>)
Re: Re: Alpha spinlock  (Bruce Momjian <pgman@candle.pha.pa.us>)
Список pgsql-ports
 

Tom Lane wrote:
> For a while I though it might be because we are using an alpha TAS in
> the spinlock rather than the old semaphore. I replaced our spinlock
> with the standard one and it made no difference. We have been running
> with our spinlock implementation for nearly 2 months on a production
> database now without a hitch, so I think it is ok. Did I ever submit
> any patches for the Alpha spinlock?

Not that I recall.  We did get some advice from some Alpha gurus at DEC
who seemed to think the existing TAS code is OK.  What was it that you
felt needed to be improved?

The current code uses semaphores, which has the advantage that it works well even on multi-processor machines, but the disadvantage that it is not the fastest way possible. Writing a spinlock on Alpha for SMP machines is very difficult, as you need to deal with memory barriers. A real mess. But then one of the people at Compaq pointed out to us that there is a ready-made routine on Alpha. We implemented it with the two patches below. I ran tests with lots of parallel back-ends and got around a 10% speed increase. I include the two patches. Perhaps some of the other people running Tru64 can have a look at these as well.

Cheers,

Adriaan

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

Предыдущее
От: Bruce Momjian
Дата:
Сообщение: Re: Locale bug
Следующее
От: Tom Lane
Дата:
Сообщение: Re: Alpha spinlock