Hello, On Wed, Mar 15, 2023 at 11:29:50AM +0100, David Marchand wrote: > Hello, > > On Mon, Mar 13, 2023 at 5:57 PM Pavel Ivashchenko > <pivashche...@nfware.com> wrote: > > app: fix mbuf_autotest in case of defined RTE_LIBRTE_MBUF_DEBUG
I suggest this title instead: test/mbuf: fix mbuf autotest when mbuf debug is enabled > > > > How to reproduce: > > > > 1. Define RTE_LIBRTE_MBUF_DEBUG > > 2. MALLOC_PERTURB_=178 DPDK_TEST=mbuf_autotest gdb --args > > obj-x86_64-linux-gnu/app/test/dpdk-test --file-prefix=mbuf_autotest > > > > PANIC in rte_mbuf_sanity_check(): > > bad pkt_len > > > > ... > > #6 0x00007ffff7d3d4cc in rte_mbuf_sanity_check (m=m@entry=0x17f8c3400, > > is_header=is_header@entry=1) at ../lib/mbuf/rte_mbuf.c:384 > > #7 0x0000555555653d57 in rte_pktmbuf_free (m=0x17f8c3400) at > > ../lib/mbuf/rte_mbuf.h:1385 > > #8 0x000055555565c7a6 in test_nb_segs_and_next_reset () at > > ../app/test/test_mbuf.c:2752 > > #9 test_mbuf () at ../app/test/test_mbuf.c:2967 > > ... > > > > (gdb) frame 6 > > #6 0x00007ffff7d3d4cc in rte_mbuf_sanity_check (m=m@entry=0x17f8c3400, > > is_header=is_header@entry=1) at ../lib/mbuf/rte_mbuf.c:384 > > 384 rte_panic("%s\n", reason); > > (gdb) p/d m->pkt_len > > $4 = 1500 > > > > Fixes: efc6f9104c80 ("mbuf: fix reset on mbuf free") > > Cc: sta...@dpdk.org > > > > Signed-off-by: Pavel Ivashchenko <pivashche...@nfware.com> > > LGTM, thanks. > Just a small comment. > > > > --- > > app/test/test_mbuf.c | 1 + > > 1 file changed, 1 insertion(+) > > > > diff --git a/app/test/test_mbuf.c b/app/test/test_mbuf.c > > index 6cbb03b0af..d471a23805 100644 > > --- a/app/test/test_mbuf.c > > +++ b/app/test/test_mbuf.c > > @@ -2744,6 +2744,7 @@ test_nb_segs_and_next_reset(void) > > > > /* split m0 chain in two, between m1 and m2 */ > > m0->nb_segs = 2; > > + m0->pkt_len -= 500; > > m0->pkt_len -= m2->data_len seems more readable and robust to me. > > Opinions? Even if the 500 is hardcoded right above, this looks indeed better. Or this seems fine too: m0->pkt_len = m0->data_len + m1->data_len; Thanks, Olivier > > > > m1->next = NULL; > > m2->nb_segs = 1; > > > > > -- > David Marchand >