Date: Wed, 28 Apr 2004 15:59:40 -0500 (CDT) From: Mike Silbersack <silby@silby.com> To: Daniel Eischen <deischen@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 Message-ID: <20040428155703.N4795@odysseus.silby.com> In-Reply-To: <200404282036.i3SKarho043330@repoman.freebsd.org> References: <200404282036.i3SKarho043330@repoman.freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
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 <robin.blanchard at gactr uga edu> 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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20040428155703.N4795>