Date: Wed, 19 Mar 2008 15:45:33 +0800 From: David Xu <davidxu@FreeBSD.org> To: Jeff Roberson <jeff@FreeBSD.org> Cc: cvs-src@FreeBSD.org, src-committers@FreeBSD.org, cvs-all@FreeBSD.org Subject: Re: cvs commit: src/sys/kern subr_sleepqueue.c Message-ID: <47E0C49D.8010807@freebsd.org> In-Reply-To: <200803190735.m2J7ZEhO000502@repoman.freebsd.org> References: <200803190735.m2J7ZEhO000502@repoman.freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
Jeff Roberson wrote: > jeff 2008-03-19 07:35:14 UTC > > FreeBSD src repository > > Modified files: > sys/kern subr_sleepqueue.c > Log: > - At the top of sleepq_catch_signals() lock the thread and check TDF_NEEDSIGCHK > before doing the very expensive cursig() and related locking. NEEDSIGCHK > is updated whenever our signal mask change or when a signal is delivered and > should be sufficient to avoid the more expensive tests. This eliminates > another source of PROC_LOCK contention in multithreaded programs. > > Revision Changes Path > 1.50 +12 -4 src/sys/kern/subr_sleepqueue.c > This may break process suspension, a more completed patch is here: (though it is outdated): http://people.freebsd.org/~davidxu/patch/PCATCH_optimize.patch In one word, process suspending may be in progress, and the thread should check it. Regards, David Xu
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?47E0C49D.8010807>