Author: mav
Date: Sun Jun  8 10:18:22 2014
New Revision: 267223
URL: http://svnweb.freebsd.org/changeset/base/267223

Log:
  Remove st_idle variable, duplicating st_xprt.
  
  MFC after:    2 weeks

Modified:
  head/sys/rpc/svc.c
  head/sys/rpc/svc.h

Modified: head/sys/rpc/svc.c
==============================================================================
--- head/sys/rpc/svc.c  Sun Jun  8 09:49:42 2014        (r267222)
+++ head/sys/rpc/svc.c  Sun Jun  8 10:18:22 2014        (r267223)
@@ -340,7 +340,6 @@ xprt_assignthread(SVCXPRT *xprt)
        st = LIST_FIRST(&pool->sp_idlethreads);
        if (st) {
                LIST_REMOVE(st, st_ilink);
-               st->st_idle = FALSE;
                SVC_ACQUIRE(xprt);
                xprt->xp_thread = st;
                st->st_xprt = xprt;
@@ -1138,7 +1137,6 @@ svc_run_internal(SVCPOOL *pool, bool_t i
                        }
 
                        LIST_INSERT_HEAD(&pool->sp_idlethreads, st, st_ilink);
-                       st->st_idle = TRUE;
                        if (ismaster || (!ismaster &&
                            pool->sp_threadcount > pool->sp_minthreads))
                                error = cv_timedwait_sig(&st->st_cond,
@@ -1146,10 +1144,8 @@ svc_run_internal(SVCPOOL *pool, bool_t i
                        else
                                error = cv_wait_sig(&st->st_cond,
                                    &pool->sp_lock);
-                       if (st->st_idle) {
+                       if (st->st_xprt == NULL)
                                LIST_REMOVE(st, st_ilink);
-                               st->st_idle = FALSE;
-                       }
 
                        /*
                         * Reduce worker thread count when idle.

Modified: head/sys/rpc/svc.h
==============================================================================
--- head/sys/rpc/svc.h  Sun Jun  8 09:49:42 2014        (r267222)
+++ head/sys/rpc/svc.h  Sun Jun  8 10:18:22 2014        (r267223)
@@ -295,7 +295,6 @@ typedef struct __rpc_svcthread {
        struct __rpc_svcpool    *st_pool;
        SVCXPRT                 *st_xprt; /* transport we are processing */
        struct svc_reqlist      st_reqs;  /* RPC requests to execute */
-       int                     st_idle; /* thread is on idle list */
        struct cv               st_cond; /* sleeping for work */
        LIST_ENTRY(__rpc_svcthread) st_link; /* all threads list */
        LIST_ENTRY(__rpc_svcthread) st_ilink; /* idle threads list */
_______________________________________________
svn-src-head@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to