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 ---------------------------(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