From: Ciara Loftus <ciara.loftus@intel.com>
To: netdev@vger.kernel.org, bpf@vger.kernel.org,
magnus.karlsson@intel.com, bjorn@kernel.org,
weqaar.a.janjua@intel.com
Cc: Ciara Loftus <ciara.loftus@intel.com>
Subject: [PATCH bpf-next 0/6] AF_XDP Packet Drop Tracing
Date: Mon, 25 Jan 2021 09:07:33 +0000 [thread overview]
Message-ID: <20210125090739.1045-1-ciara.loftus@intel.com> (raw)
This series introduces tracing infrastructure for AF_XDP sockets (xsks).
A trace event 'xsk_packet_drop' is created which can be enabled by toggling
/sys/kernel/debug/tracing/events/xsk/xsk_packet_drop/enable
When enabled and packets are dropped in the kernel, traces are generated
which describe the reason for the packet drop as well as the netdev and
qid information of the xsk which encountered the drop.
Example traces:
507.588563: xsk_packet_drop: netdev: eth0 qid 0 reason: rxq full
507.588567: xsk_packet_drop: netdev: eth0 qid 0 reason: packet too big
507.588568: xsk_packet_drop: netdev: eth0 qid 0 reason: fq empty
The event can also be monitored using perf:
perf stat -a -e xsk:xsk_packet_drop
Three selftests are added which each ensure the appropriate traces are
generated for the following scenarios:
* rx queue full
* packet too big
* fill queue empty
Ciara Loftus (6):
xsk: add tracepoints for packet drops
selftests/bpf: restructure setting the packet count
selftests/bpf: add framework for xsk selftests
selftests/bpf: XSK_TRACE_DROP_RXQ_FULL test
selftests/bpf: XSK_TRACE_DROP_PKT_TOO_BIG test
selftests/bpf: XSK_TRACE_DROP_FQ_EMPTY test
MAINTAINERS | 1 +
include/linux/bpf_trace.h | 1 +
include/trace/events/xsk.h | 45 +++++
include/uapi/linux/if_xdp.h | 8 +
kernel/bpf/core.c | 1 +
net/xdp/xsk.c | 5 +
net/xdp/xsk_buff_pool.c | 8 +-
tools/include/uapi/linux/if_xdp.h | 8 +
tools/testing/selftests/bpf/test_xsk.sh | 90 +++++++++-
tools/testing/selftests/bpf/xdpxceiver.c | 186 +++++++++++++++++++--
tools/testing/selftests/bpf/xdpxceiver.h | 10 ++
tools/testing/selftests/bpf/xsk_prereqs.sh | 3 +-
12 files changed, 344 insertions(+), 22 deletions(-)
create mode 100644 include/trace/events/xsk.h
--
2.17.1
next reply other threads:[~2021-01-26 19:45 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-01-25 9:07 Ciara Loftus [this message]
2021-01-25 9:07 ` [PATCH bpf-next 1/6] xsk: add tracepoints for packet drops Ciara Loftus
2021-01-25 9:07 ` [PATCH bpf-next 2/6] selftests/bpf: restructure setting the packet count Ciara Loftus
2021-01-25 9:07 ` [PATCH bpf-next 3/6] selftests/bpf: add framework for xsk selftests Ciara Loftus
2021-01-25 9:07 ` [PATCH bpf-next 4/6] selftests/bpf: XSK_TRACE_DROP_RXQ_FULL test Ciara Loftus
2021-01-25 9:07 ` [PATCH bpf-next 5/6] selftests/bpf: XSK_TRACE_DROP_PKT_TOO_BIG test Ciara Loftus
2021-01-25 9:07 ` [PATCH bpf-next 6/6] selftests/bpf: XSK_TRACE_DROP_FQ_EMPTY test Ciara Loftus
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20210125090739.1045-1-ciara.loftus@intel.com \
--to=ciara.loftus@intel.com \
--cc=bjorn@kernel.org \
--cc=bpf@vger.kernel.org \
--cc=magnus.karlsson@intel.com \
--cc=netdev@vger.kernel.org \
--cc=weqaar.a.janjua@intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).