[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAEf4Bzafe3Am5uep7erd7r+-pgdGRc9hsJASYfFH47ty8x9mTA@mail.gmail.com>
Date: Wed, 20 Apr 2022 09:17:48 -0700
From: Andrii Nakryiko <andrii.nakryiko@...il.com>
To: Toke Høiland-Jørgensen <toke@...nel.org>
Cc: Networking <netdev@...r.kernel.org>, bpf <bpf@...r.kernel.org>,
Tonghao Zhang <xiangxia.m.yue@...il.com>,
Alexei Starovoitov <ast@...nel.org>,
Daniel Borkmann <daniel@...earbox.net>,
Andrii Nakryiko <andrii@...nel.org>,
Martin KaFai Lau <kafai@...com>,
Song Liu <songliubraving@...com>, Yonghong Song <yhs@...com>,
John Fastabend <john.fastabend@...il.com>,
KP Singh <kpsingh@...nel.org>, Jiri Olsa <jolsa@...nel.org>,
Dave Marchevsky <davemarchevsky@...com>,
Kuniyuki Iwashima <kuniyu@...zon.co.jp>,
Joanne Koong <joannekoong@...com>,
Geliang Tang <geliang.tang@...e.com>,
"David S. Miller" <davem@...emloft.net>,
Jakub Kicinski <kuba@...nel.org>,
Eric Dumazet <edumazet@...gle.com>
Subject: Re: [net-next v1] bpf: add bpf_ktime_get_real_ns helper
On Wed, Apr 20, 2022 at 5:53 AM Toke Høiland-Jørgensen <toke@...nel.org> wrote:
>
> xiangxia.m.yue@...il.com writes:
>
> > From: Tonghao Zhang <xiangxia.m.yue@...il.com>
> >
> > 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
> -Toke
Powered by blists - more mailing lists