[PATCH] eventdev: fix missing internal port checks
Jerin Jacob
jerinjacobk at gmail.com
Thu Jan 20 14:25:37 CET 2022
On Tue, Dec 14, 2021 at 5:13 PM Jayatheerthan, Jay
<jay.jayatheerthan at intel.com> wrote:
>
>
> Acked-by: Jay Jayatheerthan <jay.jayatheerthan at intel.com>
Updated git commit as
eventdev/eth_rx: fix missing internal port checks
When event delivery is through internal port, stats are mainitained
by HW and we should avoid reading SW data structures for stats.
Fix missing internal port checks.
Fixes: 995b150c1ae1 ("eventdev/eth_rx: add queue stats API")
Cc: stable at dpdk.org
Signed-off-by: Pavan Nikhilesh <pbhagavatula at marvell.com>
Acked-by: Jay Jayatheerthan <jay.jayatheerthan at intel.com>
Applied to dpdk-next-net-eventdev/for-main. Thanks
>
>
> > -----Original Message-----
> > From: Naga Harish K, S V <s.v.naga.harish.k at intel.com>
> > Sent: Tuesday, December 14, 2021 4:23 PM
> > To: Jayatheerthan, Jay <jay.jayatheerthan at intel.com>; pbhagavatula at marvell.com; jerinj at marvell.com
> > Cc: dev at dpdk.org
> > Subject: RE: [PATCH] eventdev: fix missing internal port checks
> >
> > The patch looks good to me.
> >
> > > -----Original Message-----
> > > From: Jayatheerthan, Jay <jay.jayatheerthan at intel.com>
> > > Sent: Tuesday, December 14, 2021 11:23 AM
> > > To: pbhagavatula at marvell.com; jerinj at marvell.com; Naga Harish K, S V
> > > <s.v.naga.harish.k at intel.com>
> > > Cc: dev at dpdk.org
> > > Subject: RE: [PATCH] eventdev: fix missing internal port checks
> > >
> > > @Harish, could you take a look at this please ?
> > >
> > > -Jay
> > >
> > >
> > > > -----Original Message-----
> > > > From: pbhagavatula at marvell.com <pbhagavatula at marvell.com>
> > > > Sent: Monday, December 13, 2021 2:02 PM
> > > > To: jerinj at marvell.com; Jayatheerthan, Jay
> > > > <jay.jayatheerthan at intel.com>
> > > > Cc: dev at dpdk.org; Pavan Nikhilesh <pbhagavatula at marvell.com>
> > > > Subject: [PATCH] eventdev: fix missing internal port checks
> > > >
> > > > From: Pavan Nikhilesh <pbhagavatula at marvell.com>
> > > >
> > > > When event delivery is through internal port, stats are mainitained by
> > > > HW and we should avoid reading SW data structures for stats.
> > > > Fix missing internal port checks.
> > > >
> > > > Fixes: 995b150c1ae1 ("eventdev/eth_rx: add queue stats API")
> > > >
> > > > Signed-off-by: Pavan Nikhilesh <pbhagavatula at marvell.com>
> > > > ---
> > > > lib/eventdev/rte_event_eth_rx_adapter.c | 24 ++++++++++++++----------
> > > > 1 file changed, 14 insertions(+), 10 deletions(-)
> > > >
> > > > diff --git a/lib/eventdev/rte_event_eth_rx_adapter.c
> > > > b/lib/eventdev/rte_event_eth_rx_adapter.c
> > > > index 809416d9b7..da223aacac 100644
> > > > --- a/lib/eventdev/rte_event_eth_rx_adapter.c
> > > > +++ b/lib/eventdev/rte_event_eth_rx_adapter.c
> > > > @@ -2984,15 +2984,17 @@
> > > rte_event_eth_rx_adapter_queue_stats_get(uint8_t id,
> > > > return -EINVAL;
> > > > }
> > > >
> > > > - queue_info = &dev_info->rx_queue[rx_queue_id];
> > > > - event_buf = queue_info->event_buf;
> > > > - q_stats = queue_info->stats;
> > > > + if (dev_info->internal_event_port == 0) {
> > > > + queue_info = &dev_info->rx_queue[rx_queue_id];
> > > > + event_buf = queue_info->event_buf;
> > > > + q_stats = queue_info->stats;
> > > >
> > > > - stats->rx_event_buf_count = event_buf->count;
> > > > - stats->rx_event_buf_size = event_buf->events_size;
> > > > - stats->rx_packets = q_stats->rx_packets;
> > > > - stats->rx_poll_count = q_stats->rx_poll_count;
> > > > - stats->rx_dropped = q_stats->rx_dropped;
> > > > + stats->rx_event_buf_count = event_buf->count;
> > > > + stats->rx_event_buf_size = event_buf->events_size;
> > > > + stats->rx_packets = q_stats->rx_packets;
> > > > + stats->rx_poll_count = q_stats->rx_poll_count;
> > > > + stats->rx_dropped = q_stats->rx_dropped;
> > > > + }
> > > >
> > > > dev = &rte_eventdevs[rx_adapter->eventdev_id];
> > > > if (dev->dev_ops->eth_rx_adapter_queue_stats_get != NULL) { @@
> > > > -3086,8 +3088,10 @@
> > > rte_event_eth_rx_adapter_queue_stats_reset(uint8_t id,
> > > > return -EINVAL;
> > > > }
> > > >
> > > > - queue_info = &dev_info->rx_queue[rx_queue_id];
> > > > - rxa_queue_stats_reset(queue_info);
> > > > + if (dev_info->internal_event_port == 0) {
> > > > + queue_info = &dev_info->rx_queue[rx_queue_id];
> > > > + rxa_queue_stats_reset(queue_info);
> > > > + }
> > > >
> > > > dev = &rte_eventdevs[rx_adapter->eventdev_id];
> > > > if (dev->dev_ops->eth_rx_adapter_queue_stats_reset != NULL) {
> > > > --
> > > > 2.34.0
>
More information about the dev
mailing list