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