Andrii Nakryiko <andrii.nakryiko@xxxxxxxxx> writes: > On Wed, Apr 20, 2022 at 5:53 AM Toke Høiland-Jørgensen <toke@xxxxxxxxxx> wrote: >> >> xiangxia.m.yue@xxxxxxxxx writes: >> >> > From: Tonghao Zhang <xiangxia.m.yue@xxxxxxxxx> >> > >> > This patch introduce a new bpf_ktime_get_real_ns helper, which may >> > help us to measure the skb latency in the ingress/forwarding path: >> > >> > HW/SW[1] -> ip_rcv/tcp_rcv_established -> tcp_recvmsg_locked/tcp_update_recv_tstamps >> > >> > * Insert BPF kprobe into ip_rcv/tcp_rcv_established invoking this helper. >> > Then we can inspect how long time elapsed since HW/SW. >> > * If inserting BPF kprobe tcp_update_recv_tstamps invoked by tcp_recvmsg, >> > we can measure how much latency skb in tcp receive queue. The reason for >> > this can be application fetch the TCP messages too late. >> >> Why not just use one of the existing ktime helpers and also add a BPF >> probe to set the initial timestamp instead of relying on skb->tstamp? >> > > You don't even need a BPF probe for this. See [0] for how retsnoop is > converting bpf_ktime_get_ns() into real time. > > [0] https://github.com/anakryiko/retsnoop/blob/master/src/retsnoop.c#L649-L668 Uh, neat! Thanks for the link :) -Toke