In the last episode (Jan 21), Ken Menzel said:
> Thanks for that information, does that mean (for us simple SQL
> guys) that even though I am running 5.0RC3 and can compile and
> install MySQL just fine (from ports or with my own script) it is
> using the threads library from 4-STABLE branch not the new threads?
It is still using userland threads, yes. You're limited to one CPU and
threads will have to wait for each other's disk I/O.
> Also does this have soemthing to do with the word GIANT0 that keeps
> appearing in the 'top' process list?
Where in 4.* all system calls implicitly grabbed a kernel lock to keep
multiple processes from entering the kernel at the same time, about
half of 5.*'s syscalls are multi-processor safe. The unsafe ones still
have to grab a lock, but in 5.* it's called Giant and it shows up in
> I was hoping for great things from the 5.0, even with kernel profiling
> off (invariants?) the /usr/local/sql-bench runs slower on 5.0. It is
WITNESS is the kernel option that's most likely slowing you down here.
It forces each lock attempt to prove that it won't cause a deadlock.
INVARIANTS doesn't hurt too much. Also try disabling the J malloc
debug flag by running ln -s 'j' /etc/malloc.conf.