[v2,1/1] app/test: resolve mbuf_test application failure

Message ID 20230726055507.1183617-1-rkudurumalla@marvell.com (mailing list archive)
State Superseded, archived
Delegated to: Thomas Monjalon
Headers
Series [v2,1/1] app/test: resolve mbuf_test application failure |

Checks

Context Check Description
ci/checkpatch success coding style OK
ci/loongarch-compilation success Compilation OK
ci/loongarch-unit-testing success Unit Testing PASS
ci/Intel-compilation success Compilation OK
ci/intel-Testing success Testing PASS
ci/github-robot: build success github build: passed
ci/intel-Functional success Functional PASS
ci/iol-mellanox-Performance success Performance Testing PASS
ci/iol-broadcom-Performance success Performance Testing PASS
ci/iol-intel-Functional success Functional Testing PASS
ci/iol-broadcom-Functional success Functional Testing PASS
ci/iol-testing success Testing PASS
ci/iol-abi-testing success Testing PASS
ci/iol-x86_64-unit-testing success Testing PASS
ci/iol-aarch-unit-testing success Testing PASS
ci/iol-intel-Performance success Performance Testing PASS
ci/iol-unit-testing success Testing PASS
ci/iol-x86_64-compile-testing success Testing PASS
ci/iol-aarch64-compile-testing success Testing PASS

Commit Message

Rakesh Kudurumalla July 26, 2023, 5:55 a.m. UTC
  when RTE_ENABLE_ASSERT is defined test_mbuf application is
failing because we are trying to attach extbuf to a cloned
buffer to which external mbuf is already attached.To make
test_mbuf pass CI we have updated ol_flags. This patch fixes
the same.

Signed-off-by: Rakesh Kudurumalla <rkudurumalla@marvell.com>
---
v2 : Addressed comments by removing extbuf call
     as mbuf is already attached

 app/test/test_mbuf.c | 5 +----
 1 file changed, 1 insertion(+), 4 deletions(-)
  

Comments

Rakesh Kudurumalla Oct. 3, 2023, 4:20 a.m. UTC | #1
Hi Olivier,

Let me know if you have any comments on this patch.

Regards,
Rakesh

> -----Original Message-----
> From: Rakesh Kudurumalla <rkudurumalla@marvell.com>
> Sent: Wednesday, July 26, 2023 11:25 AM
> To: Olivier Matz <olivier.matz@6wind.com>
> Cc: dev@dpdk.org; Jerin Jacob Kollanukkaran <jerinj@marvell.com>; Nithin
> Kumar Dabilpuram <ndabilpuram@marvell.com>; Rakesh Kudurumalla
> <rkudurumalla@marvell.com>
> Subject: [PATCH v2 1/1] app/test: resolve mbuf_test application failure
> 
> when RTE_ENABLE_ASSERT is defined test_mbuf application is failing
> because we are trying to attach extbuf to a cloned buffer to which external
> mbuf is already attached.To make test_mbuf pass CI we have updated
> ol_flags. This patch fixes the same.
> 
> Signed-off-by: Rakesh Kudurumalla <rkudurumalla@marvell.com>
> ---
> v2 : Addressed comments by removing extbuf call
>      as mbuf is already attached
> 
>  app/test/test_mbuf.c | 5 +----
>  1 file changed, 1 insertion(+), 4 deletions(-)
> 
> diff --git a/app/test/test_mbuf.c b/app/test/test_mbuf.c index
> efac01806b..722e1ef624 100644
> --- a/app/test/test_mbuf.c
> +++ b/app/test/test_mbuf.c
> @@ -2345,16 +2345,13 @@ test_pktmbuf_ext_shinfo_init_helper(struct
> rte_mempool *pktmbuf_pool)
>  		GOTO_FAIL("%s: External buffer is not attached to mbuf\n",
>  				__func__);
> 
> -	/* allocate one more mbuf */
> +	/* allocate one more mbuf, it is attached to the same external buffer
> +*/
>  	clone = rte_pktmbuf_clone(m, pktmbuf_pool);
>  	if (clone == NULL)
>  		GOTO_FAIL("%s: mbuf clone allocation failed!\n", __func__);
>  	if (rte_pktmbuf_pkt_len(clone) != 0)
>  		GOTO_FAIL("%s: Bad packet length\n", __func__);
> 
> -	/* attach the same external buffer to the cloned mbuf */
> -	rte_pktmbuf_attach_extbuf(clone, ext_buf_addr, buf_iova,
> buf_len,
> -			ret_shinfo);
>  	if (clone->ol_flags != RTE_MBUF_F_EXTERNAL)
>  		GOTO_FAIL("%s: External buffer is not attached to mbuf\n",
>  				__func__);
> --
> 2.25.1
  
Olivier Matz Oct. 17, 2023, 1:18 p.m. UTC | #2
Hi Rakesh,

Sorry for the delay.

On Tue, Oct 03, 2023 at 04:20:57AM +0000, Rakesh Kudurumalla wrote:
> Hi Olivier,
> 
> Let me know if you have any comments on this patch.
> 
> Regards,
> Rakesh
> 
> > -----Original Message-----
> > From: Rakesh Kudurumalla <rkudurumalla@marvell.com>
> > Sent: Wednesday, July 26, 2023 11:25 AM
> > To: Olivier Matz <olivier.matz@6wind.com>
> > Cc: dev@dpdk.org; Jerin Jacob Kollanukkaran <jerinj@marvell.com>; Nithin
> > Kumar Dabilpuram <ndabilpuram@marvell.com>; Rakesh Kudurumalla
> > <rkudurumalla@marvell.com>
> > Subject: [PATCH v2 1/1] app/test: resolve mbuf_test application failure

app/test: fix external mbuf test when assertions enabled

> > 
> > when RTE_ENABLE_ASSERT is defined test_mbuf application is failing
> > because we are trying to attach extbuf to a cloned buffer to which external
> > mbuf is already attached.To make test_mbuf pass CI we have updated
> > ol_flags. This patch fixes the same.
> > 

Fixes: 7b295dceea07 ("test/mbuf: add unit test cases")

> > Signed-off-by: Rakesh Kudurumalla <rkudurumalla@marvell.com>

Acked-by: Olivier Matz <olivier.matz@6wind.com>

> > ---
> > v2 : Addressed comments by removing extbuf call
> >      as mbuf is already attached
> > 
> >  app/test/test_mbuf.c | 5 +----
> >  1 file changed, 1 insertion(+), 4 deletions(-)
> > 
> > diff --git a/app/test/test_mbuf.c b/app/test/test_mbuf.c index
> > efac01806b..722e1ef624 100644
> > --- a/app/test/test_mbuf.c
> > +++ b/app/test/test_mbuf.c
> > @@ -2345,16 +2345,13 @@ test_pktmbuf_ext_shinfo_init_helper(struct
> > rte_mempool *pktmbuf_pool)
> >  		GOTO_FAIL("%s: External buffer is not attached to mbuf\n",
> >  				__func__);
> > 
> > -	/* allocate one more mbuf */
> > +	/* allocate one more mbuf, it is attached to the same external buffer
> > +*/
> >  	clone = rte_pktmbuf_clone(m, pktmbuf_pool);
> >  	if (clone == NULL)
> >  		GOTO_FAIL("%s: mbuf clone allocation failed!\n", __func__);
> >  	if (rte_pktmbuf_pkt_len(clone) != 0)
> >  		GOTO_FAIL("%s: Bad packet length\n", __func__);
> > 
> > -	/* attach the same external buffer to the cloned mbuf */
> > -	rte_pktmbuf_attach_extbuf(clone, ext_buf_addr, buf_iova,
> > buf_len,
> > -			ret_shinfo);
> >  	if (clone->ol_flags != RTE_MBUF_F_EXTERNAL)
> >  		GOTO_FAIL("%s: External buffer is not attached to mbuf\n",
> >  				__func__);
> > --
> > 2.25.1
>
  

Patch

diff --git a/app/test/test_mbuf.c b/app/test/test_mbuf.c
index efac01806b..722e1ef624 100644
--- a/app/test/test_mbuf.c
+++ b/app/test/test_mbuf.c
@@ -2345,16 +2345,13 @@  test_pktmbuf_ext_shinfo_init_helper(struct rte_mempool *pktmbuf_pool)
 		GOTO_FAIL("%s: External buffer is not attached to mbuf\n",
 				__func__);
 
-	/* allocate one more mbuf */
+	/* allocate one more mbuf, it is attached to the same external buffer */
 	clone = rte_pktmbuf_clone(m, pktmbuf_pool);
 	if (clone == NULL)
 		GOTO_FAIL("%s: mbuf clone allocation failed!\n", __func__);
 	if (rte_pktmbuf_pkt_len(clone) != 0)
 		GOTO_FAIL("%s: Bad packet length\n", __func__);
 
-	/* attach the same external buffer to the cloned mbuf */
-	rte_pktmbuf_attach_extbuf(clone, ext_buf_addr, buf_iova, buf_len,
-			ret_shinfo);
 	if (clone->ol_flags != RTE_MBUF_F_EXTERNAL)
 		GOTO_FAIL("%s: External buffer is not attached to mbuf\n",
 				__func__);