Author: tuexen
Date: Sun Jan 17 12:18:01 2016
New Revision: 294216
URL: https://svnweb.freebsd.org/changeset/base/294216

Log:
  MFC r292060:
  Retire sctp_validate_no_locks().
  
  This routine checks that there are no locks held for an inp,
  without having any lock on the inp. This breaks if the inp
  goes away when it is called. This happens on stress tests
  on a RPi B+.

Modified:
  stable/10/sys/netinet/sctp_input.c
  stable/10/sys/netinet/sctp_output.c
  stable/10/sys/netinet/sctp_pcb.h
Directory Properties:
  stable/10/   (props changed)

Modified: stable/10/sys/netinet/sctp_input.c
==============================================================================
--- stable/10/sys/netinet/sctp_input.c  Sun Jan 17 12:15:41 2016        
(r294215)
+++ stable/10/sys/netinet/sctp_input.c  Sun Jan 17 12:18:01 2016        
(r294216)
@@ -5641,30 +5641,6 @@ next_chunk:
 }
 
 
-#ifdef INVARIANTS
-#ifdef __GNUC__
-__attribute__((noinline))
-#endif
-       void
-            sctp_validate_no_locks(struct sctp_inpcb *inp)
-{
-       struct sctp_tcb *lstcb;
-
-       LIST_FOREACH(lstcb, &inp->sctp_asoc_list, sctp_tcblist) {
-               if (mtx_owned(&lstcb->tcb_mtx)) {
-                       panic("Own lock on stcb at return from input");
-               }
-       }
-       if (mtx_owned(&inp->inp_create_mtx)) {
-               panic("Own create lock on inp");
-       }
-       if (mtx_owned(&inp->inp_mtx)) {
-               panic("Own inp lock on inp");
-       }
-}
-
-#endif
-
 /*
  * common input chunk processing (v4 and v6)
  */
@@ -6050,11 +6026,6 @@ out:
                SCTP_INP_DECR_REF(inp_decr);
                SCTP_INP_WUNLOCK(inp_decr);
        }
-#ifdef INVARIANTS
-       if (inp != NULL) {
-               sctp_validate_no_locks(inp);
-       }
-#endif
        return;
 }
 

Modified: stable/10/sys/netinet/sctp_output.c
==============================================================================
--- stable/10/sys/netinet/sctp_output.c Sun Jan 17 12:15:41 2016        
(r294215)
+++ stable/10/sys/netinet/sctp_output.c Sun Jan 17 12:18:01 2016        
(r294216)
@@ -13554,13 +13554,6 @@ out_unlocked:
                }
        }
 #endif
-#ifdef INVARIANTS
-       if (inp) {
-               sctp_validate_no_locks(inp);
-       } else {
-               SCTP_PRINTF("Warning - inp is NULL so cant validate locks\n");
-       }
-#endif
        if (top) {
                sctp_m_freem(top);
        }

Modified: stable/10/sys/netinet/sctp_pcb.h
==============================================================================
--- stable/10/sys/netinet/sctp_pcb.h    Sun Jan 17 12:15:41 2016        
(r294215)
+++ stable/10/sys/netinet/sctp_pcb.h    Sun Jan 17 12:18:01 2016        
(r294216)
@@ -654,11 +654,5 @@ void
 
 #endif
 
-#ifdef INVARIANTS
-void
-     sctp_validate_no_locks(struct sctp_inpcb *inp);
-
-#endif
-
 #endif                         /* _KERNEL */
 #endif                         /* !__sctp_pcb_h__ */
_______________________________________________
svn-src-stable-10@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-stable-10
To unsubscribe, send any mail to "svn-src-stable-10-unsubscr...@freebsd.org"

Reply via email to