Author: mav
Date: Mon Jun 23 13:10:49 2014
New Revision: 267787
URL: http://svnweb.freebsd.org/changeset/base/267787

Log:
  MFC r267223:
  Remove st_idle variable, duplicating st_xprt.

Modified:
  stable/9/sys/rpc/svc.c
  stable/9/sys/rpc/svc.h
Directory Properties:
  stable/9/   (props changed)
  stable/9/sys/   (props changed)

Modified: stable/9/sys/rpc/svc.c
==============================================================================
--- stable/9/sys/rpc/svc.c      Mon Jun 23 13:09:49 2014        (r267786)
+++ stable/9/sys/rpc/svc.c      Mon Jun 23 13:10:49 2014        (r267787)
@@ -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;
@@ -1140,7 +1139,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,
@@ -1148,10 +1146,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: stable/9/sys/rpc/svc.h
==============================================================================
--- stable/9/sys/rpc/svc.h      Mon Jun 23 13:09:49 2014        (r267786)
+++ stable/9/sys/rpc/svc.h      Mon Jun 23 13:10:49 2014        (r267787)
@@ -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-stable-9@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-stable-9
To unsubscribe, send any mail to "svn-src-stable-9-unsubscr...@freebsd.org"

Reply via email to