I decided to check the context-switching behavior here for baseline
since we have a rather diverse set of postgres server hardware, though
nothing using Xeon MP that is also running a postgres instance, and
everything looks normal under load. Some platforms are better than
others, but nothing is outside of what I would consider normal bounds.
Our biggest database servers are Opteron SMP systems, and these servers
are particularly well-behaved under load with Postgres 7.4.2. If there
is a problem with the locking code and context-switching, it sure isn't
manifesting on our Opteron SMP systems. Under rare confluences of
process interaction, we occasionally see short spikes in the 2-3,000
cs/sec range. It typically peaks at a couple hundred cs/sec under load.
Obviously this is going to be a function of our load profile a certain
extent.
The Opterons have proven to be very good database hardware in general
for us.
j. andrew rogers