bpf: add BPF_CGROUP_SOCK_OPS callback that is executed on every RTT
Performance impact should be minimal because it's under a new BPF_SOCK_OPS_RTT_CB_FLAG flag that has to be explicitly enabled. Suggested-by: Eric Dumazet <edumazet@google.com> Cc: Eric Dumazet <edumazet@google.com> Cc: Priyaranjan Jha <priyarjha@google.com> Cc: Yuchung Cheng <ycheng@google.com> Cc: Soheil Hassas Yeganeh <soheil@google.com> Acked-by: Soheil Hassas Yeganeh <soheil@google.com> Acked-by: Yuchung Cheng <ycheng@google.com> Signed-off-by: Stanislav Fomichev <sdf@google.com> Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
This commit is contained in:

committed by
Daniel Borkmann

parent
d2f5bbbc35
commit
23729ff231
@@ -778,6 +778,8 @@ static void tcp_rtt_estimator(struct sock *sk, long mrtt_us)
|
||||
tp->rttvar_us -= (tp->rttvar_us - tp->mdev_max_us) >> 2;
|
||||
tp->rtt_seq = tp->snd_nxt;
|
||||
tp->mdev_max_us = tcp_rto_min_us(sk);
|
||||
|
||||
tcp_bpf_rtt(sk);
|
||||
}
|
||||
} else {
|
||||
/* no previous measure. */
|
||||
@@ -786,6 +788,8 @@ static void tcp_rtt_estimator(struct sock *sk, long mrtt_us)
|
||||
tp->rttvar_us = max(tp->mdev_us, tcp_rto_min_us(sk));
|
||||
tp->mdev_max_us = tp->rttvar_us;
|
||||
tp->rtt_seq = tp->snd_nxt;
|
||||
|
||||
tcp_bpf_rtt(sk);
|
||||
}
|
||||
tp->srtt_us = max(1U, srtt);
|
||||
}
|
||||
|
Reference in New Issue
Block a user