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