DPDK patches and discussions
 help / color / mirror / Atom feed
* [PATCH] eventdev: fix missing internal port checks
@ 2021-12-13  8:31 pbhagavatula
  2021-12-14  5:52 ` Jayatheerthan, Jay
  0 siblings, 1 reply; 5+ messages in thread
From: pbhagavatula @ 2021-12-13  8:31 UTC (permalink / raw)
  To: jerinj, Jay Jayatheerthan; +Cc: dev, Pavan Nikhilesh

From: Pavan Nikhilesh <pbhagavatula@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@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


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

* RE: [PATCH] eventdev: fix missing internal port checks
  2021-12-13  8:31 [PATCH] eventdev: fix missing internal port checks pbhagavatula
@ 2021-12-14  5:52 ` Jayatheerthan, Jay
  2021-12-14 10:53   ` Naga Harish K, S V
  0 siblings, 1 reply; 5+ messages in thread
From: Jayatheerthan, Jay @ 2021-12-14  5:52 UTC (permalink / raw)
  To: pbhagavatula, jerinj, Naga Harish K, S V; +Cc: dev

@Harish, could you take a look at this please ?

-Jay


> -----Original Message-----
> From: pbhagavatula@marvell.com <pbhagavatula@marvell.com>
> Sent: Monday, December 13, 2021 2:02 PM
> To: jerinj@marvell.com; Jayatheerthan, Jay <jay.jayatheerthan@intel.com>
> Cc: dev@dpdk.org; Pavan Nikhilesh <pbhagavatula@marvell.com>
> Subject: [PATCH] eventdev: fix missing internal port checks
> 
> From: Pavan Nikhilesh <pbhagavatula@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@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


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

* RE: [PATCH] eventdev: fix missing internal port checks
  2021-12-14  5:52 ` Jayatheerthan, Jay
@ 2021-12-14 10:53   ` Naga Harish K, S V
  2021-12-14 11:43     ` Jayatheerthan, Jay
  0 siblings, 1 reply; 5+ messages in thread
From: Naga Harish K, S V @ 2021-12-14 10:53 UTC (permalink / raw)
  To: Jayatheerthan, Jay, pbhagavatula, jerinj; +Cc: dev

The patch looks good to me.

> -----Original Message-----
> From: Jayatheerthan, Jay <jay.jayatheerthan@intel.com>
> Sent: Tuesday, December 14, 2021 11:23 AM
> To: pbhagavatula@marvell.com; jerinj@marvell.com; Naga Harish K, S V
> <s.v.naga.harish.k@intel.com>
> Cc: dev@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@marvell.com <pbhagavatula@marvell.com>
> > Sent: Monday, December 13, 2021 2:02 PM
> > To: jerinj@marvell.com; Jayatheerthan, Jay
> > <jay.jayatheerthan@intel.com>
> > Cc: dev@dpdk.org; Pavan Nikhilesh <pbhagavatula@marvell.com>
> > Subject: [PATCH] eventdev: fix missing internal port checks
> >
> > From: Pavan Nikhilesh <pbhagavatula@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@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


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

* RE: [PATCH] eventdev: fix missing internal port checks
  2021-12-14 10:53   ` Naga Harish K, S V
@ 2021-12-14 11:43     ` Jayatheerthan, Jay
  2022-01-20 13:25       ` Jerin Jacob
  0 siblings, 1 reply; 5+ messages in thread
From: Jayatheerthan, Jay @ 2021-12-14 11:43 UTC (permalink / raw)
  To: Naga Harish K, S V, pbhagavatula, jerinj; +Cc: dev


Acked-by: Jay Jayatheerthan <jay.jayatheerthan@intel.com>


> -----Original Message-----
> From: Naga Harish K, S V <s.v.naga.harish.k@intel.com>
> Sent: Tuesday, December 14, 2021 4:23 PM
> To: Jayatheerthan, Jay <jay.jayatheerthan@intel.com>; pbhagavatula@marvell.com; jerinj@marvell.com
> Cc: dev@dpdk.org
> Subject: RE: [PATCH] eventdev: fix missing internal port checks
> 
> The patch looks good to me.
> 
> > -----Original Message-----
> > From: Jayatheerthan, Jay <jay.jayatheerthan@intel.com>
> > Sent: Tuesday, December 14, 2021 11:23 AM
> > To: pbhagavatula@marvell.com; jerinj@marvell.com; Naga Harish K, S V
> > <s.v.naga.harish.k@intel.com>
> > Cc: dev@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@marvell.com <pbhagavatula@marvell.com>
> > > Sent: Monday, December 13, 2021 2:02 PM
> > > To: jerinj@marvell.com; Jayatheerthan, Jay
> > > <jay.jayatheerthan@intel.com>
> > > Cc: dev@dpdk.org; Pavan Nikhilesh <pbhagavatula@marvell.com>
> > > Subject: [PATCH] eventdev: fix missing internal port checks
> > >
> > > From: Pavan Nikhilesh <pbhagavatula@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@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


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

* Re: [PATCH] eventdev: fix missing internal port checks
  2021-12-14 11:43     ` Jayatheerthan, Jay
@ 2022-01-20 13:25       ` Jerin Jacob
  0 siblings, 0 replies; 5+ messages in thread
From: Jerin Jacob @ 2022-01-20 13:25 UTC (permalink / raw)
  To: Jayatheerthan, Jay; +Cc: Naga Harish K, S V, pbhagavatula, jerinj, dev

On Tue, Dec 14, 2021 at 5:13 PM Jayatheerthan, Jay
<jay.jayatheerthan@intel.com> wrote:
>
>
> Acked-by: Jay Jayatheerthan <jay.jayatheerthan@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@dpdk.org

    Signed-off-by: Pavan Nikhilesh <pbhagavatula@marvell.com>
    Acked-by: Jay Jayatheerthan <jay.jayatheerthan@intel.com>


Applied to dpdk-next-net-eventdev/for-main. Thanks


>
>
> > -----Original Message-----
> > From: Naga Harish K, S V <s.v.naga.harish.k@intel.com>
> > Sent: Tuesday, December 14, 2021 4:23 PM
> > To: Jayatheerthan, Jay <jay.jayatheerthan@intel.com>; pbhagavatula@marvell.com; jerinj@marvell.com
> > Cc: dev@dpdk.org
> > Subject: RE: [PATCH] eventdev: fix missing internal port checks
> >
> > The patch looks good to me.
> >
> > > -----Original Message-----
> > > From: Jayatheerthan, Jay <jay.jayatheerthan@intel.com>
> > > Sent: Tuesday, December 14, 2021 11:23 AM
> > > To: pbhagavatula@marvell.com; jerinj@marvell.com; Naga Harish K, S V
> > > <s.v.naga.harish.k@intel.com>
> > > Cc: dev@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@marvell.com <pbhagavatula@marvell.com>
> > > > Sent: Monday, December 13, 2021 2:02 PM
> > > > To: jerinj@marvell.com; Jayatheerthan, Jay
> > > > <jay.jayatheerthan@intel.com>
> > > > Cc: dev@dpdk.org; Pavan Nikhilesh <pbhagavatula@marvell.com>
> > > > Subject: [PATCH] eventdev: fix missing internal port checks
> > > >
> > > > From: Pavan Nikhilesh <pbhagavatula@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@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
>

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

end of thread, other threads:[~2022-01-20 13:26 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-12-13  8:31 [PATCH] eventdev: fix missing internal port checks pbhagavatula
2021-12-14  5:52 ` Jayatheerthan, Jay
2021-12-14 10:53   ` Naga Harish K, S V
2021-12-14 11:43     ` Jayatheerthan, Jay
2022-01-20 13:25       ` Jerin Jacob

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