From owner-cvs-src@FreeBSD.ORG Wed Apr 28 13:44:43 2004 Return-Path: Delivered-To: cvs-src@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 8E95716A4CE for ; Wed, 28 Apr 2004 13:44:43 -0700 (PDT) Received: from relay.pair.com (relay.pair.com [209.68.1.20]) by mx1.FreeBSD.org (Postfix) with SMTP id 0C7EF43D41 for ; Wed, 28 Apr 2004 13:44:43 -0700 (PDT) (envelope-from silby@silby.com) Received: (qmail 1665 invoked from network); 28 Apr 2004 20:44:41 -0000 Received: from niwun.pair.com (HELO localhost) (209.68.2.70) by relay.pair.com with SMTP; 28 Apr 2004 20:44:41 -0000 X-pair-Authenticated: 209.68.2.70 Date: Wed, 28 Apr 2004 15:59:40 -0500 (CDT) From: Mike Silbersack To: Daniel Eischen In-Reply-To: <200404282036.i3SKarho043330@repoman.freebsd.org> Message-ID: <20040428155703.N4795@odysseus.silby.com> References: <200404282036.i3SKarho043330@repoman.freebsd.org> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII cc: cvs-src@FreeBSD.org cc: src-committers@FreeBSD.org cc: cvs-all@FreeBSD.org Subject: Re: cvs commit: src/sys/sys proc.h src/sys/kern kern_thread.c subr_sleepqueue.c X-BeenThere: cvs-src@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: CVS commit messages for the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 28 Apr 2004 20:44:43 -0000 On Wed, 28 Apr 2004, Daniel Eischen wrote: > Keep track of threads waiting in kse_release() to avoid a race > condition where kse_wakeup() doesn't yet see them in (interruptible) > sleep queues. Also add an upcall check to sleepqueue_catch_signals() > suggested by jhb. > > This commit should fix recent mysql hangs. > > Reviewed by: jhb, davidxu > Mysql'd by: Robin P. Blanchard Thanks, I'm glad to hear that it's fixed. Interestingly enough, in addition to stumbling upon this problem with mysql, the benchmarking I'm doing for a class project also found a problem in the mysql client libraries. For some reasons, when selecting blobs, libmysql will get into a loop where it does 4 byte reads. Yes, it will read entire 100K objects 4 bytes at a time. I'll post about this to the relevant mailing lists next week... Mike "Silby" Silbersack