svn commit: r331483 - head/sys/netinet

Jonathan T. Looney jtl at FreeBSD.org
Sat Mar 24 12:40:46 UTC 2018


Author: jtl
Date: Sat Mar 24 12:40:45 2018
New Revision: 331483
URL: https://svnweb.freebsd.org/changeset/base/331483

Log:
  Fix compilation for platforms that don't support atomic_fetchadd_64()
  after r331347.
  
  Reported by:	avg, br, jhibbits
  Sponsored by:	Netflix, Inc.

Modified:
  head/sys/netinet/tcp_log_buf.c

Modified: head/sys/netinet/tcp_log_buf.c
==============================================================================
--- head/sys/netinet/tcp_log_buf.c	Sat Mar 24 09:10:50 2018	(r331482)
+++ head/sys/netinet/tcp_log_buf.c	Sat Mar 24 12:40:45 2018	(r331483)
@@ -72,8 +72,8 @@ static STAILQ_HEAD(, tcp_log_id_node) tcp_log_expireq_
     STAILQ_HEAD_INITIALIZER(tcp_log_expireq_head);
 static struct mtx tcp_log_expireq_mtx;
 static struct callout tcp_log_expireq_callout;
-static uint64_t tcp_log_auto_ratio = 0;
-static uint64_t tcp_log_auto_ratio_cur = 0;
+static u_long tcp_log_auto_ratio = 0;
+static volatile u_long tcp_log_auto_ratio_cur = 0;
 static uint32_t tcp_log_auto_mode = TCP_LOG_STATE_TAIL;
 static bool tcp_log_auto_all = false;
 
@@ -109,7 +109,7 @@ SYSCTL_UMA_CUR(_net_inet_tcp_bb, OID_AUTO, log_id_tcpc
 SYSCTL_U32(_net_inet_tcp_bb, OID_AUTO, log_version, CTLFLAG_RD, &tcp_log_version,
     0, "Version of log formats exported");
 
-SYSCTL_U64(_net_inet_tcp_bb, OID_AUTO, log_auto_ratio, CTLFLAG_RW,
+SYSCTL_ULONG(_net_inet_tcp_bb, OID_AUTO, log_auto_ratio, CTLFLAG_RW,
     &tcp_log_auto_ratio, 0, "Do auto capturing for 1 out of N sessions");
 
 SYSCTL_U32(_net_inet_tcp_bb, OID_AUTO, log_auto_mode, CTLFLAG_RW,
@@ -283,7 +283,7 @@ tcp_log_selectauto(void)
 	 * this session.
 	 */
 	if (tcp_log_auto_ratio &&
-	    (atomic_fetchadd_64(&tcp_log_auto_ratio_cur, 1) %
+	    (atomic_fetchadd_long(&tcp_log_auto_ratio_cur, 1) %
 	    tcp_log_auto_ratio) == 0)
 		return (true);
 	return (false);


More information about the svn-src-head mailing list