[v2,3/3] test/bbdev: explicit check for allocation failure
Checks
Commit Message
Adding check for error on return of the
rte_bbdev_*_op_alloc_bulk calls in bbdev-test.
Signed-off-by: Nicolas Chautru <nicolas.chautru@intel.com>
---
app/test-bbdev/test_bbdev_perf.c | 9 ++++++---
1 file changed, 6 insertions(+), 3 deletions(-)
Comments
On 12/6/22 20:14, Nicolas Chautru wrote:
> Adding check for error on return of the
> rte_bbdev_*_op_alloc_bulk calls in bbdev-test.
>
> Signed-off-by: Nicolas Chautru <nicolas.chautru@intel.com>
> ---
> app/test-bbdev/test_bbdev_perf.c | 9 ++++++---
> 1 file changed, 6 insertions(+), 3 deletions(-)
>
> diff --git a/app/test-bbdev/test_bbdev_perf.c b/app/test-bbdev/test_bbdev_perf.c
> index b2e536b5e3..a922d69ada 100644
> --- a/app/test-bbdev/test_bbdev_perf.c
> +++ b/app/test-bbdev/test_bbdev_perf.c
> @@ -4958,7 +4958,8 @@ offload_latency_test_fft(struct rte_mempool *mempool, struct test_buffers *bufs,
> if (unlikely(num_to_process - dequeued < burst_sz))
> burst_sz = num_to_process - dequeued;
>
> - rte_bbdev_fft_op_alloc_bulk(mempool, ops_enq, burst_sz);
> + ret = rte_bbdev_fft_op_alloc_bulk(mempool, ops_enq, burst_sz);
> + TEST_ASSERT_SUCCESS(ret, "Allocation failed for %d ops", ops_enq);
> if (test_vector.op_type != RTE_BBDEV_OP_NONE)
> copy_reference_fft_op(ops_enq, burst_sz, dequeued,
> bufs->inputs,
> @@ -5040,7 +5041,8 @@ offload_latency_test_dec(struct rte_mempool *mempool, struct test_buffers *bufs,
> if (unlikely(num_to_process - dequeued < burst_sz))
> burst_sz = num_to_process - dequeued;
>
> - rte_bbdev_dec_op_alloc_bulk(mempool, ops_enq, burst_sz);
> + ret = rte_bbdev_dec_op_alloc_bulk(mempool, ops_enq, burst_sz);
> + TEST_ASSERT_SUCCESS(ret, "Allocation failed for %d ops", ops_enq);
> if (test_vector.op_type != RTE_BBDEV_OP_NONE)
> copy_reference_dec_op(ops_enq, burst_sz, dequeued,
> bufs->inputs,
> @@ -5125,7 +5127,8 @@ offload_latency_test_ldpc_dec(struct rte_mempool *mempool,
> if (unlikely(num_to_process - dequeued < burst_sz))
> burst_sz = num_to_process - dequeued;
>
> - rte_bbdev_dec_op_alloc_bulk(mempool, ops_enq, burst_sz);
> + ret = rte_bbdev_dec_op_alloc_bulk(mempool, ops_enq, burst_sz);
> + TEST_ASSERT_SUCCESS(ret, "Allocation failed for %d ops", ops_enq);
> if (test_vector.op_type != RTE_BBDEV_OP_NONE)
> copy_reference_ldpc_dec_op(ops_enq, burst_sz, dequeued,
> bufs->inputs,
You need to add Fixes tag and cc stable.
Maxime
Hi Maxime,
I don’t believe this constitutes a fix, just adding more error check to be more comprehensive. Not required for stable branch really. Let me know if you disagree.
Can this be applied?
Thanks
Nic
> -----Original Message-----
> From: Maxime Coquelin <maxime.coquelin@redhat.com>
> Sent: Wednesday, December 7, 2022 12:40 AM
> To: Chautru, Nicolas <nicolas.chautru@intel.com>; dev@dpdk.org
> Cc: Vargas, Hernan <hernan.vargas@intel.com>; Vipin.Varghese@amd.com
> Subject: Re: [PATCH v2 3/3] test/bbdev: explicit check for allocation failure
>
>
>
> On 12/6/22 20:14, Nicolas Chautru wrote:
> > Adding check for error on return of the rte_bbdev_*_op_alloc_bulk
> > calls in bbdev-test.
> >
> > Signed-off-by: Nicolas Chautru <nicolas.chautru@intel.com>
> > ---
> > app/test-bbdev/test_bbdev_perf.c | 9 ++++++---
> > 1 file changed, 6 insertions(+), 3 deletions(-)
> >
> > diff --git a/app/test-bbdev/test_bbdev_perf.c
> > b/app/test-bbdev/test_bbdev_perf.c
> > index b2e536b5e3..a922d69ada 100644
> > --- a/app/test-bbdev/test_bbdev_perf.c
> > +++ b/app/test-bbdev/test_bbdev_perf.c
> > @@ -4958,7 +4958,8 @@ offload_latency_test_fft(struct rte_mempool
> *mempool, struct test_buffers *bufs,
> > if (unlikely(num_to_process - dequeued < burst_sz))
> > burst_sz = num_to_process - dequeued;
> >
> > - rte_bbdev_fft_op_alloc_bulk(mempool, ops_enq, burst_sz);
> > + ret = rte_bbdev_fft_op_alloc_bulk(mempool, ops_enq,
> burst_sz);
> > + TEST_ASSERT_SUCCESS(ret, "Allocation failed for %d ops",
> ops_enq);
> > if (test_vector.op_type != RTE_BBDEV_OP_NONE)
> > copy_reference_fft_op(ops_enq, burst_sz,
> dequeued,
> > bufs->inputs,
> > @@ -5040,7 +5041,8 @@ offload_latency_test_dec(struct rte_mempool
> *mempool, struct test_buffers *bufs,
> > if (unlikely(num_to_process - dequeued < burst_sz))
> > burst_sz = num_to_process - dequeued;
> >
> > - rte_bbdev_dec_op_alloc_bulk(mempool, ops_enq,
> burst_sz);
> > + ret = rte_bbdev_dec_op_alloc_bulk(mempool, ops_enq,
> burst_sz);
> > + TEST_ASSERT_SUCCESS(ret, "Allocation failed for %d ops",
> ops_enq);
> > if (test_vector.op_type != RTE_BBDEV_OP_NONE)
> > copy_reference_dec_op(ops_enq, burst_sz,
> dequeued,
> > bufs->inputs,
> > @@ -5125,7 +5127,8 @@ offload_latency_test_ldpc_dec(struct
> rte_mempool *mempool,
> > if (unlikely(num_to_process - dequeued < burst_sz))
> > burst_sz = num_to_process - dequeued;
> >
> > - rte_bbdev_dec_op_alloc_bulk(mempool, ops_enq,
> burst_sz);
> > + ret = rte_bbdev_dec_op_alloc_bulk(mempool, ops_enq,
> burst_sz);
> > + TEST_ASSERT_SUCCESS(ret, "Allocation failed for %d ops",
> ops_enq);
> > if (test_vector.op_type != RTE_BBDEV_OP_NONE)
> > copy_reference_ldpc_dec_op(ops_enq, burst_sz,
> dequeued,
> > bufs->inputs,
>
> You need to add Fixes tag and cc stable.
>
> Maxime
Hi Nicolas,
On 12/7/22 16:33, Chautru, Nicolas wrote:
> Hi Maxime,
>
> I don’t believe this constitutes a fix, just adding more error check to be more comprehensive. Not required for stable branch really. Let me know if you disagree.
I think we should backport it since it constitutes a fix.
Without it, user could face a segfault, so it fixes a potential
segfault.
> Can this be applied?
Yes, with fixes tags.
I can add them while applying if you agree.
Regards,
Maxime
> Thanks
> Nic
>
>> -----Original Message-----
>> From: Maxime Coquelin <maxime.coquelin@redhat.com>
>> Sent: Wednesday, December 7, 2022 12:40 AM
>> To: Chautru, Nicolas <nicolas.chautru@intel.com>; dev@dpdk.org
>> Cc: Vargas, Hernan <hernan.vargas@intel.com>; Vipin.Varghese@amd.com
>> Subject: Re: [PATCH v2 3/3] test/bbdev: explicit check for allocation failure
>>
>>
>>
>> On 12/6/22 20:14, Nicolas Chautru wrote:
>>> Adding check for error on return of the rte_bbdev_*_op_alloc_bulk
>>> calls in bbdev-test.
>>>
>>> Signed-off-by: Nicolas Chautru <nicolas.chautru@intel.com>
>>> ---
>>> app/test-bbdev/test_bbdev_perf.c | 9 ++++++---
>>> 1 file changed, 6 insertions(+), 3 deletions(-)
>>>
>>> diff --git a/app/test-bbdev/test_bbdev_perf.c
>>> b/app/test-bbdev/test_bbdev_perf.c
>>> index b2e536b5e3..a922d69ada 100644
>>> --- a/app/test-bbdev/test_bbdev_perf.c
>>> +++ b/app/test-bbdev/test_bbdev_perf.c
>>> @@ -4958,7 +4958,8 @@ offload_latency_test_fft(struct rte_mempool
>> *mempool, struct test_buffers *bufs,
>>> if (unlikely(num_to_process - dequeued < burst_sz))
>>> burst_sz = num_to_process - dequeued;
>>>
>>> - rte_bbdev_fft_op_alloc_bulk(mempool, ops_enq, burst_sz);
>>> + ret = rte_bbdev_fft_op_alloc_bulk(mempool, ops_enq,
>> burst_sz);
>>> + TEST_ASSERT_SUCCESS(ret, "Allocation failed for %d ops",
>> ops_enq);
>>> if (test_vector.op_type != RTE_BBDEV_OP_NONE)
>>> copy_reference_fft_op(ops_enq, burst_sz,
>> dequeued,
>>> bufs->inputs,
>>> @@ -5040,7 +5041,8 @@ offload_latency_test_dec(struct rte_mempool
>> *mempool, struct test_buffers *bufs,
>>> if (unlikely(num_to_process - dequeued < burst_sz))
>>> burst_sz = num_to_process - dequeued;
>>>
>>> - rte_bbdev_dec_op_alloc_bulk(mempool, ops_enq,
>> burst_sz);
>>> + ret = rte_bbdev_dec_op_alloc_bulk(mempool, ops_enq,
>> burst_sz);
>>> + TEST_ASSERT_SUCCESS(ret, "Allocation failed for %d ops",
>> ops_enq);
>>> if (test_vector.op_type != RTE_BBDEV_OP_NONE)
>>> copy_reference_dec_op(ops_enq, burst_sz,
>> dequeued,
>>> bufs->inputs,
>>> @@ -5125,7 +5127,8 @@ offload_latency_test_ldpc_dec(struct
>> rte_mempool *mempool,
>>> if (unlikely(num_to_process - dequeued < burst_sz))
>>> burst_sz = num_to_process - dequeued;
>>>
>>> - rte_bbdev_dec_op_alloc_bulk(mempool, ops_enq,
>> burst_sz);
>>> + ret = rte_bbdev_dec_op_alloc_bulk(mempool, ops_enq,
>> burst_sz);
>>> + TEST_ASSERT_SUCCESS(ret, "Allocation failed for %d ops",
>> ops_enq);
>>> if (test_vector.op_type != RTE_BBDEV_OP_NONE)
>>> copy_reference_ldpc_dec_op(ops_enq, burst_sz,
>> dequeued,
>>> bufs->inputs,
>>
>> You need to add Fixes tag and cc stable.
>>
>> Maxime
>
@@ -4958,7 +4958,8 @@ offload_latency_test_fft(struct rte_mempool *mempool, struct test_buffers *bufs,
if (unlikely(num_to_process - dequeued < burst_sz))
burst_sz = num_to_process - dequeued;
- rte_bbdev_fft_op_alloc_bulk(mempool, ops_enq, burst_sz);
+ ret = rte_bbdev_fft_op_alloc_bulk(mempool, ops_enq, burst_sz);
+ TEST_ASSERT_SUCCESS(ret, "Allocation failed for %d ops", ops_enq);
if (test_vector.op_type != RTE_BBDEV_OP_NONE)
copy_reference_fft_op(ops_enq, burst_sz, dequeued,
bufs->inputs,
@@ -5040,7 +5041,8 @@ offload_latency_test_dec(struct rte_mempool *mempool, struct test_buffers *bufs,
if (unlikely(num_to_process - dequeued < burst_sz))
burst_sz = num_to_process - dequeued;
- rte_bbdev_dec_op_alloc_bulk(mempool, ops_enq, burst_sz);
+ ret = rte_bbdev_dec_op_alloc_bulk(mempool, ops_enq, burst_sz);
+ TEST_ASSERT_SUCCESS(ret, "Allocation failed for %d ops", ops_enq);
if (test_vector.op_type != RTE_BBDEV_OP_NONE)
copy_reference_dec_op(ops_enq, burst_sz, dequeued,
bufs->inputs,
@@ -5125,7 +5127,8 @@ offload_latency_test_ldpc_dec(struct rte_mempool *mempool,
if (unlikely(num_to_process - dequeued < burst_sz))
burst_sz = num_to_process - dequeued;
- rte_bbdev_dec_op_alloc_bulk(mempool, ops_enq, burst_sz);
+ ret = rte_bbdev_dec_op_alloc_bulk(mempool, ops_enq, burst_sz);
+ TEST_ASSERT_SUCCESS(ret, "Allocation failed for %d ops", ops_enq);
if (test_vector.op_type != RTE_BBDEV_OP_NONE)
copy_reference_ldpc_dec_op(ops_enq, burst_sz, dequeued,
bufs->inputs,