Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 18 Mar 2008 22:10:38 -1000 (HST)
From:      Jeff Roberson <jroberson@chesapeake.net>
To:        David Xu <davidxu@FreeBSD.org>
Cc:        cvs-src@FreeBSD.org, Jeff Roberson <jeff@FreeBSD.org>, src-committers@FreeBSD.org, cvs-all@FreeBSD.org
Subject:   Re: cvs commit: src/sys/kern subr_sleepqueue.c
Message-ID:  <20080318220908.R910@desktop>
In-Reply-To: <47E0C49D.8010807@freebsd.org>
References:  <200803190735.m2J7ZEhO000502@repoman.freebsd.org> <47E0C49D.8010807@freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On Wed, 19 Mar 2008, David Xu wrote:

> 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.

Thanks Xu.  I will add your NEEDSUSPCHECK flag and check that as well.

>
> Regards,
> David Xu
>
>



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20080318220908.R910>