DPDK patches and discussions
 help / color / mirror / Atom feed
* [dpdk-dev] [PATCH] net/bnxt: fix RSS context cleanup
@ 2021-03-18  0:47 Ajit Khaparde
  2021-03-19  0:05 ` Ajit Khaparde
  0 siblings, 1 reply; 2+ messages in thread
From: Ajit Khaparde @ 2021-03-18  0:47 UTC (permalink / raw)
  To: dev; +Cc: stable

[-- Attachment #1: Type: text/plain, Size: 1137 bytes --]

The PMD is allocating an extra RSS context with each port start.
But it is freeing only one RSS context during port stop. So at some point
we run out of RSS contexts when we do multiple port stop/start sequences.
bnxt_hwrm_vnic_ctx_alloc() is called by bnxt_setup_one_vnic(), but
bnxt_hwrm_vnic_ctx_free() is not called in the corresponding
bnxt_free_one_vnic().

Fix this by calling bnxt_hwrm_vnic_ctx_free() in bnxt_free_one_vnic().

Fixes: 7fe5668d2ea3 ("net/bnxt: support VLAN filter and strip")
Cc: stable@dpdk.org

Signed-off-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
---
 drivers/net/bnxt/bnxt_ethdev.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/drivers/net/bnxt/bnxt_ethdev.c b/drivers/net/bnxt/bnxt_ethdev.c
index 1997783a7d..ff92f999db 100644
--- a/drivers/net/bnxt/bnxt_ethdev.c
+++ b/drivers/net/bnxt/bnxt_ethdev.c
@@ -2531,6 +2531,10 @@ static int bnxt_free_one_vnic(struct bnxt *bp, uint16_t vnic_id)
 	}
 	bnxt_del_dflt_mac_filter(bp, vnic);
 
+	rc = bnxt_hwrm_vnic_ctx_free(bp, vnic);
+	if (rc)
+		return rc;
+
 	rc = bnxt_hwrm_vnic_free(bp, vnic);
 	if (rc)
 		return rc;
-- 
2.21.1 (Apple Git-122.3)


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

* Re: [dpdk-dev] [PATCH] net/bnxt: fix RSS context cleanup
  2021-03-18  0:47 [dpdk-dev] [PATCH] net/bnxt: fix RSS context cleanup Ajit Khaparde
@ 2021-03-19  0:05 ` Ajit Khaparde
  0 siblings, 0 replies; 2+ messages in thread
From: Ajit Khaparde @ 2021-03-19  0:05 UTC (permalink / raw)
  To: dpdk-dev; +Cc: dpdk stable

[-- Attachment #1: Type: text/plain, Size: 1383 bytes --]

On Wed, Mar 17, 2021 at 5:47 PM Ajit Khaparde
<ajit.khaparde@broadcom.com> wrote:
>
> The PMD is allocating an extra RSS context with each port start.
> But it is freeing only one RSS context during port stop. So at some point
> we run out of RSS contexts when we do multiple port stop/start sequences.
> bnxt_hwrm_vnic_ctx_alloc() is called by bnxt_setup_one_vnic(), but
> bnxt_hwrm_vnic_ctx_free() is not called in the corresponding
> bnxt_free_one_vnic().
>
> Fix this by calling bnxt_hwrm_vnic_ctx_free() in bnxt_free_one_vnic().
>
> Fixes: 7fe5668d2ea3 ("net/bnxt: support VLAN filter and strip")
> Cc: stable@dpdk.org
>
> Signed-off-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
Patch applied to dpdk-next-net-brcm.

> ---
>  drivers/net/bnxt/bnxt_ethdev.c | 4 ++++
>  1 file changed, 4 insertions(+)
>
> diff --git a/drivers/net/bnxt/bnxt_ethdev.c b/drivers/net/bnxt/bnxt_ethdev.c
> index 1997783a7d..ff92f999db 100644
> --- a/drivers/net/bnxt/bnxt_ethdev.c
> +++ b/drivers/net/bnxt/bnxt_ethdev.c
> @@ -2531,6 +2531,10 @@ static int bnxt_free_one_vnic(struct bnxt *bp, uint16_t vnic_id)
>         }
>         bnxt_del_dflt_mac_filter(bp, vnic);
>
> +       rc = bnxt_hwrm_vnic_ctx_free(bp, vnic);
> +       if (rc)
> +               return rc;
> +
>         rc = bnxt_hwrm_vnic_free(bp, vnic);
>         if (rc)
>                 return rc;
> --
> 2.21.1 (Apple Git-122.3)
>

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

end of thread, other threads:[~2021-03-19  0:06 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-03-18  0:47 [dpdk-dev] [PATCH] net/bnxt: fix RSS context cleanup Ajit Khaparde
2021-03-19  0:05 ` Ajit Khaparde

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