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