From: Shijith Thotton <sthotton@marvell.com>
To: <jerinj@marvell.com>
Cc: Shijith Thotton <sthotton@marvell.com>, <dev@dpdk.org>,
<pbhagavatula@marvell.com>
Subject: [PATCH] drivers: remove support to limit XAQ in cnxk event driver
Date: Mon, 19 Sep 2022 16:18:26 +0530 [thread overview]
Message-ID: <ac80a3644a024e949c514745c48380d90cd5c390.1663584457.git.sthotton@marvell.com> (raw)
Removed support to limit XAQ from devargs. If XAQ is limited, new add
works could run out of XAQ entries and disable the queue.
Signed-off-by: Shijith Thotton <sthotton@marvell.com>
---
doc/guides/eventdevs/cnxk.rst | 5 ++---
drivers/common/cnxk/roc_mbox.h | 2 +-
drivers/common/cnxk/roc_sso.c | 2 --
drivers/event/cnxk/cnxk_eventdev.c | 8 +++-----
drivers/event/cnxk/cnxk_eventdev.h | 1 -
5 files changed, 6 insertions(+), 12 deletions(-)
diff --git a/doc/guides/eventdevs/cnxk.rst b/doc/guides/eventdevs/cnxk.rst
index 8537f6257e..3baf26fb54 100644
--- a/doc/guides/eventdevs/cnxk.rst
+++ b/doc/guides/eventdevs/cnxk.rst
@@ -95,12 +95,11 @@ Runtime Config Options
We can control the QoS of SSO GGRP by modifying the above mentioned
thresholds. GGRPs that have higher importance can be assigned higher
thresholds than the rest. The dictionary format is as follows
- [Qx-XAQ-TAQ-IAQ][Qz-XAQ-TAQ-IAQ] expressed in percentages, 0 represents
- default.
+ [Qx-TAQ-IAQ][Qz-TAQ-IAQ] expressed in percentages, 0 represents default.
For example::
- -a 0002:0e:00.0,qos=[1-50-50-50]
+ -a 0002:0e:00.0,qos=[1-50-50]
- ``Force Rx Back pressure``
diff --git a/drivers/common/cnxk/roc_mbox.h b/drivers/common/cnxk/roc_mbox.h
index 965c704322..d07c8be9d9 100644
--- a/drivers/common/cnxk/roc_mbox.h
+++ b/drivers/common/cnxk/roc_mbox.h
@@ -1330,7 +1330,7 @@ struct sso_grp_priority {
struct sso_grp_qos_cfg {
struct mbox_msghdr hdr;
uint16_t __io grp;
- uint32_t __io xaq_limit;
+ uint32_t __io rsvd;
uint16_t __io taq_thr;
uint16_t __io iaq_thr;
};
diff --git a/drivers/common/cnxk/roc_sso.c b/drivers/common/cnxk/roc_sso.c
index 126a9cba99..e07d423c93 100644
--- a/drivers/common/cnxk/roc_sso.c
+++ b/drivers/common/cnxk/roc_sso.c
@@ -386,7 +386,6 @@ roc_sso_hwgrp_qos_config(struct roc_sso *roc_sso, struct roc_sso_hwgrp_qos *qos,
plt_spinlock_lock(&sso->mbox_lock);
for (i = 0; i < nb_qos; i++) {
- uint8_t xaq_prcnt = qos[i].xaq_prcnt;
uint8_t iaq_prcnt = qos[i].iaq_prcnt;
uint8_t taq_prcnt = qos[i].taq_prcnt;
@@ -405,7 +404,6 @@ roc_sso_hwgrp_qos_config(struct roc_sso *roc_sso, struct roc_sso_hwgrp_qos *qos,
}
}
req->grp = qos[i].hwgrp;
- req->xaq_limit = (nb_xaq * (xaq_prcnt ? xaq_prcnt : 100)) / 100;
req->iaq_thr = (SSO_HWGRP_IAQ_MAX_THR_MASK *
(iaq_prcnt ? iaq_prcnt : 100)) /
100;
diff --git a/drivers/event/cnxk/cnxk_eventdev.c b/drivers/event/cnxk/cnxk_eventdev.c
index 8923e94824..3a83a5fef1 100644
--- a/drivers/event/cnxk/cnxk_eventdev.c
+++ b/drivers/event/cnxk/cnxk_eventdev.c
@@ -400,7 +400,6 @@ cnxk_sso_start(struct rte_eventdev *event_dev, cnxk_sso_hws_reset_t reset_fn,
qos[i].hwgrp = dev->qos_parse_data[i].queue;
qos[i].iaq_prcnt = dev->qos_parse_data[i].iaq_prcnt;
qos[i].taq_prcnt = dev->qos_parse_data[i].taq_prcnt;
- qos[i].xaq_prcnt = dev->qos_parse_data[i].xaq_prcnt;
}
rc = roc_sso_hwgrp_qos_config(&dev->sso, qos, dev->qos_queue_cnt,
dev->xae_cnt);
@@ -477,7 +476,7 @@ parse_queue_param(char *value, void *opaque)
}
if (val != (&queue_qos.iaq_prcnt + 1)) {
- plt_err("Invalid QoS parameter expected [Qx-XAQ-TAQ-IAQ]");
+ plt_err("Invalid QoS parameter expected [Qx-TAQ-IAQ]");
return;
}
@@ -525,9 +524,8 @@ parse_sso_kvargs_dict(const char *key, const char *value, void *opaque)
{
RTE_SET_USED(key);
- /* Dict format [Qx-XAQ-TAQ-IAQ][Qz-XAQ-TAQ-IAQ] use '-' cause ','
- * isn't allowed. Everything is expressed in percentages, 0 represents
- * default.
+ /* Dict format [Qx-TAQ-IAQ][Qz-TAQ-IAQ] use '-' cause ',' isn't allowed.
+ * Everything is expressed in percentages, 0 represents default.
*/
parse_qos_list(value, opaque);
diff --git a/drivers/event/cnxk/cnxk_eventdev.h b/drivers/event/cnxk/cnxk_eventdev.h
index e8129bf774..3a8de0bac0 100644
--- a/drivers/event/cnxk/cnxk_eventdev.h
+++ b/drivers/event/cnxk/cnxk_eventdev.h
@@ -83,7 +83,6 @@ typedef int (*cnxk_sso_hws_flush_t)(void *ws, uint8_t queue_id, uintptr_t base,
struct cnxk_sso_qos {
uint16_t queue;
- uint16_t xaq_prcnt;
uint16_t taq_prcnt;
uint16_t iaq_prcnt;
};
--
2.25.1
next reply other threads:[~2022-09-19 10:48 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-09-19 10:48 Shijith Thotton [this message]
2022-09-20 7:03 ` [PATCH v2] " Shijith Thotton
2022-09-27 10:57 ` Jerin Jacob
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=ac80a3644a024e949c514745c48380d90cd5c390.1663584457.git.sthotton@marvell.com \
--to=sthotton@marvell.com \
--cc=dev@dpdk.org \
--cc=jerinj@marvell.com \
--cc=pbhagavatula@marvell.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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).