svn commit: r272079 - head/sys/dev/cxgbe/tom

Navdeep Parhar np at FreeBSD.org
Wed Sep 24 20:04:12 UTC 2014


Author: np
Date: Wed Sep 24 20:04:11 2014
New Revision: 272079
URL: http://svnweb.freebsd.org/changeset/base/272079

Log:
  cxgbe/tom:  Catch up with r271119, syncache_add doesn't need tcbinfo lock.

Modified:
  head/sys/dev/cxgbe/tom/t4_listen.c

Modified: head/sys/dev/cxgbe/tom/t4_listen.c
==============================================================================
--- head/sys/dev/cxgbe/tom/t4_listen.c	Wed Sep 24 19:30:36 2014	(r272078)
+++ head/sys/dev/cxgbe/tom/t4_listen.c	Wed Sep 24 20:04:11 2014	(r272079)
@@ -1311,7 +1311,7 @@ do_pass_accept_req(struct sge_iq *iq, co
 		REJECT_PASS_ACCEPT();
 	rpl = wrtod(wr);
 
-	INP_INFO_WLOCK(&V_tcbinfo);	/* for 4-tuple check, syncache_add */
+	INP_INFO_WLOCK(&V_tcbinfo);	/* for 4-tuple check */
 
 	/* Don't offload if the 4-tuple is already in use */
 	if (toe_4tuple_check(&inc, &th, ifp) != 0) {
@@ -1319,6 +1319,7 @@ do_pass_accept_req(struct sge_iq *iq, co
 		free(wr, M_CXGBE);
 		REJECT_PASS_ACCEPT();
 	}
+	INP_INFO_WUNLOCK(&V_tcbinfo);
 
 	inp = lctx->inp;		/* listening socket, not owned by TOE */
 	INP_WLOCK(inp);
@@ -1331,7 +1332,6 @@ do_pass_accept_req(struct sge_iq *iq, co
 		 * resources tied to this listen context.
 		 */
 		INP_WUNLOCK(inp);
-		INP_INFO_WUNLOCK(&V_tcbinfo);
 		free(wr, M_CXGBE);
 		REJECT_PASS_ACCEPT();
 	}
@@ -1383,7 +1383,6 @@ do_pass_accept_req(struct sge_iq *iq, co
 	 */
 	toe_syncache_add(&inc, &to, &th, inp, tod, synqe);
 	INP_UNLOCK_ASSERT(inp);	/* ok to assert, we have a ref on the inp */
-	INP_INFO_UNLOCK_ASSERT(&V_tcbinfo);
 
 	/*
 	 * If we replied during syncache_add (synqe->wr has been consumed),


More information about the svn-src-all mailing list