All of lore.kernel.org
 help / color / mirror / Atom feed
From: Subbaraya Sundeep <sbhatta@marvell.com>
To: <mkubecek@suse.cz>, <davem@davemloft.net>, <kuba@kernel.org>
Cc: <netdev@vger.kernel.org>, <sgoutham@marvell.com>,
	<hkelam@marvell.com>, <gakula@marvell.com>,
	Subbaraya Sundeep <sbhatta@marvell.com>
Subject: [ethtool-next PATCH] rings: add support to set/get cqe size
Date: Thu, 26 May 2022 16:48:45 +0530	[thread overview]
Message-ID: <1653563925-21327-1-git-send-email-sbhatta@marvell.com> (raw)

After a packet is sent or received by NIC then NIC posts
a completion queue event which consists of transmission status
(like send success or error) and received status(like
pointers to packet fragments). These completion events may
also use a ring similar to rx and tx rings. This patch
introduces cqe-size ethtool parameter to modify the size
of the completion queue event if NIC hardware has that capability.
With this patch in place, cqe size can be set via
"ethtool -G <dev> cqe-size xxx" and get via "ethtool -g <dev>".

Signed-off-by: Subbaraya Sundeep <sbhatta@marvell.com>
---
 ethtool.8.in    | 4 ++++
 ethtool.c       | 1 +
 netlink/rings.c | 7 +++++++
 3 files changed, 12 insertions(+)

diff --git a/ethtool.8.in b/ethtool.8.in
index cbfe9cf..92ba229 100644
--- a/ethtool.8.in
+++ b/ethtool.8.in
@@ -200,6 +200,7 @@ ethtool \- query or control network driver and hardware settings
 .BN tx
 .BN rx\-buf\-len
 .BN tx\-push
+.BN cqe\-size
 .HP
 .B ethtool \-i|\-\-driver
 .I devname
@@ -577,6 +578,9 @@ Changes the size of a buffer in the Rx ring.
 .TP
 .BI tx\-push \ on|off
 Specifies whether TX push should be enabled.
+.TP
+.BI cqe\-size \ N
+Changes the size of completion queue event.
 .RE
 .TP
 .B \-i \-\-driver
diff --git a/ethtool.c b/ethtool.c
index c58c73b..ef4e4c6 100644
--- a/ethtool.c
+++ b/ethtool.c
@@ -5734,6 +5734,7 @@ static const struct option args[] = {
 			  "		[ tx N ]\n"
 			  "		[ rx-buf-len N]\n"
 			  "		[ tx-push on|off]\n"
+			  "             [ cqe-size N]\n"
 	},
 	{
 		.opts	= "-k|--show-features|--show-offload",
diff --git a/netlink/rings.c b/netlink/rings.c
index 3718c10..5999247 100644
--- a/netlink/rings.c
+++ b/netlink/rings.c
@@ -48,6 +48,7 @@ int rings_reply_cb(const struct nlmsghdr *nlhdr, void *data)
 	show_u32(tb[ETHTOOL_A_RINGS_TX], "TX:\t\t");
 	show_u32(tb[ETHTOOL_A_RINGS_RX_BUF_LEN], "RX Buf Len:\t\t");
 	show_bool("tx-push", "TX Push:\t%s\n", tb[ETHTOOL_A_RINGS_TX_PUSH]);
+	show_u32(tb[ETHTOOL_A_RINGS_CQE_SIZE], "CQE Size:\t\t");
 
 	return MNL_CB_OK;
 }
@@ -112,6 +113,12 @@ static const struct param_parser sring_params[] = {
 		.handler        = nl_parse_u8bool,
 		.min_argc       = 1,
 	},
+	{
+		.arg            = "cqe-size",
+		.type           = ETHTOOL_A_RINGS_CQE_SIZE,
+		.handler        = nl_parse_direct_u32,
+		.min_argc       = 1,
+	},
 	{}
 };
 
-- 
2.7.4


             reply	other threads:[~2022-05-26 11:21 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-05-26 11:18 Subbaraya Sundeep [this message]
2022-06-06 10:24 ` [ethtool-next PATCH] rings: add support to set/get cqe size Subbaraya Sundeep Bhatta
2022-06-13 23:32   ` Michal Kubecek

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=1653563925-21327-1-git-send-email-sbhatta@marvell.com \
    --to=sbhatta@marvell.com \
    --cc=davem@davemloft.net \
    --cc=gakula@marvell.com \
    --cc=hkelam@marvell.com \
    --cc=kuba@kernel.org \
    --cc=mkubecek@suse.cz \
    --cc=netdev@vger.kernel.org \
    --cc=sgoutham@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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.