Darcy Buskermolen <darcy@wavefire.com> writes:
> The database server is a dual P4-2.8 w/ HT enabled (kernel finds 4
> processors), 2GB RAM, 4 disk Serial ATA on 3ware RAID, gigabit Ethernet
> connection to web servers. It's running FreeBSD 5.2 and PostgreSQL 7.4.1.
Hm. What happens if you turn off the hyperthreading?
We have seen a number of reports recently that suggest that our
spinlocking code behaves inefficiently on hyperthreaded machines.
This hasn't got to the point where we have any substantiated evidence,
mind you, but maybe you can help provide some.
Also it might be interesting to put one of these into the outer loop in
s_lock():
__asm__ __volatile__(
" rep; nop \n"
: : : "memory");
(This suggestion is a quick-and-dirty backport of a change that's
already in CVS tip.)
regards, tom lane