Date: Tue, 13 Jun 2000 17:36:10 -0700 From: Jason Evans <jasone@canonware.com> To: Paul Walsh <paul@walshsimmons.co.uk> Cc: freebsd-database@freebsd.org Subject: Re: FW: Thread issues on FreeBSD 3.4/4.0 with MySQL Message-ID: <20000613173610.J47268@blitz.canonware.com> In-Reply-To: <015301bfd509$848b3200$7bd1c8c2@nationnet.com>; from paul@walshsimmons.co.uk on Tue, Jun 13, 2000 at 08:32:23AM %2B0100 References: <015301bfd509$848b3200$7bd1c8c2@nationnet.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On Tue, Jun 13, 2000 at 08:32:23AM +0100, Paul Walsh wrote: > Hi > > Could anybody comment on the following - we are trying to get a pretty busy > MySQL server optimised on FreeBSD4.0 having switched from 3.4 after reading > on the MySQL list: > > "if decide to go with FreeBSD, be sure to install the latest 4.0 > release as 3.x releases had quite some problems with thread libraries. " > > and receiving the comments below from Scott Hess Scott's comments bring up a definite issue with FreeBSD's libc_r with regard to databases. libc_r is a userland library that does call conversion to avoid blocking in the kernel. Unfortunately, this isn't possible for "fast devices", which is what hard drives are considered. There isn't a good fix for this in libc_r; it's a design limitation of userland threading. There is another option, however. There is the linuxthreads port, which is a port of the LinuxThreads package normally associated with GNU libc. This threads package uses clone() (actually a special form of rfork() call on FreeBSD) to run one thread per process. With some tuning, you can probably make this threads package scale reasonably to multiple processors/disks. I've recently updated this port to the most recent released version of LinuxThreads. The port should be 100% compatible with LinuxThreads as they run on Linux, except that I did not take the time to make the gdb hooks work. As for the future, we're working on a replacement for libc_r that will be a first class threads implementation. This will probably be done for FreeBSD 5.0, but that doesn't help in the short term, which is why I recommend the linuxthreads port. Jason To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-database" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20000613173610.J47268>