DPDK patches and discussions
 help / color / mirror / Atom feed
* [PATCH v1 0/3] Additional queue stats
@ 2024-04-04 21:04 Nicolas Chautru
  2024-04-04 21:04 ` [PATCH v1 1/3] bbdev: new queue stat for available enqueue depth Nicolas Chautru
                   ` (2 more replies)
  0 siblings, 3 replies; 13+ messages in thread
From: Nicolas Chautru @ 2024-04-04 21:04 UTC (permalink / raw)
  To: dev, maxime.coquelin
  Cc: hemant.agrawal, david.marchand, hernan.vargas, Nicolas Chautru

These series include introducing a new paramter in the queue stat
which can be used to monitor the number of available enqueue
still possible. 
The acc PMD is then refactored to use a set of common function
to update several queue status parameters including the new one.
The application is also updated.
Thanks
Nic

Nicolas Chautru (3):
  bbdev: new queue stat for available enqueue depth
  baseband/acc: refactor queue status update
  test/bbdev: update for queue stats

 app/test-bbdev/test_bbdev_perf.c      |  1 +
 drivers/baseband/acc/acc_common.h     | 18 ++++++++
 drivers/baseband/acc/rte_acc100_pmd.c | 45 ++++++--------------
 drivers/baseband/acc/rte_vrb_pmd.c    | 61 +++++++++------------------
 lib/bbdev/rte_bbdev.h                 |  2 +
 5 files changed, 53 insertions(+), 74 deletions(-)

-- 
2.34.1


^ permalink raw reply	[flat|nested] 13+ messages in thread

* [PATCH v1 1/3] bbdev: new queue stat for available enqueue depth
  2024-04-04 21:04 [PATCH v1 0/3] Additional queue stats Nicolas Chautru
@ 2024-04-04 21:04 ` Nicolas Chautru
  2024-04-05  0:46   ` Stephen Hemminger
                     ` (2 more replies)
  2024-04-04 21:04 ` [PATCH v1 2/3] baseband/acc: refactor queue status update Nicolas Chautru
  2024-04-04 21:04 ` [PATCH v1 3/3] test/bbdev: update for queue stats Nicolas Chautru
  2 siblings, 3 replies; 13+ messages in thread
From: Nicolas Chautru @ 2024-04-04 21:04 UTC (permalink / raw)
  To: dev, maxime.coquelin
  Cc: hemant.agrawal, david.marchand, hernan.vargas, Nicolas Chautru

Capturing additional queue stats counter for the
depth of enqueue batch still available on the given
queue. This can help application to monitor that depth
at run time.

Signed-off-by: Nicolas Chautru <nicolas.chautru@intel.com>
---
 lib/bbdev/rte_bbdev.h | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/lib/bbdev/rte_bbdev.h b/lib/bbdev/rte_bbdev.h
index 0cbfdd1c95..25514c58ac 100644
--- a/lib/bbdev/rte_bbdev.h
+++ b/lib/bbdev/rte_bbdev.h
@@ -283,6 +283,8 @@ struct rte_bbdev_stats {
 	 *     bbdev operation
 	 */
 	uint64_t acc_offload_cycles;
+	/** Available number of enqueue batch on that queue. */
+	uint16_t enqueue_depth_avail;
 };
 
 /**
-- 
2.34.1


^ permalink raw reply	[flat|nested] 13+ messages in thread

* [PATCH v1 2/3] baseband/acc: refactor queue status update
  2024-04-04 21:04 [PATCH v1 0/3] Additional queue stats Nicolas Chautru
  2024-04-04 21:04 ` [PATCH v1 1/3] bbdev: new queue stat for available enqueue depth Nicolas Chautru
@ 2024-04-04 21:04 ` Nicolas Chautru
  2024-08-12  9:30   ` Maxime Coquelin
  2024-04-04 21:04 ` [PATCH v1 3/3] test/bbdev: update for queue stats Nicolas Chautru
  2 siblings, 1 reply; 13+ messages in thread
From: Nicolas Chautru @ 2024-04-04 21:04 UTC (permalink / raw)
  To: dev, maxime.coquelin
  Cc: hemant.agrawal, david.marchand, hernan.vargas, Nicolas Chautru

Introducing common function for queue stats update
within the acc PMDs.

Signed-off-by: Nicolas Chautru <nicolas.chautru@intel.com>
---
 drivers/baseband/acc/acc_common.h     | 18 ++++++++
 drivers/baseband/acc/rte_acc100_pmd.c | 45 ++++++--------------
 drivers/baseband/acc/rte_vrb_pmd.c    | 61 +++++++++------------------
 3 files changed, 50 insertions(+), 74 deletions(-)

diff --git a/drivers/baseband/acc/acc_common.h b/drivers/baseband/acc/acc_common.h
index fddeb0737b..c364638372 100644
--- a/drivers/baseband/acc/acc_common.h
+++ b/drivers/baseband/acc/acc_common.h
@@ -1554,6 +1554,24 @@ acc_aq_avail(struct rte_bbdev_queue_data *q_data, uint16_t num_ops)
 	return aq_avail;
 }
 
+/* Update queue stats during enqueue. */
+static inline void
+acc_update_qstat_enqueue(struct rte_bbdev_queue_data *q_data,
+		uint16_t enq_count, uint16_t enq_err_count)
+{
+	q_data->queue_stats.enqueued_count += enq_count;
+	q_data->queue_stats.enqueue_err_count += enq_err_count;
+	q_data->queue_stats.enqueue_depth_avail = acc_aq_avail(q_data, 0);
+}
+
+/* Update queue stats during dequeue. */
+static inline void
+acc_update_qstat_dequeue(struct rte_bbdev_queue_data *q_data, uint16_t deq_count)
+{
+	q_data->queue_stats.dequeued_count += deq_count;
+	q_data->queue_stats.enqueue_depth_avail = acc_aq_avail(q_data, 0);
+}
+
 /* Calculates number of CBs in processed encoder TB based on 'r' and input
  * length.
  */
diff --git a/drivers/baseband/acc/rte_acc100_pmd.c b/drivers/baseband/acc/rte_acc100_pmd.c
index 4f666e514b..c27574b911 100644
--- a/drivers/baseband/acc/rte_acc100_pmd.c
+++ b/drivers/baseband/acc/rte_acc100_pmd.c
@@ -892,6 +892,7 @@ acc100_queue_stop(struct rte_bbdev *dev, uint16_t queue_id)
 	dev->data->queues[queue_id].queue_stats.dequeue_err_count = 0;
 	dev->data->queues[queue_id].queue_stats.enqueue_warn_count = 0;
 	dev->data->queues[queue_id].queue_stats.dequeue_warn_count = 0;
+	dev->data->queues[queue_id].queue_stats.enqueue_depth_avail = 0;
 
 	return 0;
 }
@@ -3308,9 +3309,7 @@ acc100_enqueue_enc_cb(struct rte_bbdev_queue_data *q_data,
 
 	acc_dma_enqueue(q, i, &q_data->queue_stats);
 
-	/* Update stats */
-	q_data->queue_stats.enqueued_count += i;
-	q_data->queue_stats.enqueue_err_count += num - i;
+	acc_update_qstat_enqueue(q_data, i, num - i);
 	return i;
 }
 
@@ -3357,9 +3356,7 @@ acc100_enqueue_ldpc_enc_cb(struct rte_bbdev_queue_data *q_data,
 
 	acc_dma_enqueue(q, desc_idx, &q_data->queue_stats);
 
-	/* Update stats */
-	q_data->queue_stats.enqueued_count += i;
-	q_data->queue_stats.enqueue_err_count += num - i;
+	acc_update_qstat_enqueue(q_data, i, num - i);
 
 	return i;
 }
@@ -3396,9 +3393,7 @@ acc100_enqueue_enc_tb(struct rte_bbdev_queue_data *q_data,
 
 	acc_dma_enqueue(q, enqueued_cbs, &q_data->queue_stats);
 
-	/* Update stats */
-	q_data->queue_stats.enqueued_count += i;
-	q_data->queue_stats.enqueue_err_count += num - i;
+	acc_update_qstat_enqueue(q_data, i, num - i);
 
 	return i;
 }
@@ -3434,9 +3429,7 @@ acc100_enqueue_ldpc_enc_tb(struct rte_bbdev_queue_data *q_data,
 
 	acc_dma_enqueue(q, enqueued_descs, &q_data->queue_stats);
 
-	/* Update stats. */
-	q_data->queue_stats.enqueued_count += i;
-	q_data->queue_stats.enqueue_err_count += num - i;
+	acc_update_qstat_enqueue(q_data, i, num - i);
 
 	return i;
 }
@@ -3500,9 +3493,7 @@ acc100_enqueue_dec_cb(struct rte_bbdev_queue_data *q_data,
 
 	acc_dma_enqueue(q, i, &q_data->queue_stats);
 
-	/* Update stats */
-	q_data->queue_stats.enqueued_count += i;
-	q_data->queue_stats.enqueue_err_count += num - i;
+	acc_update_qstat_enqueue(q_data, i, num - i);
 
 	return i;
 }
@@ -3538,9 +3529,7 @@ acc100_enqueue_ldpc_dec_tb(struct rte_bbdev_queue_data *q_data,
 
 	acc_dma_enqueue(q, enqueued_cbs, &q_data->queue_stats);
 
-	/* Update stats */
-	q_data->queue_stats.enqueued_count += i;
-	q_data->queue_stats.enqueue_err_count += num - i;
+	acc_update_qstat_enqueue(q_data, i, num - i);
 	return i;
 }
 
@@ -3583,9 +3572,7 @@ acc100_enqueue_ldpc_dec_cb(struct rte_bbdev_queue_data *q_data,
 
 	acc_dma_enqueue(q, i, &q_data->queue_stats);
 
-	/* Update stats */
-	q_data->queue_stats.enqueued_count += i;
-	q_data->queue_stats.enqueue_err_count += num - i;
+	acc_update_qstat_enqueue(q_data, i, num - i);
 	return i;
 }
 
@@ -3620,9 +3607,7 @@ acc100_enqueue_dec_tb(struct rte_bbdev_queue_data *q_data,
 
 	acc_dma_enqueue(q, enqueued_cbs, &q_data->queue_stats);
 
-	/* Update stats */
-	q_data->queue_stats.enqueued_count += i;
-	q_data->queue_stats.enqueue_err_count += num - i;
+	acc_update_qstat_enqueue(q_data, i, num - i);
 
 	return i;
 }
@@ -4012,8 +3997,7 @@ acc100_dequeue_enc(struct rte_bbdev_queue_data *q_data,
 	q->aq_dequeued += aq_dequeued;
 	q->sw_ring_tail += dequeued_descs;
 
-	/* Update enqueue stats */
-	q_data->queue_stats.dequeued_count += dequeued_ops;
+	acc_update_qstat_dequeue(q_data, dequeued_ops);
 
 	return dequeued_ops;
 }
@@ -4055,8 +4039,7 @@ acc100_dequeue_ldpc_enc(struct rte_bbdev_queue_data *q_data,
 	q->aq_dequeued += aq_dequeued;
 	q->sw_ring_tail += dequeued_descs;
 
-	/* Update enqueue stats */
-	q_data->queue_stats.dequeued_count += dequeued_ops;
+	acc_update_qstat_dequeue(q_data, dequeued_ops);
 
 	return dequeued_ops;
 }
@@ -4101,8 +4084,7 @@ acc100_dequeue_dec(struct rte_bbdev_queue_data *q_data,
 	q->aq_dequeued += aq_dequeued;
 	q->sw_ring_tail += dequeued_cbs;
 
-	/* Update enqueue stats */
-	q_data->queue_stats.dequeued_count += i;
+	acc_update_qstat_dequeue(q_data, i);
 
 	return i;
 }
@@ -4148,8 +4130,7 @@ acc100_dequeue_ldpc_dec(struct rte_bbdev_queue_data *q_data,
 	q->aq_dequeued += aq_dequeued;
 	q->sw_ring_tail += dequeued_cbs;
 
-	/* Update enqueue stats */
-	q_data->queue_stats.dequeued_count += i;
+	acc_update_qstat_dequeue(q_data, i);
 
 	return i;
 }
diff --git a/drivers/baseband/acc/rte_vrb_pmd.c b/drivers/baseband/acc/rte_vrb_pmd.c
index 88b1104fab..4c1e036199 100644
--- a/drivers/baseband/acc/rte_vrb_pmd.c
+++ b/drivers/baseband/acc/rte_vrb_pmd.c
@@ -1109,6 +1109,7 @@ vrb_queue_stop(struct rte_bbdev *dev, uint16_t queue_id)
 	dev->data->queues[queue_id].queue_stats.dequeue_err_count = 0;
 	dev->data->queues[queue_id].queue_stats.enqueue_warn_count = 0;
 	dev->data->queues[queue_id].queue_stats.dequeue_warn_count = 0;
+	dev->data->queues[queue_id].queue_stats.enqueue_depth_avail = 0;
 	return 0;
 }
 
@@ -2738,9 +2739,7 @@ vrb_enqueue_enc_cb(struct rte_bbdev_queue_data *q_data,
 
 	acc_dma_enqueue(q, i, &q_data->queue_stats);
 
-	/* Update stats */
-	q_data->queue_stats.enqueued_count += i;
-	q_data->queue_stats.enqueue_err_count += num - i;
+	acc_update_qstat_enqueue(q_data, i, num - i);
 	return i;
 }
 
@@ -2778,9 +2777,7 @@ vrb_enqueue_ldpc_enc_cb(struct rte_bbdev_queue_data *q_data,
 
 	acc_dma_enqueue(q, desc_idx, &q_data->queue_stats);
 
-	/* Update stats. */
-	q_data->queue_stats.enqueued_count += i;
-	q_data->queue_stats.enqueue_err_count += num - i;
+	acc_update_qstat_enqueue(q_data, i, num - i);
 
 	return i;
 }
@@ -2817,9 +2814,7 @@ vrb_enqueue_enc_tb(struct rte_bbdev_queue_data *q_data,
 
 	acc_dma_enqueue(q, enqueued_cbs, &q_data->queue_stats);
 
-	/* Update stats */
-	q_data->queue_stats.enqueued_count += i;
-	q_data->queue_stats.enqueue_err_count += num - i;
+	acc_update_qstat_enqueue(q_data, i, num - i);
 
 	return i;
 }
@@ -2864,9 +2859,7 @@ vrb_enqueue_ldpc_enc_tb(struct rte_bbdev_queue_data *q_data,
 
 	acc_dma_enqueue(q, enqueued_descs, &q_data->queue_stats);
 
-	/* Update stats. */
-	q_data->queue_stats.enqueued_count += i;
-	q_data->queue_stats.enqueue_err_count += num - i;
+	acc_update_qstat_enqueue(q_data, i, num - i);
 
 	return i;
 }
@@ -2926,9 +2919,7 @@ vrb_enqueue_dec_cb(struct rte_bbdev_queue_data *q_data,
 
 	acc_dma_enqueue(q, i, &q_data->queue_stats);
 
-	/* Update stats. */
-	q_data->queue_stats.enqueued_count += i;
-	q_data->queue_stats.enqueue_err_count += num - i;
+	acc_update_qstat_enqueue(q_data, i, num - i);
 
 	return i;
 }
@@ -2961,9 +2952,7 @@ vrb_enqueue_ldpc_dec_tb(struct rte_bbdev_queue_data *q_data,
 
 	acc_dma_enqueue(q, enqueued_cbs, &q_data->queue_stats);
 
-	/* Update stats. */
-	q_data->queue_stats.enqueued_count += i;
-	q_data->queue_stats.enqueue_err_count += num - i;
+	acc_update_qstat_enqueue(q_data, i, num - i);
 	return i;
 }
 
@@ -3004,9 +2993,7 @@ vrb_enqueue_ldpc_dec_cb(struct rte_bbdev_queue_data *q_data,
 
 	acc_dma_enqueue(q, i, &q_data->queue_stats);
 
-	/* Update stats. */
-	q_data->queue_stats.enqueued_count += i;
-	q_data->queue_stats.enqueue_err_count += num - i;
+	acc_update_qstat_enqueue(q_data, i, num - i);
 	return i;
 }
 
@@ -3041,9 +3028,7 @@ vrb_enqueue_dec_tb(struct rte_bbdev_queue_data *q_data,
 
 	acc_dma_enqueue(q, enqueued_cbs, &q_data->queue_stats);
 
-	/* Update stats */
-	q_data->queue_stats.enqueued_count += i;
-	q_data->queue_stats.enqueue_err_count += num - i;
+	acc_update_qstat_enqueue(q_data, i, num - i);
 
 	return i;
 }
@@ -3443,8 +3428,7 @@ vrb_dequeue_enc(struct rte_bbdev_queue_data *q_data,
 	q->aq_dequeued += aq_dequeued;
 	q->sw_ring_tail += dequeued_descs;
 
-	/* Update enqueue stats. */
-	q_data->queue_stats.dequeued_count += dequeued_ops;
+	acc_update_qstat_dequeue(q_data, dequeued_ops);
 
 	return dequeued_ops;
 }
@@ -3486,8 +3470,7 @@ vrb_dequeue_ldpc_enc(struct rte_bbdev_queue_data *q_data,
 	q->aq_dequeued += aq_dequeued;
 	q->sw_ring_tail += dequeued_descs;
 
-	/* Update enqueue stats. */
-	q_data->queue_stats.dequeued_count += dequeued_ops;
+	acc_update_qstat_dequeue(q_data, dequeued_ops);
 
 	return dequeued_ops;
 }
@@ -3525,8 +3508,7 @@ vrb_dequeue_dec(struct rte_bbdev_queue_data *q_data,
 	q->aq_dequeued += aq_dequeued;
 	q->sw_ring_tail += dequeued_cbs;
 
-	/* Update enqueue stats */
-	q_data->queue_stats.dequeued_count += i;
+	acc_update_qstat_dequeue(q_data, i);
 
 	return i;
 }
@@ -3565,8 +3547,7 @@ vrb_dequeue_ldpc_dec(struct rte_bbdev_queue_data *q_data,
 	q->aq_dequeued += aq_dequeued;
 	q->sw_ring_tail += dequeued_cbs;
 
-	/* Update enqueue stats. */
-	q_data->queue_stats.dequeued_count += i;
+	acc_update_qstat_dequeue(q_data, i);
 
 	return i;
 }
@@ -3772,9 +3753,7 @@ vrb_enqueue_fft(struct rte_bbdev_queue_data *q_data,
 
 	acc_dma_enqueue(q, i, &q_data->queue_stats);
 
-	/* Update stats */
-	q_data->queue_stats.enqueued_count += i;
-	q_data->queue_stats.enqueue_err_count += num - i;
+	acc_update_qstat_enqueue(q_data, i, num - i);
 	return i;
 }
 
@@ -3840,8 +3819,7 @@ vrb_dequeue_fft(struct rte_bbdev_queue_data *q_data,
 
 	q->aq_dequeued += aq_dequeued;
 	q->sw_ring_tail += dequeued_cbs;
-	/* Update enqueue stats. */
-	q_data->queue_stats.dequeued_count += i;
+	acc_update_qstat_dequeue(q_data, i);
 	return i;
 }
 
@@ -4095,9 +4073,7 @@ vrb2_enqueue_mldts(struct rte_bbdev_queue_data *q_data,
 
 	acc_dma_enqueue(q, enqueued_descs, &q_data->queue_stats);
 
-	/* Update stats. */
-	q_data->queue_stats.enqueued_count += i;
-	q_data->queue_stats.enqueue_err_count += num - i;
+	acc_update_qstat_enqueue(q_data, i, num - i);
 	return i;
 }
 
@@ -4192,8 +4168,9 @@ vrb2_dequeue_mldts(struct rte_bbdev_queue_data *q_data,
 
 	q->aq_dequeued += aq_dequeued;
 	q->sw_ring_tail += dequeued_cbs;
-	/* Update enqueue stats. */
-	q_data->queue_stats.dequeued_count += i;
+
+	acc_update_qstat_dequeue(q_data, i);
+
 	return i;
 }
 
-- 
2.34.1


^ permalink raw reply	[flat|nested] 13+ messages in thread

* [PATCH v1 3/3] test/bbdev: update for queue stats
  2024-04-04 21:04 [PATCH v1 0/3] Additional queue stats Nicolas Chautru
  2024-04-04 21:04 ` [PATCH v1 1/3] bbdev: new queue stat for available enqueue depth Nicolas Chautru
  2024-04-04 21:04 ` [PATCH v1 2/3] baseband/acc: refactor queue status update Nicolas Chautru
@ 2024-04-04 21:04 ` Nicolas Chautru
  2024-08-12  9:39   ` Maxime Coquelin
  2 siblings, 1 reply; 13+ messages in thread
From: Nicolas Chautru @ 2024-04-04 21:04 UTC (permalink / raw)
  To: dev, maxime.coquelin
  Cc: hemant.agrawal, david.marchand, hernan.vargas, Nicolas Chautru

Update to include in test application the queue stats for the
enqueue_depth_avail counter.

Signed-off-by: Nicolas Chautru <nicolas.chautru@intel.com>
---
 app/test-bbdev/test_bbdev_perf.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/app/test-bbdev/test_bbdev_perf.c b/app/test-bbdev/test_bbdev_perf.c
index dcce00aa0a..7675c66edc 100644
--- a/app/test-bbdev/test_bbdev_perf.c
+++ b/app/test-bbdev/test_bbdev_perf.c
@@ -5702,6 +5702,7 @@ get_bbdev_queue_stats(uint16_t dev_id, uint16_t queue_id,
 	stats->enqueue_warn_count = q_stats->enqueue_warn_count;
 	stats->dequeue_warn_count = q_stats->dequeue_warn_count;
 	stats->acc_offload_cycles = q_stats->acc_offload_cycles;
+	stats->enqueue_depth_avail = q_stats->enqueue_depth_avail;
 
 	return 0;
 }
-- 
2.34.1


^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [PATCH v1 1/3] bbdev: new queue stat for available enqueue depth
  2024-04-04 21:04 ` [PATCH v1 1/3] bbdev: new queue stat for available enqueue depth Nicolas Chautru
@ 2024-04-05  0:46   ` Stephen Hemminger
  2024-04-05 15:15   ` Stephen Hemminger
  2024-08-12  9:28   ` Maxime Coquelin
  2 siblings, 0 replies; 13+ messages in thread
From: Stephen Hemminger @ 2024-04-05  0:46 UTC (permalink / raw)
  To: Nicolas Chautru
  Cc: dev, maxime.coquelin, hemant.agrawal, david.marchand, hernan.vargas

On Thu,  4 Apr 2024 14:04:45 -0700
Nicolas Chautru <nicolas.chautru@intel.com> wrote:

> Capturing additional queue stats counter for the
> depth of enqueue batch still available on the given
> queue. This can help application to monitor that depth
> at run time.
> 
> Signed-off-by: Nicolas Chautru <nicolas.chautru@intel.com>

Adding field is an ABI change and will have to wait until 24.11 release

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [PATCH v1 1/3] bbdev: new queue stat for available enqueue depth
  2024-04-04 21:04 ` [PATCH v1 1/3] bbdev: new queue stat for available enqueue depth Nicolas Chautru
  2024-04-05  0:46   ` Stephen Hemminger
@ 2024-04-05 15:15   ` Stephen Hemminger
  2024-04-05 18:17     ` Chautru, Nicolas
  2024-08-12  9:28   ` Maxime Coquelin
  2 siblings, 1 reply; 13+ messages in thread
From: Stephen Hemminger @ 2024-04-05 15:15 UTC (permalink / raw)
  To: Nicolas Chautru
  Cc: dev, maxime.coquelin, hemant.agrawal, david.marchand, hernan.vargas

On Thu,  4 Apr 2024 14:04:45 -0700
Nicolas Chautru <nicolas.chautru@intel.com> wrote:

> Capturing additional queue stats counter for the
> depth of enqueue batch still available on the given
> queue. This can help application to monitor that depth
> at run time.
> 
> Signed-off-by: Nicolas Chautru <nicolas.chautru@intel.com>
> ---
>  lib/bbdev/rte_bbdev.h | 2 ++
>  1 file changed, 2 insertions(+)
> 
> diff --git a/lib/bbdev/rte_bbdev.h b/lib/bbdev/rte_bbdev.h
> index 0cbfdd1c95..25514c58ac 100644
> --- a/lib/bbdev/rte_bbdev.h
> +++ b/lib/bbdev/rte_bbdev.h
> @@ -283,6 +283,8 @@ struct rte_bbdev_stats {
>  	 *     bbdev operation
>  	 */
>  	uint64_t acc_offload_cycles;
> +	/** Available number of enqueue batch on that queue. */
> +	uint16_t enqueue_depth_avail;
>  };
>  
>  /**

Doesn't this break the ABI?

^ permalink raw reply	[flat|nested] 13+ messages in thread

* RE: [PATCH v1 1/3] bbdev: new queue stat for available enqueue depth
  2024-04-05 15:15   ` Stephen Hemminger
@ 2024-04-05 18:17     ` Chautru, Nicolas
  0 siblings, 0 replies; 13+ messages in thread
From: Chautru, Nicolas @ 2024-04-05 18:17 UTC (permalink / raw)
  To: Stephen Hemminger
  Cc: dev, maxime.coquelin, hemant.agrawal, Marchand, David, Vargas, Hernan

Hi Stephen, 

It is not strictly ABI compatible since the size of the structure increases, hence only updating for 24.11. 


> -----Original Message-----
> From: Stephen Hemminger <stephen@networkplumber.org>
> Sent: Friday, April 5, 2024 8:15 AM
> To: Chautru, Nicolas <nicolas.chautru@intel.com>
> Cc: dev@dpdk.org; maxime.coquelin@redhat.com; hemant.agrawal@nxp.com;
> Marchand, David <david.marchand@redhat.com>; Vargas, Hernan
> <hernan.vargas@intel.com>
> Subject: Re: [PATCH v1 1/3] bbdev: new queue stat for available enqueue depth
> 
> On Thu,  4 Apr 2024 14:04:45 -0700
> Nicolas Chautru <nicolas.chautru@intel.com> wrote:
> 
> > Capturing additional queue stats counter for the depth of enqueue
> > batch still available on the given queue. This can help application to
> > monitor that depth at run time.
> >
> > Signed-off-by: Nicolas Chautru <nicolas.chautru@intel.com>
> > ---
> >  lib/bbdev/rte_bbdev.h | 2 ++
> >  1 file changed, 2 insertions(+)
> >
> > diff --git a/lib/bbdev/rte_bbdev.h b/lib/bbdev/rte_bbdev.h index
> > 0cbfdd1c95..25514c58ac 100644
> > --- a/lib/bbdev/rte_bbdev.h
> > +++ b/lib/bbdev/rte_bbdev.h
> > @@ -283,6 +283,8 @@ struct rte_bbdev_stats {
> >  	 *     bbdev operation
> >  	 */
> >  	uint64_t acc_offload_cycles;
> > +	/** Available number of enqueue batch on that queue. */
> > +	uint16_t enqueue_depth_avail;
> >  };
> >
> >  /**
> 
> Doesn't this break the ABI?

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [PATCH v1 1/3] bbdev: new queue stat for available enqueue depth
  2024-04-04 21:04 ` [PATCH v1 1/3] bbdev: new queue stat for available enqueue depth Nicolas Chautru
  2024-04-05  0:46   ` Stephen Hemminger
  2024-04-05 15:15   ` Stephen Hemminger
@ 2024-08-12  9:28   ` Maxime Coquelin
  2024-08-12  9:56     ` Maxime Coquelin
  2024-08-12 17:27     ` Chautru, Nicolas
  2 siblings, 2 replies; 13+ messages in thread
From: Maxime Coquelin @ 2024-08-12  9:28 UTC (permalink / raw)
  To: Nicolas Chautru, dev; +Cc: hemant.agrawal, david.marchand, hernan.vargas

Hi Nicolas,

On 4/4/24 23:04, Nicolas Chautru wrote:
> Capturing additional queue stats counter for the
> depth of enqueue batch still available on the given
> queue. This can help application to monitor that depth
> at run time.
> 
> Signed-off-by: Nicolas Chautru <nicolas.chautru@intel.com>
> ---
>   lib/bbdev/rte_bbdev.h | 2 ++
>   1 file changed, 2 insertions(+)
> 
> diff --git a/lib/bbdev/rte_bbdev.h b/lib/bbdev/rte_bbdev.h
> index 0cbfdd1c95..25514c58ac 100644
> --- a/lib/bbdev/rte_bbdev.h
> +++ b/lib/bbdev/rte_bbdev.h
> @@ -283,6 +283,8 @@ struct rte_bbdev_stats {
>   	 *     bbdev operation
>   	 */
>   	uint64_t acc_offload_cycles;
> +	/** Available number of enqueue batch on that queue. */
> +	uint16_t enqueue_depth_avail;
>   };
>   
>   /**

I think it needs to be documented in the ABI change section.

With that done, feel free to add:

Maxime Coquelin <maxime.coquelin@redhat.com>

Thanks,
Maxime


^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [PATCH v1 2/3] baseband/acc: refactor queue status update
  2024-04-04 21:04 ` [PATCH v1 2/3] baseband/acc: refactor queue status update Nicolas Chautru
@ 2024-08-12  9:30   ` Maxime Coquelin
  0 siblings, 0 replies; 13+ messages in thread
From: Maxime Coquelin @ 2024-08-12  9:30 UTC (permalink / raw)
  To: Nicolas Chautru, dev; +Cc: hemant.agrawal, david.marchand, hernan.vargas



On 4/4/24 23:04, Nicolas Chautru wrote:
> Introducing common function for queue stats update
> within the acc PMDs.
> 
> Signed-off-by: Nicolas Chautru <nicolas.chautru@intel.com>
> ---
>   drivers/baseband/acc/acc_common.h     | 18 ++++++++
>   drivers/baseband/acc/rte_acc100_pmd.c | 45 ++++++--------------
>   drivers/baseband/acc/rte_vrb_pmd.c    | 61 +++++++++------------------
>   3 files changed, 50 insertions(+), 74 deletions(-)
> 

Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com>

Thanks,
Maxime



^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [PATCH v1 3/3] test/bbdev: update for queue stats
  2024-04-04 21:04 ` [PATCH v1 3/3] test/bbdev: update for queue stats Nicolas Chautru
@ 2024-08-12  9:39   ` Maxime Coquelin
  0 siblings, 0 replies; 13+ messages in thread
From: Maxime Coquelin @ 2024-08-12  9:39 UTC (permalink / raw)
  To: Nicolas Chautru, dev; +Cc: hemant.agrawal, david.marchand, hernan.vargas



On 4/4/24 23:04, Nicolas Chautru wrote:
> Update to include in test application the queue stats for the
> enqueue_depth_avail counter.
> 
> Signed-off-by: Nicolas Chautru <nicolas.chautru@intel.com>
> ---
>   app/test-bbdev/test_bbdev_perf.c | 1 +
>   1 file changed, 1 insertion(+)
> 
> diff --git a/app/test-bbdev/test_bbdev_perf.c b/app/test-bbdev/test_bbdev_perf.c
> index dcce00aa0a..7675c66edc 100644
> --- a/app/test-bbdev/test_bbdev_perf.c
> +++ b/app/test-bbdev/test_bbdev_perf.c
> @@ -5702,6 +5702,7 @@ get_bbdev_queue_stats(uint16_t dev_id, uint16_t queue_id,
>   	stats->enqueue_warn_count = q_stats->enqueue_warn_count;
>   	stats->dequeue_warn_count = q_stats->dequeue_warn_count;
>   	stats->acc_offload_cycles = q_stats->acc_offload_cycles;
> +	stats->enqueue_depth_avail = q_stats->enqueue_depth_avail;
>   
>   	return 0;
>   }

Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com>

Thanks,
Maxime


^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [PATCH v1 1/3] bbdev: new queue stat for available enqueue depth
  2024-08-12  9:28   ` Maxime Coquelin
@ 2024-08-12  9:56     ` Maxime Coquelin
  2024-08-12 17:27     ` Chautru, Nicolas
  1 sibling, 0 replies; 13+ messages in thread
From: Maxime Coquelin @ 2024-08-12  9:56 UTC (permalink / raw)
  To: Nicolas Chautru, dev; +Cc: hemant.agrawal, david.marchand, hernan.vargas



On 8/12/24 11:28, Maxime Coquelin wrote:
> Hi Nicolas,
> 
> On 4/4/24 23:04, Nicolas Chautru wrote:
>> Capturing additional queue stats counter for the
>> depth of enqueue batch still available on the given
>> queue. This can help application to monitor that depth
>> at run time.
>>
>> Signed-off-by: Nicolas Chautru <nicolas.chautru@intel.com>
>> ---
>>   lib/bbdev/rte_bbdev.h | 2 ++
>>   1 file changed, 2 insertions(+)
>>
>> diff --git a/lib/bbdev/rte_bbdev.h b/lib/bbdev/rte_bbdev.h
>> index 0cbfdd1c95..25514c58ac 100644
>> --- a/lib/bbdev/rte_bbdev.h
>> +++ b/lib/bbdev/rte_bbdev.h
>> @@ -283,6 +283,8 @@ struct rte_bbdev_stats {
>>        *     bbdev operation
>>        */
>>       uint64_t acc_offload_cycles;
>> +    /** Available number of enqueue batch on that queue. */
>> +    uint16_t enqueue_depth_avail;
>>   };
>>   /**
> 
> I think it needs to be documented in the ABI change section.
> 
> With that done, feel free to add:
> 
> Maxime Coquelin <maxime.coquelin@redhat.com>
Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com>
> 
> Thanks,
> Maxime


^ permalink raw reply	[flat|nested] 13+ messages in thread

* RE: [PATCH v1 1/3] bbdev: new queue stat for available enqueue depth
  2024-08-12  9:28   ` Maxime Coquelin
  2024-08-12  9:56     ` Maxime Coquelin
@ 2024-08-12 17:27     ` Chautru, Nicolas
  2024-08-12 19:44       ` Maxime Coquelin
  1 sibling, 1 reply; 13+ messages in thread
From: Chautru, Nicolas @ 2024-08-12 17:27 UTC (permalink / raw)
  To: Maxime Coquelin, dev; +Cc: hemant.agrawal, Marchand, David, Vargas, Hernan

Hi Maxime, 

The branch origin/next-baseband-for-main doesn’t have yet the updates from main, such as the ./doc/rel_notes for 24.11. 
Can you refresh this? Or let me know how best to proceed.
Thanks, 
Nic

> -----Original Message-----
> From: Maxime Coquelin <maxime.coquelin@redhat.com>
> Sent: Monday, August 12, 2024 2:29 AM
> To: Chautru, Nicolas <nicolas.chautru@intel.com>; dev@dpdk.org
> Cc: hemant.agrawal@nxp.com; Marchand, David
> <david.marchand@redhat.com>; Vargas, Hernan
> <hernan.vargas@intel.com>
> Subject: Re: [PATCH v1 1/3] bbdev: new queue stat for available enqueue
> depth
> 
> Hi Nicolas,
> 
> On 4/4/24 23:04, Nicolas Chautru wrote:
> > Capturing additional queue stats counter for the depth of enqueue
> > batch still available on the given queue. This can help application to
> > monitor that depth at run time.
> >
> > Signed-off-by: Nicolas Chautru <nicolas.chautru@intel.com>
> > ---
> >   lib/bbdev/rte_bbdev.h | 2 ++
> >   1 file changed, 2 insertions(+)
> >
> > diff --git a/lib/bbdev/rte_bbdev.h b/lib/bbdev/rte_bbdev.h index
> > 0cbfdd1c95..25514c58ac 100644
> > --- a/lib/bbdev/rte_bbdev.h
> > +++ b/lib/bbdev/rte_bbdev.h
> > @@ -283,6 +283,8 @@ struct rte_bbdev_stats {
> >   	 *     bbdev operation
> >   	 */
> >   	uint64_t acc_offload_cycles;
> > +	/** Available number of enqueue batch on that queue. */
> > +	uint16_t enqueue_depth_avail;
> >   };
> >
> >   /**
> 
> I think it needs to be documented in the ABI change section.
> 
> With that done, feel free to add:
> 
> Maxime Coquelin <maxime.coquelin@redhat.com>
> 
> Thanks,
> Maxime


^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [PATCH v1 1/3] bbdev: new queue stat for available enqueue depth
  2024-08-12 17:27     ` Chautru, Nicolas
@ 2024-08-12 19:44       ` Maxime Coquelin
  0 siblings, 0 replies; 13+ messages in thread
From: Maxime Coquelin @ 2024-08-12 19:44 UTC (permalink / raw)
  To: Chautru, Nicolas, dev; +Cc: hemant.agrawal, Marchand, David, Vargas, Hernan

Hi Nicolas,

On 8/12/24 19:27, Chautru, Nicolas wrote:
> Hi Maxime,
> 
> The branch origin/next-baseband-for-main doesn’t have yet the updates from main, such as the ./doc/rel_notes for 24.11.
> Can you refresh this? Or let me know how best to proceed.

I rebased the branches to latest main, you can proceed.

Thanks,
Maxime

> Thanks,
> Nic
> 
>> -----Original Message-----
>> From: Maxime Coquelin <maxime.coquelin@redhat.com>
>> Sent: Monday, August 12, 2024 2:29 AM
>> To: Chautru, Nicolas <nicolas.chautru@intel.com>; dev@dpdk.org
>> Cc: hemant.agrawal@nxp.com; Marchand, David
>> <david.marchand@redhat.com>; Vargas, Hernan
>> <hernan.vargas@intel.com>
>> Subject: Re: [PATCH v1 1/3] bbdev: new queue stat for available enqueue
>> depth
>>
>> Hi Nicolas,
>>
>> On 4/4/24 23:04, Nicolas Chautru wrote:
>>> Capturing additional queue stats counter for the depth of enqueue
>>> batch still available on the given queue. This can help application to
>>> monitor that depth at run time.
>>>
>>> Signed-off-by: Nicolas Chautru <nicolas.chautru@intel.com>
>>> ---
>>>    lib/bbdev/rte_bbdev.h | 2 ++
>>>    1 file changed, 2 insertions(+)
>>>
>>> diff --git a/lib/bbdev/rte_bbdev.h b/lib/bbdev/rte_bbdev.h index
>>> 0cbfdd1c95..25514c58ac 100644
>>> --- a/lib/bbdev/rte_bbdev.h
>>> +++ b/lib/bbdev/rte_bbdev.h
>>> @@ -283,6 +283,8 @@ struct rte_bbdev_stats {
>>>    	 *     bbdev operation
>>>    	 */
>>>    	uint64_t acc_offload_cycles;
>>> +	/** Available number of enqueue batch on that queue. */
>>> +	uint16_t enqueue_depth_avail;
>>>    };
>>>
>>>    /**
>>
>> I think it needs to be documented in the ABI change section.
>>
>> With that done, feel free to add:
>>
>> Maxime Coquelin <maxime.coquelin@redhat.com>
>>
>> Thanks,
>> Maxime
> 


^ permalink raw reply	[flat|nested] 13+ messages in thread

end of thread, other threads:[~2024-08-12 19:45 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-04-04 21:04 [PATCH v1 0/3] Additional queue stats Nicolas Chautru
2024-04-04 21:04 ` [PATCH v1 1/3] bbdev: new queue stat for available enqueue depth Nicolas Chautru
2024-04-05  0:46   ` Stephen Hemminger
2024-04-05 15:15   ` Stephen Hemminger
2024-04-05 18:17     ` Chautru, Nicolas
2024-08-12  9:28   ` Maxime Coquelin
2024-08-12  9:56     ` Maxime Coquelin
2024-08-12 17:27     ` Chautru, Nicolas
2024-08-12 19:44       ` Maxime Coquelin
2024-04-04 21:04 ` [PATCH v1 2/3] baseband/acc: refactor queue status update Nicolas Chautru
2024-08-12  9:30   ` Maxime Coquelin
2024-04-04 21:04 ` [PATCH v1 3/3] test/bbdev: update for queue stats Nicolas Chautru
2024-08-12  9:39   ` Maxime Coquelin

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).