From: Dan Nelson Date: January 21 2003 3:43pm Subject: Re: FreeBSD 5.0 Thread Work... List-Archive: http://lists.mysql.com/mysql/130522 Message-Id: <20030121154317.GM49032@dan.emsphone.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii 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 top. > > 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. -- Dan Nelson dnelson@stripped