From: | Bruce Momjian - CVS <momjian> |
---|---|
To: | pgsql-committers(at)postgresql(dot)org |
Subject: | pgsql/src/include/port (osf.h) |
Date: | 2000-10-08 04:38:21 |
Message-ID: | 200010080438.e984cLZ47638@hub.org |
Views: | Whole Thread | Raw Message | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-committers |
Date: Sunday, October 8, 2000 @ 00:38:20
Author: momjian
Update of /home/projects/pgsql/cvsroot/pgsql/src/include/port
from hub.org:/home/projects/pgsql/tmp/cvs-serv47634/pgsql/src/include/port
Modified Files:
osf.h
----------------------------- Log Message -----------------------------
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 Joubert
From | Date | Subject | |
---|---|---|---|
Next Message | Tatsuo Ishii | 2000-10-08 09:25:36 | pgsql/doc/src/sgml (runtime.sgml) |
Previous Message | Bruce Momjian - CVS | 2000-10-08 03:53:17 | pgsql/src/include/storage (large_object.h) |