[v3,03/10] test/bbdev: handle exception for LLR generation

Message ID 20231103233413.756110-4-nicolas.chautru@intel.com (mailing list archive)
State Accepted, archived
Delegated to: Maxime Coquelin
Headers
Series test-bbdev changes for 23.11 |

Checks

Context Check Description
ci/checkpatch success coding style OK

Commit Message

Chautru, Nicolas Nov. 3, 2023, 11:34 p.m. UTC
  From: Hernan Vargas <hernan.vargas@intel.com>

Add range limit to prevent LLR generation greater than the data buffer
size.

Fixes: 7831a9684356 ("test/bbdev: support BLER for 4G")
Cc: stable@dpdk.org

Signed-off-by: Hernan Vargas <hernan.vargas@intel.com>
---
 app/test-bbdev/test_bbdev_perf.c | 6 ++++++
 1 file changed, 6 insertions(+)
  

Comments

Maxime Coquelin Nov. 9, 2023, 12:46 p.m. UTC | #1
On 11/4/23 00:34, Nicolas Chautru wrote:
> From: Hernan Vargas <hernan.vargas@intel.com>
> 
> Add range limit to prevent LLR generation greater than the data buffer
> size.
> 
> Fixes: 7831a9684356 ("test/bbdev: support BLER for 4G")
> Cc: stable@dpdk.org
> 
> Signed-off-by: Hernan Vargas <hernan.vargas@intel.com>
> ---
>   app/test-bbdev/test_bbdev_perf.c | 6 ++++++
>   1 file changed, 6 insertions(+)
> 
> diff --git a/app/test-bbdev/test_bbdev_perf.c b/app/test-bbdev/test_bbdev_perf.c
> index 09e4549b10..468cfeccd2 100644
> --- a/app/test-bbdev/test_bbdev_perf.c
> +++ b/app/test-bbdev/test_bbdev_perf.c
> @@ -1838,6 +1838,12 @@ generate_turbo_llr_input(uint16_t n, struct rte_bbdev_op_data *inputs,
>   	range = ref_op->turbo_dec.input.length;
>   	N0 = 1.0 / pow(10.0, get_snr() / 10.0);
>   
> +	if (range > inputs[0].data->data_len) {
> +		printf("Warning: Limiting LLR generation to first segment (%d from %d)\n",
> +				inputs[0].data->data_len, range);
> +		range = inputs[0].data->data_len;
> +	}
> +
>   	for (i = 0; i < n; ++i) {
>   		m = inputs[i].data;
>   		int8_t *llrs = rte_pktmbuf_mtod_offset(m, int8_t *, 0);
Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com>

Thanks,
Maxime
  

Patch

diff --git a/app/test-bbdev/test_bbdev_perf.c b/app/test-bbdev/test_bbdev_perf.c
index 09e4549b10..468cfeccd2 100644
--- a/app/test-bbdev/test_bbdev_perf.c
+++ b/app/test-bbdev/test_bbdev_perf.c
@@ -1838,6 +1838,12 @@  generate_turbo_llr_input(uint16_t n, struct rte_bbdev_op_data *inputs,
 	range = ref_op->turbo_dec.input.length;
 	N0 = 1.0 / pow(10.0, get_snr() / 10.0);
 
+	if (range > inputs[0].data->data_len) {
+		printf("Warning: Limiting LLR generation to first segment (%d from %d)\n",
+				inputs[0].data->data_len, range);
+		range = inputs[0].data->data_len;
+	}
+
 	for (i = 0; i < n; ++i) {
 		m = inputs[i].data;
 		int8_t *llrs = rte_pktmbuf_mtod_offset(m, int8_t *, 0);