On Mon, Apr 3, 2023 at 8:08 AM Jesper Brouer <jbrouer@xxxxxxxxxx> wrote: > > > > søn. 2. apr. 2023 17.50 skrev Alexei Starovoitov <alexei.starovoitov@xxxxxxxxx>: >> >> On Sun, Apr 2, 2023 at 1:30 AM Jesper Dangaard Brouer <brouer@xxxxxxxxxx> wrote: >> > >> > Update BPF selftests to use the new RSS type argument for kfunc >> > bpf_xdp_metadata_rx_hash. >> > >> > Signed-off-by: Jesper Dangaard Brouer <brouer@xxxxxxxxxx> >> > Acked-by: Toke Høiland-Jørgensen <toke@xxxxxxxxxx> >> > Acked-by: Stanislav Fomichev <sdf@xxxxxxxxxx> >> > --- >> > .../selftests/bpf/prog_tests/xdp_metadata.c | 2 ++ >> > .../testing/selftests/bpf/progs/xdp_hw_metadata.c | 14 +++++++++----- >> > tools/testing/selftests/bpf/progs/xdp_metadata.c | 6 +++--- >> > tools/testing/selftests/bpf/progs/xdp_metadata2.c | 7 ++++--- >> > tools/testing/selftests/bpf/xdp_hw_metadata.c | 2 +- >> > tools/testing/selftests/bpf/xdp_metadata.h | 1 + >> > 6 files changed, 20 insertions(+), 12 deletions(-) >> > >> > diff --git a/tools/testing/selftests/bpf/prog_tests/xdp_metadata.c b/tools/testing/selftests/bpf/prog_tests/xdp_metadata.c >> > index aa4beae99f4f..8c5e98da9ae9 100644 >> > --- a/tools/testing/selftests/bpf/prog_tests/xdp_metadata.c >> > +++ b/tools/testing/selftests/bpf/prog_tests/xdp_metadata.c >> > @@ -273,6 +273,8 @@ static int verify_xsk_metadata(struct xsk *xsk) >> > if (!ASSERT_NEQ(meta->rx_hash, 0, "rx_hash")) >> > return -1; >> > >> > + ASSERT_EQ(meta->rx_hash_type, 0, "rx_hash_type"); >> > + >> > xsk_ring_cons__release(&xsk->rx, 1); >> > refill_rx(xsk, comp_addr); >> > >> > diff --git a/tools/testing/selftests/bpf/progs/xdp_hw_metadata.c b/tools/testing/selftests/bpf/progs/xdp_hw_metadata.c >> > index 4c55b4d79d3d..7b3fc12e96d6 100644 >> > --- a/tools/testing/selftests/bpf/progs/xdp_hw_metadata.c >> > +++ b/tools/testing/selftests/bpf/progs/xdp_hw_metadata.c >> > @@ -14,8 +14,8 @@ struct { >> > >> > extern int bpf_xdp_metadata_rx_timestamp(const struct xdp_md *ctx, >> > __u64 *timestamp) __ksym; >> > -extern int bpf_xdp_metadata_rx_hash(const struct xdp_md *ctx, >> > - __u32 *hash) __ksym; >> > +extern int bpf_xdp_metadata_rx_hash(const struct xdp_md *ctx, __u32 *hash, >> > + enum xdp_rss_hash_type *rss_type) __ksym; >> > >> > SEC("xdp") >> > int rx(struct xdp_md *ctx) >> > @@ -74,10 +74,14 @@ 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 >> > + if (!bpf_xdp_metadata_rx_hash(ctx, &meta->rx_hash, &meta->rx_hash_type)) { >> > + bpf_printk("populated rx_hash:0x%X type:0x%X", >> > + meta->rx_hash, meta->rx_hash_type); >> > + if (!(meta->rx_hash_type & XDP_RSS_L4)) >> > + bpf_printk("rx_hash low quality L3 hash type"); >> > + } else { >> > meta->rx_hash = 0; /* Used by AF_XDP as not avail signal */ >> > + } >> >> Didn't we agree in the previous thread to remove these printks and >> replace them with actual stats that user space can see? > > > This patchset is for bpf-tree RC version of kernel. > Thus, we keep changes to a minimum. > > I/we will do printk work on bpf-next. > (Once I get home from vacation next week) Sorry, but I insist on making them in this set. We did bigger changes in bpf tree, so size is not an issue. I don't want to remember to ping you every week or so to remind you to fix this later after bpf gets merged into bpf-next. Less work for me and less work for you to do it now.