From: Stanislav Fomichev <sdf@google.com>
To: Jesper Dangaard Brouer <brouer@redhat.com>
Cc: bpf@vger.kernel.org, netdev@vger.kernel.org,
martin.lau@kernel.org, ast@kernel.org, daniel@iogearbox.net,
alexandr.lobakin@intel.com, larysa.zaremba@intel.com,
xdp-hints@xdp-project.net, anthony.l.nguyen@intel.com,
yoong.siang.song@intel.com, boon.leong.ong@intel.com
Subject: Re: [PATCH bpf-next V1 4/7] selftests/bpf: xdp_hw_metadata RX hash return code info
Date: Fri, 17 Mar 2023 14:13:16 -0700 [thread overview]
Message-ID: <ZBTX7CBzNk9SaWgx@google.com> (raw)
In-Reply-To: <167906361094.2706833.8381428662566265476.stgit@firesoul>
On 03/17, Jesper Dangaard Brouer wrote:
> When driver developers add XDP-hints kfuncs for RX hash it is
> practical to print the return code in bpf_printk trace pipe log.
> Print hash value as a hex value, both AF_XDP userspace and bpf_prog,
> as this makes it easier to spot poor quality hashes.
> Signed-off-by: Jesper Dangaard Brouer <brouer@redhat.com>
Acked-by: Stanislav Fomichev <sdf@google.com>
(with a small suggestion below, maybe can do separately?)
> ---
> .../testing/selftests/bpf/progs/xdp_hw_metadata.c | 9 ++++++---
> tools/testing/selftests/bpf/xdp_hw_metadata.c | 5 ++++-
> 2 files changed, 10 insertions(+), 4 deletions(-)
> diff --git a/tools/testing/selftests/bpf/progs/xdp_hw_metadata.c
> b/tools/testing/selftests/bpf/progs/xdp_hw_metadata.c
> index f2a3b70a9882..f2278ca2ad03 100644
> --- a/tools/testing/selftests/bpf/progs/xdp_hw_metadata.c
> +++ b/tools/testing/selftests/bpf/progs/xdp_hw_metadata.c
> @@ -76,10 +76,13 @@ int rx(struct xdp_md *ctx)
> } else
> meta->rx_timestamp = 0; /* Used by AF_XDP as not avail signal */
> - if (!bpf_xdp_metadata_rx_hash(ctx, &meta->rx_hash))
> - bpf_printk("populated rx_hash with %u", meta->rx_hash);
> - else
> + ret = bpf_xdp_metadata_rx_hash(ctx, &meta->rx_hash);
> + if (ret >= 0) {
> + bpf_printk("populated rx_hash with 0x%08X", meta->rx_hash);
> + } else {
> + bpf_printk("rx_hash not-avail errno:%d", ret);
> meta->rx_hash = 0; /* Used by AF_XDP as not avail signal */
> + }
> return bpf_redirect_map(&xsk, ctx->rx_queue_index, XDP_PASS);
> }
> diff --git a/tools/testing/selftests/bpf/xdp_hw_metadata.c
> b/tools/testing/selftests/bpf/xdp_hw_metadata.c
> index 400bfe19abfe..f3ec07ccdc95 100644
> --- a/tools/testing/selftests/bpf/xdp_hw_metadata.c
> +++ b/tools/testing/selftests/bpf/xdp_hw_metadata.c
> @@ -3,6 +3,9 @@
> /* Reference program for verifying XDP metadata on real HW. Functional
> test
> * only, doesn't test the performance.
> *
[..]
> + * BPF-prog bpf_printk info outout can be access via
> + * /sys/kernel/debug/tracing/trace_pipe
Maybe we should just dump the contents of
/sys/kernel/debug/tracing/trace for every poll cycle?
We can also maybe enable tracing in this program transparently?
I usually forget 'echo 1 >
/sys/kernel/debug/tracing/events/bpf_trace/bpf_trace_printk/enable'
myself :-)
> + *
> * RX:
> * - UDP 9091 packets are diverted into AF_XDP
> * - Metadata verified:
> @@ -156,7 +159,7 @@ static void verify_xdp_metadata(void *data, clockid_t
> clock_id)
> meta = data - sizeof(*meta);
> - printf("rx_hash: %u\n", meta->rx_hash);
> + printf("rx_hash: 0x%08X\n", meta->rx_hash);
> printf("rx_timestamp: %llu (sec:%0.4f)\n", meta->rx_timestamp,
> (double)meta->rx_timestamp / NANOSEC_PER_SEC);
> if (meta->rx_timestamp) {
next prev parent reply other threads:[~2023-03-17 21:13 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-03-17 14:33 [PATCH bpf-next V1 0/7] XDP-hints kfuncs for Intel driver igc Jesper Dangaard Brouer
2023-03-17 14:33 ` [PATCH bpf-next V1 1/7] xdp: bpf_xdp_metadata use EOPNOTSUPP for no driver support Jesper Dangaard Brouer
2023-03-17 21:21 ` Stanislav Fomichev
2023-03-20 18:42 ` Jesper Dangaard Brouer
2023-03-21 12:24 ` [xdp-hints] " Toke Høiland-Jørgensen
2023-03-21 13:48 ` Jesper Dangaard Brouer
2023-03-17 14:33 ` [PATCH bpf-next V1 2/7] igc: enable and fix RX hash usage by netstack Jesper Dangaard Brouer
2023-03-17 14:33 ` [PATCH bpf-next V1 3/7] selftests/bpf: xdp_hw_metadata track more timestamps Jesper Dangaard Brouer
2023-03-17 21:09 ` Stanislav Fomichev
2023-03-21 13:29 ` Jesper Dangaard Brouer
2023-03-17 14:33 ` [PATCH bpf-next V1 4/7] selftests/bpf: xdp_hw_metadata RX hash return code info Jesper Dangaard Brouer
2023-03-17 21:13 ` Stanislav Fomichev [this message]
2023-03-21 13:32 ` Jesper Dangaard Brouer
2023-03-21 18:45 ` Stanislav Fomichev
2023-03-22 15:57 ` Jesper Dangaard Brouer
2023-03-17 14:33 ` [PATCH bpf-next V1 5/7] igc: add igc_xdp_buff wrapper for xdp_buff in driver Jesper Dangaard Brouer
2023-03-17 14:33 ` [PATCH bpf-next V1 6/7] igc: add XDP hints kfuncs for RX timestamp Jesper Dangaard Brouer
2023-03-17 14:33 ` [PATCH bpf-next V1 7/7] igc: add XDP hints kfuncs for RX hash Jesper Dangaard Brouer
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=ZBTX7CBzNk9SaWgx@google.com \
--to=sdf@google.com \
--cc=alexandr.lobakin@intel.com \
--cc=anthony.l.nguyen@intel.com \
--cc=ast@kernel.org \
--cc=boon.leong.ong@intel.com \
--cc=bpf@vger.kernel.org \
--cc=brouer@redhat.com \
--cc=daniel@iogearbox.net \
--cc=larysa.zaremba@intel.com \
--cc=martin.lau@kernel.org \
--cc=netdev@vger.kernel.org \
--cc=xdp-hints@xdp-project.net \
--cc=yoong.siang.song@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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.