On Wed, Oct 20, 2004 at 07:39:13PM +0200, Manfred Spraul wrote:
> But: According to the descriptions the problem is a context switch 
> storm. I don't see that cache line bouncing can cause a context switch 
> storm. What causes the context switch storm? If it's the pg_usleep in 
> s_lock, then my patch should help a lot: with pthread_rwlock locks, this 
> line doesn't exist anymore.

I gave Manfred's patch a try on my 4-way Xeon system with Tom's test_script.sql
files.  I ran 4 processes of test_script.sql against 8.0beta3 (without any
patches) and from my observations with top, the cpu utilization between
processors was pretty erratic.  They'd jump anywhere from 30% - 70%.

With the futex patches that Neil and Gavin have been working on, I'd see
the processors evenly utilized at about 50% each.

With just Manfred's patch I think there might be a problem somewhere with
the patch, or something else, as only one processor is doing anything at a
time and 100% utilized.

Here are some other details, per Manfred's request:

Linux (on a gentoo distro)
gcc 3.3.4


---------------------------(end of broadcast)---------------------------
TIP 9: the planner will ignore your desire to choose an index scan if your
      joining column's datatypes do not match

Reply via email to