* [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
* 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 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
* [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
* 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
* [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 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
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).