cvs commit: src/sys/kern subr_sleepqueue.c

David Xu davidxu at FreeBSD.org
Wed Mar 19 00:44:15 PDT 2008


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




More information about the cvs-src mailing list