aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Tuexen <tuexen@FreeBSD.org>2020-05-04 23:05:11 +0000
committerMichael Tuexen <tuexen@FreeBSD.org>2020-05-04 23:05:11 +0000
commit51a5392297a7a014b1cf367922359cd54fb7a393 (patch)
tree1f1052503e92ecaf8c727a704c39e08a6daf38f9
parent570045a0fce4dda5400cea2b33687f6079ce5621 (diff)
downloadsrc-51a5392297a7a014b1cf367922359cd54fb7a393.tar.gz
src-51a5392297a7a014b1cf367922359cd54fb7a393.zip
Add net epoch support back, which was taken out by accident in
https://svnweb.freebsd.org/changeset/base/360639 Reviewed by: rrs Sponsored by: Netflix, Inc. Differential Revision: https://reviews.freebsd.org/D24694
Notes
Notes: svn path=/head/; revision=360645
-rw-r--r--sys/netinet/tcp_stacks/rack.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/sys/netinet/tcp_stacks/rack.c b/sys/netinet/tcp_stacks/rack.c
index d23fb41baab9..6af3d6b580f5 100644
--- a/sys/netinet/tcp_stacks/rack.c
+++ b/sys/netinet/tcp_stacks/rack.c
@@ -12012,6 +12012,7 @@ rack_output(struct tcpcb *tp)
hw_tls = (so->so_snd.sb_flags & SB_TLS_IFNET) != 0;
#endif
+ NET_EPOCH_ASSERT();
INP_WLOCK_ASSERT(inp);
#ifdef TCP_OFFLOAD
if (tp->t_flags & TF_TOE)
@@ -14212,6 +14213,7 @@ static int
rack_set_sockopt(struct socket *so, struct sockopt *sopt,
struct inpcb *inp, struct tcpcb *tp, struct tcp_rack *rack)
{
+ struct epoch_tracker et;
uint64_t val;
int32_t error = 0, optval;
uint16_t ca, ss;
@@ -14719,7 +14721,9 @@ rack_set_sockopt(struct socket *so, struct sockopt *sopt,
if (tp->t_flags & TF_DELACK) {
tp->t_flags &= ~TF_DELACK;
tp->t_flags |= TF_ACKNOW;
+ NET_EPOCH_ENTER(et);
rack_output(tp);
+ NET_EPOCH_EXIT(et);
}
break;