Date: Tue, 17 Jun 2025 15:54:34 GMT From: Gleb Smirnoff <glebius@FreeBSD.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Subject: git: faa6aa7723aa - main - tcp: remove CTLFLAG_NEEDGIANT from sysctl(9) handlers related to timers Message-ID: <202506171554.55HFsYsk038349@gitrepo.freebsd.org>
next in thread | raw e-mail | index | archive | help
The branch main has been updated by glebius: URL: https://cgit.FreeBSD.org/src/commit/?id=faa6aa7723aa1af0aa0128acde2814563b4372d3 commit faa6aa7723aa1af0aa0128acde2814563b4372d3 Author: Gleb Smirnoff <glebius@FreeBSD.org> AuthorDate: 2025-06-17 15:52:18 +0000 Commit: Gleb Smirnoff <glebius@FreeBSD.org> CommitDate: 2025-06-17 15:54:18 +0000 tcp: remove CTLFLAG_NEEDGIANT from sysctl(9) handlers related to timers They all just modify a global word sized variable via sysctl_msec_to_ticks(), which is wrapper around sysctl_handle_int(). Note, they all were marked with CTLFLAG_NEEDGIANT in 7029da5c36f2 merely because it was not obvious whether they are mpsafe or not. Reviewed by: tuexen Differential Revision: https://reviews.freebsd.org/D50890 --- sys/netinet/tcp_timer.c | 33 +++++++++++---------------------- 1 file changed, 11 insertions(+), 22 deletions(-) diff --git a/sys/netinet/tcp_timer.c b/sys/netinet/tcp_timer.c index 4d8dafaec31d..f1d864d33bd6 100644 --- a/sys/netinet/tcp_timer.c +++ b/sys/netinet/tcp_timer.c @@ -74,39 +74,33 @@ #include <netinet/tcpip.h> int tcp_persmin; -SYSCTL_PROC(_net_inet_tcp, OID_AUTO, persmin, - CTLTYPE_INT | CTLFLAG_RW | CTLFLAG_NEEDGIANT, +SYSCTL_PROC(_net_inet_tcp, OID_AUTO, persmin, CTLTYPE_INT | CTLFLAG_RW, &tcp_persmin, 0, sysctl_msec_to_ticks, "I", "minimum persistence interval"); int tcp_persmax; -SYSCTL_PROC(_net_inet_tcp, OID_AUTO, persmax, - CTLTYPE_INT | CTLFLAG_RW | CTLFLAG_NEEDGIANT, +SYSCTL_PROC(_net_inet_tcp, OID_AUTO, persmax, CTLTYPE_INT | CTLFLAG_RW, &tcp_persmax, 0, sysctl_msec_to_ticks, "I", "maximum persistence interval"); int tcp_keepinit; -SYSCTL_PROC(_net_inet_tcp, TCPCTL_KEEPINIT, keepinit, - CTLTYPE_INT | CTLFLAG_RW | CTLFLAG_NEEDGIANT, +SYSCTL_PROC(_net_inet_tcp, TCPCTL_KEEPINIT, keepinit, CTLTYPE_INT | CTLFLAG_RW, &tcp_keepinit, 0, sysctl_msec_to_ticks, "I", "time to establish connection"); int tcp_keepidle; -SYSCTL_PROC(_net_inet_tcp, TCPCTL_KEEPIDLE, keepidle, - CTLTYPE_INT | CTLFLAG_RW | CTLFLAG_NEEDGIANT, +SYSCTL_PROC(_net_inet_tcp, TCPCTL_KEEPIDLE, keepidle, CTLTYPE_INT | CTLFLAG_RW, &tcp_keepidle, 0, sysctl_msec_to_ticks, "I", "time before keepalive probes begin"); int tcp_keepintvl; SYSCTL_PROC(_net_inet_tcp, TCPCTL_KEEPINTVL, keepintvl, - CTLTYPE_INT | CTLFLAG_RW | CTLFLAG_NEEDGIANT, - &tcp_keepintvl, 0, sysctl_msec_to_ticks, "I", + CTLTYPE_INT | CTLFLAG_RW, &tcp_keepintvl, 0, sysctl_msec_to_ticks, "I", "time between keepalive probes"); int tcp_delacktime; SYSCTL_PROC(_net_inet_tcp, TCPCTL_DELACKTIME, delacktime, - CTLTYPE_INT | CTLFLAG_RW | CTLFLAG_NEEDGIANT, - &tcp_delacktime, 0, sysctl_msec_to_ticks, "I", + CTLTYPE_INT | CTLFLAG_RW, &tcp_delacktime, 0, sysctl_msec_to_ticks, "I", "Time before a delayed ACK is sent"); VNET_DEFINE(int, tcp_msl); @@ -116,20 +110,17 @@ SYSCTL_PROC(_net_inet_tcp, OID_AUTO, msl, "Maximum segment lifetime"); int tcp_rexmit_initial; -SYSCTL_PROC(_net_inet_tcp, OID_AUTO, rexmit_initial, - CTLTYPE_INT | CTLFLAG_RW | CTLFLAG_NEEDGIANT, +SYSCTL_PROC(_net_inet_tcp, OID_AUTO, rexmit_initial, CTLTYPE_INT | CTLFLAG_RW, &tcp_rexmit_initial, 0, sysctl_msec_to_ticks, "I", "Initial Retransmission Timeout"); int tcp_rexmit_min; -SYSCTL_PROC(_net_inet_tcp, OID_AUTO, rexmit_min, - CTLTYPE_INT | CTLFLAG_RW | CTLFLAG_NEEDGIANT, +SYSCTL_PROC(_net_inet_tcp, OID_AUTO, rexmit_min, CTLTYPE_INT | CTLFLAG_RW, &tcp_rexmit_min, 0, sysctl_msec_to_ticks, "I", "Minimum Retransmission Timeout"); int tcp_rexmit_slop; -SYSCTL_PROC(_net_inet_tcp, OID_AUTO, rexmit_slop, - CTLTYPE_INT | CTLFLAG_RW | CTLFLAG_NEEDGIANT, +SYSCTL_PROC(_net_inet_tcp, OID_AUTO, rexmit_slop, CTLTYPE_INT | CTLFLAG_RW, &tcp_rexmit_slop, 0, sysctl_msec_to_ticks, "I", "Retransmission Timer Slop"); @@ -144,8 +135,7 @@ SYSCTL_INT(_net_inet_tcp, OID_AUTO, fast_finwait2_recycle, CTLFLAG_RW, "Recycle closed FIN_WAIT_2 connections faster"); int tcp_finwait2_timeout; -SYSCTL_PROC(_net_inet_tcp, OID_AUTO, finwait2_timeout, - CTLTYPE_INT | CTLFLAG_RW | CTLFLAG_NEEDGIANT, +SYSCTL_PROC(_net_inet_tcp, OID_AUTO, finwait2_timeout, CTLTYPE_INT | CTLFLAG_RW, &tcp_finwait2_timeout, 0, sysctl_msec_to_ticks, "I", "FIN-WAIT2 timeout"); @@ -162,8 +152,7 @@ SYSCTL_INT(_net_inet_tcp, OID_AUTO, rexmit_drop_options, CTLFLAG_RW, "Drop TCP options from 3rd and later retransmitted SYN"); int tcp_maxunacktime = TCPTV_MAXUNACKTIME; -SYSCTL_PROC(_net_inet_tcp, OID_AUTO, maxunacktime, - CTLTYPE_INT|CTLFLAG_RW | CTLFLAG_NEEDGIANT, +SYSCTL_PROC(_net_inet_tcp, OID_AUTO, maxunacktime, CTLTYPE_INT | CTLFLAG_RW, &tcp_maxunacktime, 0, sysctl_msec_to_ticks, "I", "Maximum time (in ms) that a session can linger without making progress");
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202506171554.55HFsYsk038349>