From owner-freebsd-threads@FreeBSD.ORG Fri May 21 22:23:43 2004 Return-Path: Delivered-To: freebsd-threads@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 35FDE16A4CE for ; Fri, 21 May 2004 22:23:43 -0700 (PDT) Received: from ojoink.com (center.ojoink.com [216.65.123.180]) by mx1.FreeBSD.org (Postfix) with ESMTP id 0D57E43D45 for ; Fri, 21 May 2004 22:23:43 -0700 (PDT) (envelope-from amd64list@jpgsworld.com) Received: (qmail 83821 invoked by uid 89); 22 May 2004 05:27:16 -0000 Received: from unknown (HELO MAINBX.jpgsworld.com) (amd64list@jpgsworld.com@24.10.96.33) by center.ojoink.com with SMTP; 22 May 2004 05:27:16 -0000 Message-Id: <5.2.0.9.2.20040521215952.0166c368@mail.ojoink.com> X-Sender: amd64list@jpgsworld.com@mail.ojoink.com X-Mailer: QUALCOMM Windows Eudora Version 5.2.0.9 Date: Fri, 21 May 2004 22:23:00 -0700 To: freebsd-threads@freebsd.org From: JG In-Reply-To: References: <5.2.0.9.2.20040521154458.01627688@127.0.0.1> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii"; format=flowed Subject: Re: Why is MySQL nearly twice as fast on Linux? X-BeenThere: freebsd-threads@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Threading on FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 22 May 2004 05:23:43 -0000 >After reading the posts at the mailing lists mentioned above, >Do you have any suggestions or ideas as to what the problem is? >We are more concerned about correctness right now than speed. >There are some optimizations that can be made WRT low-level >locking (for instance using cmpxchg when possible). The >kernel also still has some more work WRT locking. > >Also, the default kernel configuration with WITNESS and >INVARIANTS adds overhead. As stated in the benchmark results, WITNESS and INVARIANTS was disabled. Someone else brought that up very early on. >Yet another also, MySQL uses scope system threads by default >instead of scope process threads. Scope process threads seem >to perform better. > > http://people.freebsd.org/~deischen/mysql40-server.diffs Again, this patch was already made. It did next to nothing performance wise for MySQL. >You can also build mysql with LinuxThreads under FreeBSD >and see if it performs any better. LinuxThreads is not available for FreeBSD/AMD64. However, as reported on the freebsd-amd64 thread list archive, sadly, the best configuration turned out to be running this 64-bit AMD64 hardware in 32-bit mode under _i386_ FreeBSD rather than FreeBSD/AMD64 with mysql compiled with linuxthreads -- and those results were still very poor compared to a "out of the box" Linux + mysql install. > If it is comparable, >that would tend to point to the kernel as the limiting >factor. There is a significant improvement when using LinuxThreads vs libpthreads or libc_r, others have reported no difference with libthr as well.