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 2.6.8.1 (on a gentoo distro)
gcc 3.3.4
glibc 2.3.3.20040420
Mark