From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by lists.bufferbloat.net (Postfix) with ESMTPS id 7E1803CB36 for ; Fri, 26 Jan 2018 03:50:28 -0500 (EST) Received: from smtp.corp.redhat.com (int-mx04.intmail.prod.int.phx2.redhat.com [10.5.11.14]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id C20EB3C88FE; Fri, 26 Jan 2018 08:50:27 +0000 (UTC) Received: from localhost (ovpn-200-42.brq.redhat.com [10.40.200.42]) by smtp.corp.redhat.com (Postfix) with ESMTP id EE7F55D960; Fri, 26 Jan 2018 08:50:22 +0000 (UTC) Date: Fri, 26 Jan 2018 09:50:21 +0100 From: Jesper Dangaard Brouer To: Toke =?UTF-8?B?SMO4aWxhbmQtSsO4cmdlbnNlbg==?= Cc: Dave Taht , bloat , brouer@redhat.com, "xdp-newbies@vger.kernel.org" Message-ID: <20180126095021.4d7de9aa@redhat.com> In-Reply-To: <877es51t6y.fsf@toke.dk> References: <877es51t6y.fsf@toke.dk> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable X-Scanned-By: MIMEDefang 2.79 on 10.5.11.14 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.29]); Fri, 26 Jan 2018 08:50:27 +0000 (UTC) Subject: Re: [Bloat] one big bump in the wire for latency monitoring X-BeenThere: bloat@lists.bufferbloat.net X-Mailman-Version: 2.1.20 Precedence: list List-Id: General list for discussing Bufferbloat List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 26 Jan 2018 08:50:28 -0000 On Thu, 25 Jan 2018 23:15:17 +0100 Toke H=C3=B8iland-J=C3=B8rgensen wrote: > Dave Taht writes: >=20 > > https://blog.apnic.net/2018/01/22/ruru-real-time-wide-area-tcp-latency-= monitoring/ =20 >=20 > Neat! The packet tapping part could probably be implemented in XDP to > avoid the DPDK space heater... ;) I was thinking the exact same thing ;-) It should be fairly simple to write a XDP/eBPF program, that timestamp via bpf_ktime_get_ns() and queue the events via a perf ring-buffer via bpf_perf_event_output() (the only kernel example is [1]). And a userspace side tool[2] that reads these perf_event's. Cc. xdp-newbies@vger.kernel.org hoping someone want to give it a go? [1] https://github.com/torvalds/linux/blob/master/samples/bpf/trace_output_= kern.c [2] https://github.com/torvalds/linux/blob/master/samples/bpf/trace_output_= user.c --=20 Best regards, Jesper Dangaard Brouer MSc.CS, Principal Kernel Engineer at Red Hat LinkedIn: http://www.linkedin.com/in/brouer