Author: mav
Date: Sat Aug 24 14:41:49 2013
New Revision: 254787
URL: http://svnweb.freebsd.org/changeset/base/254787

Log:
  MFprojects/camlock r254460:
  Remove locking from taskqueue_member().  The list of threads is static
  during the taskqueue life cycle, so there is no need to protect it,
  taking quite congested lock several more times for each ZFS I/O.

Modified:
  head/sys/kern/subr_taskqueue.c

Modified: head/sys/kern/subr_taskqueue.c
==============================================================================
--- head/sys/kern/subr_taskqueue.c      Sat Aug 24 14:33:11 2013        
(r254786)
+++ head/sys/kern/subr_taskqueue.c      Sat Aug 24 14:41:49 2013        
(r254787)
@@ -620,7 +620,6 @@ taskqueue_member(struct taskqueue *queue
 {
        int i, j, ret = 0;
 
-       TQ_LOCK(queue);
        for (i = 0, j = 0; ; i++) {
                if (queue->tq_threads[i] == NULL)
                        continue;
@@ -631,6 +630,5 @@ taskqueue_member(struct taskqueue *queue
                if (++j >= queue->tq_tcount)
                        break;
        }
-       TQ_UNLOCK(queue);
        return (ret);
 }
_______________________________________________
svn-src-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to