On Fri, Jan 21, 2022 at 01:35:08PM +0100, Magnus Karlsson wrote: > From: Magnus Karlsson <magnus.karlsson@xxxxxxxxx> > > Fix the rx_full stats test so that it correctly reports pass even when > the fill ring is not full of buffers. > > Fixes: 872a1184dbf2 ("selftests: xsk: Put the same buffer only once in the fill ring") > Signed-off-by: Magnus Karlsson <magnus.karlsson@xxxxxxxxx> Fixes xdpxceiver hang on my side. Tested-by: Maciej Fijalkowski <maciej.fijalkowski@xxxxxxxxx> Acked-by: Maciej Fijalkowski <maciej.fijalkowski@xxxxxxxxx> > --- > tools/testing/selftests/bpf/xdpxceiver.c | 5 ++++- > 1 file changed, 4 insertions(+), 1 deletion(-) > > diff --git a/tools/testing/selftests/bpf/xdpxceiver.c b/tools/testing/selftests/bpf/xdpxceiver.c > index 0a5d23da486d..ffa5502ad95e 100644 > --- a/tools/testing/selftests/bpf/xdpxceiver.c > +++ b/tools/testing/selftests/bpf/xdpxceiver.c > @@ -906,7 +906,10 @@ static bool rx_stats_are_valid(struct ifobject *ifobject) > return true; > case STAT_TEST_RX_FULL: > xsk_stat = stats.rx_ring_full; > - expected_stat -= RX_FULL_RXQSIZE; > + if (ifobject->umem->num_frames < XSK_RING_PROD__DEFAULT_NUM_DESCS) > + expected_stat = ifobject->umem->num_frames - RX_FULL_RXQSIZE; > + else > + expected_stat = XSK_RING_PROD__DEFAULT_NUM_DESCS - RX_FULL_RXQSIZE; > break; > case STAT_TEST_RX_FILL_EMPTY: > xsk_stat = stats.rx_fill_ring_empty_descs; > > base-commit: 820e6e227c4053b6b631ae65ef1f65d560cb392b > -- > 2.34.1 >