DPDK patches and discussions
 help / color / mirror / Atom feed
* [dpdk-dev] [PATCH 1/3] net/octeontx2: handle link status when device stopped
@ 2021-07-07 16:49 skoteshwar
  2021-07-07 16:49 ` [dpdk-dev] [PATCH 2/3] net/octeontx2: get tm node stats after resource allocated skoteshwar
                   ` (2 more replies)
  0 siblings, 3 replies; 4+ messages in thread
From: skoteshwar @ 2021-07-07 16:49 UTC (permalink / raw)
  To: Jerin Jacob, Nithin Dabilpuram, Kiran Kumar K; +Cc: dev, Satha Rao

From: Satha Rao <skoteshwar@marvell.com>

Set link status to down and don't fetch link status from kernel
when device in stopped state.

Signed-off-by: Satha Rao <skoteshwar@marvell.com>
---
 drivers/net/octeontx2/otx2_ethdev.c | 5 +++++
 drivers/net/octeontx2/otx2_link.c   | 2 +-
 2 files changed, 6 insertions(+), 1 deletion(-)

diff --git a/drivers/net/octeontx2/otx2_ethdev.c b/drivers/net/octeontx2/otx2_ethdev.c
index 84225f4..ac53d8c 100644
--- a/drivers/net/octeontx2/otx2_ethdev.c
+++ b/drivers/net/octeontx2/otx2_ethdev.c
@@ -2171,6 +2171,7 @@
 	struct otx2_eth_dev *dev = otx2_eth_pmd_priv(eth_dev);
 	struct rte_mbuf *rx_pkts[32];
 	struct otx2_eth_rxq *rxq;
+	struct rte_eth_link link;
 	int count, i, j, rc;
 
 	nix_lf_switch_header_type_enable(dev, false);
@@ -2196,6 +2197,10 @@
 	for (i = 0; i < eth_dev->data->nb_tx_queues; i++)
 		otx2_nix_tx_queue_stop(eth_dev, i);
 
+	/* Bring down link status internally */
+	memset(&link, 0, sizeof(link));
+	rte_eth_linkstatus_set(eth_dev, &link);
+
 	return 0;
 }
 
diff --git a/drivers/net/octeontx2/otx2_link.c b/drivers/net/octeontx2/otx2_link.c
index 5378e5c..81dd624 100644
--- a/drivers/net/octeontx2/otx2_link.c
+++ b/drivers/net/octeontx2/otx2_link.c
@@ -148,7 +148,7 @@
 	RTE_SET_USED(wait_to_complete);
 	memset(&link, 0, sizeof(struct rte_eth_link));
 
-	if (otx2_dev_is_sdp(dev))
+	if (!eth_dev->data->dev_started || otx2_dev_is_sdp(dev))
 		return 0;
 
 	if (otx2_dev_is_lbk(dev))
-- 
1.8.3.1


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

* [dpdk-dev] [PATCH 2/3] net/octeontx2: get tm node stats after resource allocated
  2021-07-07 16:49 [dpdk-dev] [PATCH 1/3] net/octeontx2: handle link status when device stopped skoteshwar
@ 2021-07-07 16:49 ` skoteshwar
  2021-07-07 16:49 ` [dpdk-dev] [PATCH 3/3] net/cnxk: update link status when device stopped skoteshwar
  2021-07-13  9:32 ` [dpdk-dev] [PATCH 1/3] net/octeontx2: handle " Jerin Jacob
  2 siblings, 0 replies; 4+ messages in thread
From: skoteshwar @ 2021-07-07 16:49 UTC (permalink / raw)
  To: Jerin Jacob, Nithin Dabilpuram, Kiran Kumar K; +Cc: dev, Satha Rao

From: Satha Rao <skoteshwar@marvell.com>

We are getting kernel crash while reading tm node stats when tm
hierarchy is not committed. Until hierarchy committed hardware
resources are not allocated for node, this causes mbox timeout.
This patch check for status of HW resources before reading statistics.

Signed-off-by: Satha Rao <skoteshwar@marvell.com>
---
 drivers/net/octeontx2/otx2_tm.c | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/drivers/net/octeontx2/otx2_tm.c b/drivers/net/octeontx2/otx2_tm.c
index fdd5669..6aff1f9 100644
--- a/drivers/net/octeontx2/otx2_tm.c
+++ b/drivers/net/octeontx2/otx2_tm.c
@@ -2769,6 +2769,12 @@ int otx2_nix_sq_enable(void *_txq)
 		return -EINVAL;
 	}
 
+	if (!(tm_node->flags & NIX_TM_NODE_HWRES)) {
+		error->type = RTE_TM_ERROR_TYPE_NODE_ID;
+		error->message = "HW resources not allocated";
+		return -EINVAL;
+	}
+
 	/* Stats support only for leaf node or TL1 root */
 	if (nix_tm_is_leaf(dev, tm_node->lvl)) {
 		reg = (((uint64_t)tm_node->id) << 32);
-- 
1.8.3.1


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

* [dpdk-dev] [PATCH 3/3] net/cnxk: update link status when device stopped
  2021-07-07 16:49 [dpdk-dev] [PATCH 1/3] net/octeontx2: handle link status when device stopped skoteshwar
  2021-07-07 16:49 ` [dpdk-dev] [PATCH 2/3] net/octeontx2: get tm node stats after resource allocated skoteshwar
@ 2021-07-07 16:49 ` skoteshwar
  2021-07-13  9:32 ` [dpdk-dev] [PATCH 1/3] net/octeontx2: handle " Jerin Jacob
  2 siblings, 0 replies; 4+ messages in thread
From: skoteshwar @ 2021-07-07 16:49 UTC (permalink / raw)
  To: Nithin Dabilpuram, Kiran Kumar K, Sunil Kumar Kori, Satha Rao; +Cc: dev

From: Satha Rao <skoteshwar@marvell.com>

Set link status to down and don't fetch link status from kernel
when device in stopped state.

Signed-off-by: Satha Rao <skoteshwar@marvell.com>
---
 drivers/net/cnxk/cnxk_ethdev.c | 5 +++++
 drivers/net/cnxk/cnxk_link.c   | 2 +-
 2 files changed, 6 insertions(+), 1 deletion(-)

diff --git a/drivers/net/cnxk/cnxk_ethdev.c b/drivers/net/cnxk/cnxk_ethdev.c
index 7adab46..0e3652e 100644
--- a/drivers/net/cnxk/cnxk_ethdev.c
+++ b/drivers/net/cnxk/cnxk_ethdev.c
@@ -1096,6 +1096,7 @@
 	struct cnxk_eth_dev *dev = cnxk_eth_pmd_priv(eth_dev);
 	const struct eth_dev_ops *dev_ops = eth_dev->dev_ops;
 	struct rte_mbuf *rx_pkts[32];
+	struct rte_eth_link link;
 	int count, i, j, rc;
 	void *rxq;
 
@@ -1128,6 +1129,10 @@
 	for (i = 0; i < eth_dev->data->nb_tx_queues; i++)
 		dev_ops->tx_queue_stop(eth_dev, i);
 
+	/* Bring down link status internally */
+	memset(&link, 0, sizeof(link));
+	rte_eth_linkstatus_set(eth_dev, &link);
+
 	return 0;
 }
 
diff --git a/drivers/net/cnxk/cnxk_link.c b/drivers/net/cnxk/cnxk_link.c
index caf35ee..3fdbdba 100644
--- a/drivers/net/cnxk/cnxk_link.c
+++ b/drivers/net/cnxk/cnxk_link.c
@@ -90,7 +90,7 @@
 	RTE_SET_USED(wait_to_complete);
 	memset(&link, 0, sizeof(struct rte_eth_link));
 
-	if (roc_nix_is_sdp(&dev->nix))
+	if (!eth_dev->data->dev_started || roc_nix_is_sdp(&dev->nix))
 		return 0;
 
 	if (roc_nix_is_lbk(&dev->nix)) {
-- 
1.8.3.1


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

* Re: [dpdk-dev] [PATCH 1/3] net/octeontx2: handle link status when device stopped
  2021-07-07 16:49 [dpdk-dev] [PATCH 1/3] net/octeontx2: handle link status when device stopped skoteshwar
  2021-07-07 16:49 ` [dpdk-dev] [PATCH 2/3] net/octeontx2: get tm node stats after resource allocated skoteshwar
  2021-07-07 16:49 ` [dpdk-dev] [PATCH 3/3] net/cnxk: update link status when device stopped skoteshwar
@ 2021-07-13  9:32 ` Jerin Jacob
  2 siblings, 0 replies; 4+ messages in thread
From: Jerin Jacob @ 2021-07-13  9:32 UTC (permalink / raw)
  To: Satha Koteswara Rao Kottidi
  Cc: Jerin Jacob, Nithin Dabilpuram, Kiran Kumar K, dpdk-dev

On Wed, Jul 7, 2021 at 10:20 PM <skoteshwar@marvell.com> wrote:
>
> From: Satha Rao <skoteshwar@marvell.com>
>
> Set link status to down and don't fetch link status from kernel
> when device in stopped state.
>
> Signed-off-by: Satha Rao <skoteshwar@marvell.com>


Series Acked-by: Jerin Jacob <jerinj@marvell.com>
Series applied to dpdk-next-net-mrvl/for-dpdk-main. Thanks.

> ---
>  drivers/net/octeontx2/otx2_ethdev.c | 5 +++++
>  drivers/net/octeontx2/otx2_link.c   | 2 +-
>  2 files changed, 6 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/net/octeontx2/otx2_ethdev.c b/drivers/net/octeontx2/otx2_ethdev.c
> index 84225f4..ac53d8c 100644
> --- a/drivers/net/octeontx2/otx2_ethdev.c
> +++ b/drivers/net/octeontx2/otx2_ethdev.c
> @@ -2171,6 +2171,7 @@
>         struct otx2_eth_dev *dev = otx2_eth_pmd_priv(eth_dev);
>         struct rte_mbuf *rx_pkts[32];
>         struct otx2_eth_rxq *rxq;
> +       struct rte_eth_link link;
>         int count, i, j, rc;
>
>         nix_lf_switch_header_type_enable(dev, false);
> @@ -2196,6 +2197,10 @@
>         for (i = 0; i < eth_dev->data->nb_tx_queues; i++)
>                 otx2_nix_tx_queue_stop(eth_dev, i);
>
> +       /* Bring down link status internally */
> +       memset(&link, 0, sizeof(link));
> +       rte_eth_linkstatus_set(eth_dev, &link);
> +
>         return 0;
>  }
>
> diff --git a/drivers/net/octeontx2/otx2_link.c b/drivers/net/octeontx2/otx2_link.c
> index 5378e5c..81dd624 100644
> --- a/drivers/net/octeontx2/otx2_link.c
> +++ b/drivers/net/octeontx2/otx2_link.c
> @@ -148,7 +148,7 @@
>         RTE_SET_USED(wait_to_complete);
>         memset(&link, 0, sizeof(struct rte_eth_link));
>
> -       if (otx2_dev_is_sdp(dev))
> +       if (!eth_dev->data->dev_started || otx2_dev_is_sdp(dev))
>                 return 0;
>
>         if (otx2_dev_is_lbk(dev))
> --
> 1.8.3.1
>

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

end of thread, other threads:[~2021-07-13  9:32 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-07-07 16:49 [dpdk-dev] [PATCH 1/3] net/octeontx2: handle link status when device stopped skoteshwar
2021-07-07 16:49 ` [dpdk-dev] [PATCH 2/3] net/octeontx2: get tm node stats after resource allocated skoteshwar
2021-07-07 16:49 ` [dpdk-dev] [PATCH 3/3] net/cnxk: update link status when device stopped skoteshwar
2021-07-13  9:32 ` [dpdk-dev] [PATCH 1/3] net/octeontx2: handle " 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).