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


_______________________________________________
[email protected] mailing list
http://lists.freebsd.org/mailman/listinfo/cvs-all
To unsubscribe, send any mail to "[EMAIL PROTECTED]"

Reply via email to