[dpdk-stable] patch 'net/bnxt: fix stats errors handling' has been queued to LTS release 17.11.10
Luca Boccassi
bluca at debian.org
Tue Dec 24 12:16:48 CET 2019
Hi,
Thanks for checking, removed.
On Thu, 2019-12-19 at 20:26 +0530, Kalesh Anakkur Purayil wrote:
> Hi Luca,
>
> NAK for this patch as the rebasing was not correctly done. You can
> ignore this patch for now from 17.11 stable inclusion.
>
> Regards,
> Kalesh
>
>
> On Thu, Dec 19, 2019 at 8:07 PM <luca.boccassi at gmail.com> wrote:
> > Hi,
> >
> > FYI, your patch has been queued to LTS release 17.11.10
> >
> > Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable
> > yet.
> > It will be pushed if I get no objections before 12/21/19. So please
> > shout if anyone has objections.
> >
> > Also note that after the patch there's a diff of the upstream
> > commit vs the
> > patch applied to the branch. This will indicate if there was any
> > rebasing
> > needed to apply to the stable branch. If there were code changes
> > for rebasing
> > (ie: not only metadata diffs), please double check that the rebase
> > was
> > correctly done.
> >
> > Thanks.
> >
> > Luca Boccassi
> >
> > ---
> > From ed1b2592aee44b786ac897651e9e5fc7ed350e9c Mon Sep 17 00:00:00
> > 2001
> > From: Kalesh AP <kalesh-anakkur.purayil at broadcom.com>
> > Date: Wed, 9 Oct 2019 18:41:42 -0700
> > Subject: [PATCH] net/bnxt: fix stats errors handling
> >
> > [ upstream commit 9f55e6ac7500e828d42e95100d5cb061e912be5c ]
> >
> > This patch fixes few checks and few return values while getting
> > and clearing device statistics.
> >
> > 1. Fixed to return standard error code.
> > 2. Clubbed few error checks
> > 3. Removed an unnecessary return check
> >
> > Fixes: bfb9c2260be2 ("net/bnxt: support xstats get/reset")
> > Fixes: 88920136688c ("net/bnxt: support xstats get by id")
> >
> > Signed-off-by: Kalesh AP <kalesh-anakkur.purayil at broadcom.com>
> > Reviewed-by: Somnath Kotur <somnath.kotur at broadcom.com>
> > Reviewed-by: Ajit Khaparde <ajit.khaparde at broadcom.com>
> > ---
> > drivers/net/bnxt/bnxt_stats.c | 21 +++++++++++----------
> > 1 file changed, 11 insertions(+), 10 deletions(-)
> >
> > diff --git a/drivers/net/bnxt/bnxt_stats.c
> > b/drivers/net/bnxt/bnxt_stats.c
> > index f8bb4ed9e5..6497926162 100644
> > --- a/drivers/net/bnxt/bnxt_stats.c
> > +++ b/drivers/net/bnxt/bnxt_stats.c
> > @@ -360,16 +360,17 @@ int bnxt_dev_xstats_get_names_op(__rte_unused
> > struct rte_eth_dev *eth_dev,
> > void bnxt_dev_xstats_reset_op(struct rte_eth_dev *eth_dev)
> > {
> > struct bnxt *bp = (struct bnxt *)eth_dev->data-
> > >dev_private;
> > + int ret;
> >
> > - if (bp->flags & BNXT_FLAG_PORT_STATS && !BNXT_NPAR_PF(bp))
> > - bnxt_hwrm_port_clr_stats(bp);
> > -
> > - if (BNXT_VF(bp))
> > - RTE_LOG(ERR, PMD, "Operation not supported on a VF
> > device\n");
> > - if (BNXT_NPAR_PF(bp))
> > - RTE_LOG(ERR, PMD, "Operation not supported on a MF
> > device\n");
> > - if (!(bp->flags & BNXT_FLAG_PORT_STATS))
> > + if (BNXT_VF(bp) || !BNXT_NPAR_PF(bp) ||
> > + !(bp->flags & BNXT_FLAG_PORT_STATS)) {
> > RTE_LOG(ERR, PMD, "Operation not supported\n");
> > + }
> > +
> > + ret = bnxt_hwrm_port_clr_stats(bp);
> > + if (ret != 0)
> > + RTE_LOG(ERR, PMD, "Failed to reset xstats: %s\n",
> > + strerror(-ret));
> > }
> >
> > int bnxt_dev_xstats_get_by_id_op(struct rte_eth_dev *dev, const
> > uint64_t *ids,
> > @@ -389,7 +390,7 @@ int bnxt_dev_xstats_get_by_id_op(struct
> > rte_eth_dev *dev, const uint64_t *ids,
> > for (i = 0; i < limit; i++) {
> > if (ids[i] >= stat_cnt) {
> > RTE_LOG(ERR, PMD, "id value isn't valid");
> > - return -1;
> > + return -EINVAL;
> > }
> > values[i] = values_copy[ids[i]];
> > }
> > @@ -415,7 +416,7 @@ int bnxt_dev_xstats_get_names_by_id_op(struct
> > rte_eth_dev *dev,
> > for (i = 0; i < limit; i++) {
> > if (ids[i] >= stat_cnt) {
> > RTE_LOG(ERR, PMD, "id value isn't valid");
> > - return -1;
> > + return -EINVAL;
> > }
> > strcpy(xstats_names[i].name,
> > xstats_names_copy[ids[i]].name);
> > --
> > 2.20.1
> >
> > ---
> > Diff of the applied patch vs upstream commit (please double-check
> > if non-empty:
> > ---
> > --- - 2019-12-19 14:32:28.664004493 +0000
> > +++ 0059-net-bnxt-fix-stats-errors-handling.patch 2019-12-19
> > 14:32:26.109297904 +0000
> > @@ -1,8 +1,10 @@
> > -From 9f55e6ac7500e828d42e95100d5cb061e912be5c Mon Sep 17 00:00:00
> > 2001
> > +From ed1b2592aee44b786ac897651e9e5fc7ed350e9c Mon Sep 17 00:00:00
> > 2001
> > From: Kalesh AP <kalesh-anakkur.purayil at broadcom.com>
> > Date: Wed, 9 Oct 2019 18:41:42 -0700
> > Subject: [PATCH] net/bnxt: fix stats errors handling
> >
> > +[ upstream commit 9f55e6ac7500e828d42e95100d5cb061e912be5c ]
> > +
> > This patch fixes few checks and few return values while getting
> > and clearing device statistics.
> >
> > @@ -12,90 +14,57 @@
> >
> > Fixes: bfb9c2260be2 ("net/bnxt: support xstats get/reset")
> > Fixes: 88920136688c ("net/bnxt: support xstats get by id")
> > -Cc: stable at dpdk.org
> >
> > Signed-off-by: Kalesh AP <kalesh-anakkur.purayil at broadcom.com>
> > Reviewed-by: Somnath Kotur <somnath.kotur at broadcom.com>
> > Reviewed-by: Ajit Khaparde <ajit.khaparde at broadcom.com>
> > ---
> > - drivers/net/bnxt/bnxt_stats.c | 36 +++++++++++-------------------
> > -----
> > - 1 file changed, 11 insertions(+), 25 deletions(-)
> > + drivers/net/bnxt/bnxt_stats.c | 21 +++++++++++----------
> > + 1 file changed, 11 insertions(+), 10 deletions(-)
> >
> > diff --git a/drivers/net/bnxt/bnxt_stats.c
> > b/drivers/net/bnxt/bnxt_stats.c
> > -index 21012e1fee..f486a5634b 100644
> > +index f8bb4ed9e5..6497926162 100644
> > --- a/drivers/net/bnxt/bnxt_stats.c
> > +++ b/drivers/net/bnxt/bnxt_stats.c
> > -@@ -360,7 +360,7 @@ int bnxt_stats_get_op(struct rte_eth_dev
> > *eth_dev,
> > - memset(bnxt_stats, 0, sizeof(*bnxt_stats));
> > - if (!(bp->flags & BNXT_FLAG_INIT_DONE)) {
> > - PMD_DRV_LOG(ERR, "Device Initialization not
> > complete!\n");
> > -- return -1;
> > -+ return -EIO;
> > - }
> > -
> > - num_q_stats = RTE_MIN(bp->rx_cp_nr_rings,
> > -@@ -390,9 +390,8 @@ int bnxt_stats_get_op(struct rte_eth_dev
> > *eth_dev,
> > - if (unlikely(rc))
> > - return rc;
> > - }
> > -+
> > - rc = bnxt_hwrm_func_qstats(bp, 0xffff, bnxt_stats);
> > -- if (unlikely(rc))
> > -- return rc;
> > - return rc;
> > - }
> > +@@ -360,16 +360,17 @@ int
> > bnxt_dev_xstats_get_names_op(__rte_unused struct rte_eth_dev
> > *eth_dev,
> > + void bnxt_dev_xstats_reset_op(struct rte_eth_dev *eth_dev)
> > + {
> > + struct bnxt *bp = (struct bnxt *)eth_dev->data-
> > >dev_private;
> > ++ int ret;
> >
> > -@@ -573,30 +572,17 @@ int bnxt_dev_xstats_reset_op(struct
> > rte_eth_dev *eth_dev)
> > - if (ret)
> > - return ret;
> > -
> > -- if (bp->flags & BNXT_FLAG_PORT_STATS && BNXT_SINGLE_PF(bp))
> > {
> > -- ret = bnxt_hwrm_port_clr_stats(bp);
> > -- if (ret != 0) {
> > -- PMD_DRV_LOG(ERR, "Operation failed: %s\n",
> > -- strerror(-ret));
> > -- return ret;
> > -- }
> > -- }
> > --
> > -- ret = 0;
> > +- if (bp->flags & BNXT_FLAG_PORT_STATS && !BNXT_NPAR_PF(bp))
> > +- bnxt_hwrm_port_clr_stats(bp);
> > -
> > -- if (BNXT_VF(bp)) {
> > -- PMD_DRV_LOG(ERR, "Operation not supported on a VF
> > device\n");
> > -- ret = -ENOTSUP;
> > -- }
> > -- if (!BNXT_SINGLE_PF(bp)) {
> > -- PMD_DRV_LOG(ERR, "Operation not supported on a MF
> > device\n");
> > -- ret = -ENOTSUP;
> > -- }
> > -- if (!(bp->flags & BNXT_FLAG_PORT_STATS)) {
> > -+ if (BNXT_VF(bp) || !BNXT_SINGLE_PF(bp) ||
> > +- if (BNXT_VF(bp))
> > +- RTE_LOG(ERR, PMD, "Operation not supported on a VF
> > device\n");
> > +- if (BNXT_NPAR_PF(bp))
> > +- RTE_LOG(ERR, PMD, "Operation not supported on a MF
> > device\n");
> > +- if (!(bp->flags & BNXT_FLAG_PORT_STATS))
> > ++ if (BNXT_VF(bp) || !BNXT_NPAR_PF(bp) ||
> > + !(bp->flags & BNXT_FLAG_PORT_STATS)) {
> > - PMD_DRV_LOG(ERR, "Operation not supported\n");
> > - ret = -ENOTSUP;
> > - }
> > -
> > + RTE_LOG(ERR, PMD, "Operation not supported\n");
> > ++ }
> > ++
> > + ret = bnxt_hwrm_port_clr_stats(bp);
> > + if (ret != 0)
> > -+ PMD_DRV_LOG(ERR, "Failed to reset xstats: %s\n",
> > ++ RTE_LOG(ERR, PMD, "Failed to reset xstats: %s\n",
> > + strerror(-ret));
> > -+
> > - return ret;
> > }
> >
> > -@@ -625,7 +611,7 @@ int bnxt_dev_xstats_get_by_id_op(struct
> > rte_eth_dev *dev, const uint64_t *ids,
> > + int bnxt_dev_xstats_get_by_id_op(struct rte_eth_dev *dev, const
> > uint64_t *ids,
> > +@@ -389,7 +390,7 @@ int bnxt_dev_xstats_get_by_id_op(struct
> > rte_eth_dev *dev, const uint64_t *ids,
> > for (i = 0; i < limit; i++) {
> > if (ids[i] >= stat_cnt) {
> > - PMD_DRV_LOG(ERR, "id value isn't valid");
> > + RTE_LOG(ERR, PMD, "id value isn't valid");
> > - return -1;
> > + return -EINVAL;
> > }
> > values[i] = values_copy[ids[i]];
> > }
> > -@@ -659,7 +645,7 @@ int bnxt_dev_xstats_get_names_by_id_op(struct
> > rte_eth_dev *dev,
> > +@@ -415,7 +416,7 @@ int bnxt_dev_xstats_get_names_by_id_op(struct
> > rte_eth_dev *dev,
> > for (i = 0; i < limit; i++) {
> > if (ids[i] >= stat_cnt) {
> > - PMD_DRV_LOG(ERR, "id value isn't valid");
> > + RTE_LOG(ERR, PMD, "id value isn't valid");
> > - return -1;
> > + return -EINVAL;
> > }
>
>
>
--
Kind regards,
Luca Boccassi
More information about the stable
mailing list