All of lore.kernel.org
 help / color / mirror / Atom feed
* [RFCv2 PATCH net-next 0/2] net-next: ethool: add support to get/set tx push by ethtool -G/g
@ 2022-03-26  8:51 Jie Wang
  2022-03-26  8:51 ` [RFCv2 PATCH net-next 1/2] net-next: ethtool: extend ringparam set/get APIs for tx_push Jie Wang
  2022-03-26  8:51 ` [RFCv2 PATCH net-next 2/2] net-next: hn3: add tx push support in hns3 ring param process Jie Wang
  0 siblings, 2 replies; 6+ messages in thread
From: Jie Wang @ 2022-03-26  8:51 UTC (permalink / raw)
  To: mkubecek, davem, kuba, wangjie125
  Cc: netdev, huangguangbin2, lipeng321, shenjian15, moyufeng,
	linyunsheng, salil.mehta, chenhao288

These two patches add tx push in ring parms and adapt the set and get APIs 
of ring params

The former discussion please see [1].
[1]:https://lore.kernel.org/netdev/20220315032108.57228-1-wangjie125@huawei.com/

ChangeLog:
V1->V2
extend tx push param in ringparam, suggested by Jakub Kicinski.

Jie Wang (2):
  net-next: ethtool: extend ringparam set/get APIs for tx_push
  net-next: hn3: add tx push support in hns3 ring param process

 .../ethernet/hisilicon/hns3/hns3_ethtool.c    | 30 +++++++++++++++++++
 include/linux/ethtool.h                       |  3 ++
 include/uapi/linux/ethtool_netlink.h          |  1 +
 net/ethtool/netlink.h                         |  2 +-
 net/ethtool/rings.c                           |  9 ++++--
 5 files changed, 42 insertions(+), 3 deletions(-)

-- 
2.33.0


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

* [RFCv2 PATCH net-next 1/2] net-next: ethtool: extend ringparam set/get APIs for tx_push
  2022-03-26  8:51 [RFCv2 PATCH net-next 0/2] net-next: ethool: add support to get/set tx push by ethtool -G/g Jie Wang
@ 2022-03-26  8:51 ` Jie Wang
  2022-03-26 19:50   ` Jakub Kicinski
  2022-03-26  8:51 ` [RFCv2 PATCH net-next 2/2] net-next: hn3: add tx push support in hns3 ring param process Jie Wang
  1 sibling, 1 reply; 6+ messages in thread
From: Jie Wang @ 2022-03-26  8:51 UTC (permalink / raw)
  To: mkubecek, davem, kuba, wangjie125
  Cc: netdev, huangguangbin2, lipeng321, shenjian15, moyufeng,
	linyunsheng, salil.mehta, chenhao288

Currently tx push is a standard driver feature which controls use of a fast
path descriptor push. So this patch extends the ringparam APIs and data
structures to support set/get tx push by ethtool -G/g.

Signed-off-by: Jie Wang <wangjie125@huawei.com>
---
 include/linux/ethtool.h              | 3 +++
 include/uapi/linux/ethtool_netlink.h | 1 +
 net/ethtool/netlink.h                | 2 +-
 net/ethtool/rings.c                  | 9 +++++++--
 4 files changed, 12 insertions(+), 3 deletions(-)

diff --git a/include/linux/ethtool.h b/include/linux/ethtool.h
index 4af58459a1e7..096771ee8586 100644
--- a/include/linux/ethtool.h
+++ b/include/linux/ethtool.h
@@ -72,11 +72,13 @@ enum {
  * @rx_buf_len: Current length of buffers on the rx ring.
  * @tcp_data_split: Scatter packet headers and data to separate buffers
  * @cqe_size: Size of TX/RX completion queue event
+ * @tx_push: The flag of tx push mode
  */
 struct kernel_ethtool_ringparam {
 	u32	rx_buf_len;
 	u8	tcp_data_split;
 	u32	cqe_size;
+	u32	tx_push;
 };
 
 /**
@@ -87,6 +89,7 @@ struct kernel_ethtool_ringparam {
 enum ethtool_supported_ring_param {
 	ETHTOOL_RING_USE_RX_BUF_LEN = BIT(0),
 	ETHTOOL_RING_USE_CQE_SIZE   = BIT(1),
+	ETHTOOL_RING_USE_TX_PUSH    = BIT(2),
 };
 
 #define __ETH_RSS_HASH_BIT(bit)	((u32)1 << (bit))
diff --git a/include/uapi/linux/ethtool_netlink.h b/include/uapi/linux/ethtool_netlink.h
index 979850221b8d..d2fb4f7be61b 100644
--- a/include/uapi/linux/ethtool_netlink.h
+++ b/include/uapi/linux/ethtool_netlink.h
@@ -338,6 +338,7 @@ enum {
 	ETHTOOL_A_RINGS_RX_BUF_LEN,                     /* u32 */
 	ETHTOOL_A_RINGS_TCP_DATA_SPLIT,			/* u8 */
 	ETHTOOL_A_RINGS_CQE_SIZE,			/* u32 */
+	ETHTOOL_A_RINGS_TX_PUSH,			/* u8 */
 
 	/* add new constants above here */
 	__ETHTOOL_A_RINGS_CNT,
diff --git a/net/ethtool/netlink.h b/net/ethtool/netlink.h
index 29d01662a48b..7919ddb2371c 100644
--- a/net/ethtool/netlink.h
+++ b/net/ethtool/netlink.h
@@ -363,7 +363,7 @@ extern const struct nla_policy ethnl_features_set_policy[ETHTOOL_A_FEATURES_WANT
 extern const struct nla_policy ethnl_privflags_get_policy[ETHTOOL_A_PRIVFLAGS_HEADER + 1];
 extern const struct nla_policy ethnl_privflags_set_policy[ETHTOOL_A_PRIVFLAGS_FLAGS + 1];
 extern const struct nla_policy ethnl_rings_get_policy[ETHTOOL_A_RINGS_HEADER + 1];
-extern const struct nla_policy ethnl_rings_set_policy[ETHTOOL_A_RINGS_CQE_SIZE + 1];
+extern const struct nla_policy ethnl_rings_set_policy[ETHTOOL_A_RINGS_TX_PUSH + 1];
 extern const struct nla_policy ethnl_channels_get_policy[ETHTOOL_A_CHANNELS_HEADER + 1];
 extern const struct nla_policy ethnl_channels_set_policy[ETHTOOL_A_CHANNELS_COMBINED_COUNT + 1];
 extern const struct nla_policy ethnl_coalesce_get_policy[ETHTOOL_A_COALESCE_HEADER + 1];
diff --git a/net/ethtool/rings.c b/net/ethtool/rings.c
index 9f33c9689b56..10f8c99ff17e 100644
--- a/net/ethtool/rings.c
+++ b/net/ethtool/rings.c
@@ -55,7 +55,8 @@ static int rings_reply_size(const struct ethnl_req_info *req_base,
 	       nla_total_size(sizeof(u32)) +	/* _RINGS_TX */
 	       nla_total_size(sizeof(u32)) +	/* _RINGS_RX_BUF_LEN */
 	       nla_total_size(sizeof(u8))  +	/* _RINGS_TCP_DATA_SPLIT */
-	       nla_total_size(sizeof(u32));	/* _RINGS_CQE_SIZE */
+	       nla_total_size(sizeof(u32)  +	/* _RINGS_CQE_SIZE */
+	       nla_total_size(sizeof(u8)));	/* _RINGS_TX_PUSH */
 }
 
 static int rings_fill_reply(struct sk_buff *skb,
@@ -94,7 +95,8 @@ static int rings_fill_reply(struct sk_buff *skb,
 	     (nla_put_u8(skb, ETHTOOL_A_RINGS_TCP_DATA_SPLIT,
 			 kr->tcp_data_split))) ||
 	    (kr->cqe_size &&
-	     (nla_put_u32(skb, ETHTOOL_A_RINGS_CQE_SIZE, kr->cqe_size))))
+	     (nla_put_u32(skb, ETHTOOL_A_RINGS_CQE_SIZE, kr->cqe_size))) ||
+	    nla_put_u8(skb, ETHTOOL_A_RINGS_TX_PUSH, !!kr->tx_push))
 		return -EMSGSIZE;
 
 	return 0;
@@ -123,6 +125,7 @@ const struct nla_policy ethnl_rings_set_policy[] = {
 	[ETHTOOL_A_RINGS_TX]			= { .type = NLA_U32 },
 	[ETHTOOL_A_RINGS_RX_BUF_LEN]            = NLA_POLICY_MIN(NLA_U32, 1),
 	[ETHTOOL_A_RINGS_CQE_SIZE]		= NLA_POLICY_MIN(NLA_U32, 1),
+	[ETHTOOL_A_RINGS_TX_PUSH]		= { .type = NLA_U8 },
 };
 
 int ethnl_set_rings(struct sk_buff *skb, struct genl_info *info)
@@ -165,6 +168,8 @@ int ethnl_set_rings(struct sk_buff *skb, struct genl_info *info)
 			 tb[ETHTOOL_A_RINGS_RX_BUF_LEN], &mod);
 	ethnl_update_u32(&kernel_ringparam.cqe_size,
 			 tb[ETHTOOL_A_RINGS_CQE_SIZE], &mod);
+	ethnl_update_bool32(&kernel_ringparam.tx_push,
+			    tb[ETHTOOL_A_RINGS_TX_PUSH], &mod);
 	ret = 0;
 	if (!mod)
 		goto out_ops;
-- 
2.33.0


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

* [RFCv2 PATCH net-next 2/2] net-next: hn3: add tx push support in hns3 ring param process
  2022-03-26  8:51 [RFCv2 PATCH net-next 0/2] net-next: ethool: add support to get/set tx push by ethtool -G/g Jie Wang
  2022-03-26  8:51 ` [RFCv2 PATCH net-next 1/2] net-next: ethtool: extend ringparam set/get APIs for tx_push Jie Wang
@ 2022-03-26  8:51 ` Jie Wang
  1 sibling, 0 replies; 6+ messages in thread
From: Jie Wang @ 2022-03-26  8:51 UTC (permalink / raw)
  To: mkubecek, davem, kuba, wangjie125
  Cc: netdev, huangguangbin2, lipeng321, shenjian15, moyufeng,
	linyunsheng, salil.mehta, chenhao288

This patch adds tx push param to hns3 ring param and adapts the set and get
API of ring params. So users can set it by cmd ethtool -G and get it by cmd
ethtool -g.

Signed-off-by: Jie Wang <wangjie125@huawei.com>
---
 .../ethernet/hisilicon/hns3/hns3_ethtool.c    | 30 +++++++++++++++++++
 1 file changed, 30 insertions(+)

diff --git a/drivers/net/ethernet/hisilicon/hns3/hns3_ethtool.c b/drivers/net/ethernet/hisilicon/hns3/hns3_ethtool.c
index 6469238ae090..845a56b93075 100644
--- a/drivers/net/ethernet/hisilicon/hns3/hns3_ethtool.c
+++ b/drivers/net/ethernet/hisilicon/hns3/hns3_ethtool.c
@@ -664,6 +664,8 @@ static void hns3_get_ringparam(struct net_device *netdev,
 	param->tx_pending = priv->ring[0].desc_num;
 	param->rx_pending = priv->ring[rx_queue_index].desc_num;
 	kernel_param->rx_buf_len = priv->ring[rx_queue_index].buf_size;
+	kernel_param->tx_push = test_bit(HNS3_NIC_STATE_TX_PUSH_ENABLE,
+					 &priv->state);
 }
 
 static void hns3_get_pauseparam(struct net_device *netdev,
@@ -1114,6 +1116,30 @@ static int hns3_change_rx_buf_len(struct net_device *ndev, u32 rx_buf_len)
 	return 0;
 }
 
+static int hns3_set_tx_push(struct net_device *netdev, u32 tx_push)
+{
+	struct hns3_nic_priv *priv = netdev_priv(netdev);
+	struct hnae3_handle *h = hns3_get_handle(netdev);
+	struct hnae3_ae_dev *ae_dev = pci_get_drvdata(h->pdev);
+	u32 old_state = test_bit(HNS3_NIC_STATE_TX_PUSH_ENABLE, &priv->state);
+
+	if (!test_bit(HNAE3_DEV_SUPPORT_TX_PUSH_B, ae_dev->caps) && tx_push)
+		return -EOPNOTSUPP;
+
+	if (tx_push == old_state)
+		return 0;
+
+	netdev_info(netdev, "Changing tx push from %s to %s\n",
+		    old_state ? "on" : "off", tx_push ? "on" : "off");
+
+	if (tx_push)
+		set_bit(HNS3_NIC_STATE_TX_PUSH_ENABLE, &priv->state);
+	else
+		clear_bit(HNS3_NIC_STATE_TX_PUSH_ENABLE, &priv->state);
+
+	return 0;
+}
+
 static int hns3_set_ringparam(struct net_device *ndev,
 			      struct ethtool_ringparam *param,
 			      struct kernel_ethtool_ringparam *kernel_param,
@@ -1133,6 +1159,10 @@ static int hns3_set_ringparam(struct net_device *ndev,
 	if (ret)
 		return ret;
 
+	ret = hns3_set_tx_push(ndev, kernel_param->tx_push);
+	if (ret)
+		return ret;
+
 	/* Hardware requires that its descriptors must be multiple of eight */
 	new_tx_desc_num = ALIGN(param->tx_pending, HNS3_RING_BD_MULTIPLE);
 	new_rx_desc_num = ALIGN(param->rx_pending, HNS3_RING_BD_MULTIPLE);
-- 
2.33.0


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

* Re: [RFCv2 PATCH net-next 1/2] net-next: ethtool: extend ringparam set/get APIs for tx_push
  2022-03-26  8:51 ` [RFCv2 PATCH net-next 1/2] net-next: ethtool: extend ringparam set/get APIs for tx_push Jie Wang
@ 2022-03-26 19:50   ` Jakub Kicinski
  2022-03-28  3:05     ` wangjie (L)
  0 siblings, 1 reply; 6+ messages in thread
From: Jakub Kicinski @ 2022-03-26 19:50 UTC (permalink / raw)
  To: Jie Wang
  Cc: mkubecek, davem, netdev, huangguangbin2, lipeng321, shenjian15,
	moyufeng, linyunsheng, salil.mehta, chenhao288

On Sat, 26 Mar 2022 16:51:01 +0800 Jie Wang wrote:
> Currently tx push is a standard driver feature which controls use of a fast
> path descriptor push. So this patch extends the ringparam APIs and data
> structures to support set/get tx push by ethtool -G/g.
> 
> Signed-off-by: Jie Wang <wangjie125@huawei.com>
> ---
>  include/linux/ethtool.h              | 3 +++
>  include/uapi/linux/ethtool_netlink.h | 1 +
>  net/ethtool/netlink.h                | 2 +-
>  net/ethtool/rings.c                  | 9 +++++++--

You need to add documentation in:
Documentation/networking/ethtool-netlink.rst

> diff --git a/include/linux/ethtool.h b/include/linux/ethtool.h
> index 4af58459a1e7..096771ee8586 100644
> --- a/include/linux/ethtool.h
> +++ b/include/linux/ethtool.h
> @@ -72,11 +72,13 @@ enum {
>   * @rx_buf_len: Current length of buffers on the rx ring.
>   * @tcp_data_split: Scatter packet headers and data to separate buffers
>   * @cqe_size: Size of TX/RX completion queue event
> + * @tx_push: The flag of tx push mode
>   */
>  struct kernel_ethtool_ringparam {
>  	u32	rx_buf_len;
>  	u8	tcp_data_split;
>  	u32	cqe_size;
> +	u32	tx_push;

Can we make this a u8 and move it up above cqe_size?
u8 should be enough. You can use ethnl_update_u8().

>  };
>  
>  /**
> @@ -87,6 +89,7 @@ struct kernel_ethtool_ringparam {
>  enum ethtool_supported_ring_param {
>  	ETHTOOL_RING_USE_RX_BUF_LEN = BIT(0),
>  	ETHTOOL_RING_USE_CQE_SIZE   = BIT(1),
> +	ETHTOOL_RING_USE_TX_PUSH    = BIT(2),

You need to actually use this constant to reject the setting for
drivers which don't support the feature.

>  };
>  
>  #define __ETH_RSS_HASH_BIT(bit)	((u32)1 << (bit))

> @@ -94,7 +95,8 @@ static int rings_fill_reply(struct sk_buff *skb,
>  	     (nla_put_u8(skb, ETHTOOL_A_RINGS_TCP_DATA_SPLIT,
>  			 kr->tcp_data_split))) ||
>  	    (kr->cqe_size &&
> -	     (nla_put_u32(skb, ETHTOOL_A_RINGS_CQE_SIZE, kr->cqe_size))))
> +	     (nla_put_u32(skb, ETHTOOL_A_RINGS_CQE_SIZE, kr->cqe_size))) ||
> +	    nla_put_u8(skb, ETHTOOL_A_RINGS_TX_PUSH, !!kr->tx_push))
> 
>  		return -EMSGSIZE;
>  
>  	return 0;
> @@ -123,6 +125,7 @@ const struct nla_policy ethnl_rings_set_policy[] = {
>  	[ETHTOOL_A_RINGS_TX]			= { .type = NLA_U32 },
>  	[ETHTOOL_A_RINGS_RX_BUF_LEN]            = NLA_POLICY_MIN(NLA_U32, 1),
>  	[ETHTOOL_A_RINGS_CQE_SIZE]		= NLA_POLICY_MIN(NLA_U32, 1),
> +	[ETHTOOL_A_RINGS_TX_PUSH]		= { .type = NLA_U8 },

This can only be 0 and 1, right? Set a policy to to that effect please.

>  };
>  
>  int ethnl_set_rings(struct sk_buff *skb, struct genl_info *info)
> @@ -165,6 +168,8 @@ int ethnl_set_rings(struct sk_buff *skb, struct genl_info *info)
>  			 tb[ETHTOOL_A_RINGS_RX_BUF_LEN], &mod);
>  	ethnl_update_u32(&kernel_ringparam.cqe_size,
>  			 tb[ETHTOOL_A_RINGS_CQE_SIZE], &mod);
> +	ethnl_update_bool32(&kernel_ringparam.tx_push,
> +			    tb[ETHTOOL_A_RINGS_TX_PUSH], &mod);
>  	ret = 0;
>  	if (!mod)
>  		goto out_ops;


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

* Re: [RFCv2 PATCH net-next 1/2] net-next: ethtool: extend ringparam set/get APIs for tx_push
  2022-03-26 19:50   ` Jakub Kicinski
@ 2022-03-28  3:05     ` wangjie (L)
  2022-03-28 17:35       ` Jakub Kicinski
  0 siblings, 1 reply; 6+ messages in thread
From: wangjie (L) @ 2022-03-28  3:05 UTC (permalink / raw)
  To: Jakub Kicinski
  Cc: mkubecek, davem, netdev, huangguangbin2, lipeng321, shenjian15,
	moyufeng, linyunsheng, salil.mehta, chenhao288



On 2022/3/27 3:50, Jakub Kicinski wrote:
> On Sat, 26 Mar 2022 16:51:01 +0800 Jie Wang wrote:
>> Currently tx push is a standard driver feature which controls use of a fast
>> path descriptor push. So this patch extends the ringparam APIs and data
>> structures to support set/get tx push by ethtool -G/g.
>>
>> Signed-off-by: Jie Wang <wangjie125@huawei.com>
>> ---
>>  include/linux/ethtool.h              | 3 +++
>>  include/uapi/linux/ethtool_netlink.h | 1 +
>>  net/ethtool/netlink.h                | 2 +-
>>  net/ethtool/rings.c                  | 9 +++++++--
>
> You need to add documentation in:
> Documentation/networking/ethtool-netlink.rst
>
OK, i will add it in next version RFC version.
>> diff --git a/include/linux/ethtool.h b/include/linux/ethtool.h
>> index 4af58459a1e7..096771ee8586 100644
>> --- a/include/linux/ethtool.h
>> +++ b/include/linux/ethtool.h
>> @@ -72,11 +72,13 @@ enum {
>>   * @rx_buf_len: Current length of buffers on the rx ring.
>>   * @tcp_data_split: Scatter packet headers and data to separate buffers
>>   * @cqe_size: Size of TX/RX completion queue event
>> + * @tx_push: The flag of tx push mode
>>   */
>>  struct kernel_ethtool_ringparam {
>>  	u32	rx_buf_len;
>>  	u8	tcp_data_split;
>>  	u32	cqe_size;
>> +	u32	tx_push;
>
> Can we make this a u8 and move it up above cqe_size?
> u8 should be enough. You can use ethnl_update_u8().
>
yes, u8 is enough, next RFC version i will change it.
>>  };
>>
>>  /**
>> @@ -87,6 +89,7 @@ struct kernel_ethtool_ringparam {
>>  enum ethtool_supported_ring_param {
>>  	ETHTOOL_RING_USE_RX_BUF_LEN = BIT(0),
>>  	ETHTOOL_RING_USE_CQE_SIZE   = BIT(1),
>> +	ETHTOOL_RING_USE_TX_PUSH    = BIT(2),
>
> You need to actually use this constant to reject the setting for
> drivers which don't support the feature.
>
I will use this constant next version.
>>  };
>>
>>  #define __ETH_RSS_HASH_BIT(bit)	((u32)1 << (bit))
>
>> @@ -94,7 +95,8 @@ static int rings_fill_reply(struct sk_buff *skb,
>>  	     (nla_put_u8(skb, ETHTOOL_A_RINGS_TCP_DATA_SPLIT,
>>  			 kr->tcp_data_split))) ||
>>  	    (kr->cqe_size &&
>> -	     (nla_put_u32(skb, ETHTOOL_A_RINGS_CQE_SIZE, kr->cqe_size))))
>> +	     (nla_put_u32(skb, ETHTOOL_A_RINGS_CQE_SIZE, kr->cqe_size))) ||
>> +	    nla_put_u8(skb, ETHTOOL_A_RINGS_TX_PUSH, !!kr->tx_push))
>>
>>  		return -EMSGSIZE;
>>
>>  	return 0;
>> @@ -123,6 +125,7 @@ const struct nla_policy ethnl_rings_set_policy[] = {
>>  	[ETHTOOL_A_RINGS_TX]			= { .type = NLA_U32 },
>>  	[ETHTOOL_A_RINGS_RX_BUF_LEN]            = NLA_POLICY_MIN(NLA_U32, 1),
>>  	[ETHTOOL_A_RINGS_CQE_SIZE]		= NLA_POLICY_MIN(NLA_U32, 1),
>> +	[ETHTOOL_A_RINGS_TX_PUSH]		= { .type = NLA_U8 },
>
> This can only be 0 and 1, right? Set a policy to to that effect please.
>
I will use NLA_POLICY_MAX(NLA_U8, 1), is this ok?
>>  };
>>
>>  int ethnl_set_rings(struct sk_buff *skb, struct genl_info *info)
>> @@ -165,6 +168,8 @@ int ethnl_set_rings(struct sk_buff *skb, struct genl_info *info)
>>  			 tb[ETHTOOL_A_RINGS_RX_BUF_LEN], &mod);
>>  	ethnl_update_u32(&kernel_ringparam.cqe_size,
>>  			 tb[ETHTOOL_A_RINGS_CQE_SIZE], &mod);
>> +	ethnl_update_bool32(&kernel_ringparam.tx_push,
>> +			    tb[ETHTOOL_A_RINGS_TX_PUSH], &mod);
>>  	ret = 0;
>>  	if (!mod)
>>  		goto out_ops;
>
>
> .
>


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

* Re: [RFCv2 PATCH net-next 1/2] net-next: ethtool: extend ringparam set/get APIs for tx_push
  2022-03-28  3:05     ` wangjie (L)
@ 2022-03-28 17:35       ` Jakub Kicinski
  0 siblings, 0 replies; 6+ messages in thread
From: Jakub Kicinski @ 2022-03-28 17:35 UTC (permalink / raw)
  To: wangjie (L)
  Cc: mkubecek, davem, netdev, huangguangbin2, lipeng321, shenjian15,
	moyufeng, linyunsheng, salil.mehta, chenhao288

On Mon, 28 Mar 2022 11:05:26 +0800 wangjie (L) wrote:
> > This can only be 0 and 1, right? Set a policy to to that effect please.
> >  
> I will use NLA_POLICY_MAX(NLA_U8, 1), is this ok?

Yes, that looks right!

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

end of thread, other threads:[~2022-03-28 17:35 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-03-26  8:51 [RFCv2 PATCH net-next 0/2] net-next: ethool: add support to get/set tx push by ethtool -G/g Jie Wang
2022-03-26  8:51 ` [RFCv2 PATCH net-next 1/2] net-next: ethtool: extend ringparam set/get APIs for tx_push Jie Wang
2022-03-26 19:50   ` Jakub Kicinski
2022-03-28  3:05     ` wangjie (L)
2022-03-28 17:35       ` Jakub Kicinski
2022-03-26  8:51 ` [RFCv2 PATCH net-next 2/2] net-next: hn3: add tx push support in hns3 ring param process Jie Wang

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.