All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH net-next 0/2] nfp: enable TSO by default
@ 2022-07-05  7:36 Simon Horman
  2022-07-05  7:36 ` [PATCH net-next 1/2] nfp: allow TSO packets with metadata prepended in NFDK path Simon Horman
                   ` (2 more replies)
  0 siblings, 3 replies; 4+ messages in thread
From: Simon Horman @ 2022-07-05  7:36 UTC (permalink / raw)
  To: David Miller, Jakub Kicinski, Paolo Abeni; +Cc: netdev, oss-drivers

Hi,

this short series enables TSO by default on all NICs supported by the NFP
driver.

Simon Horman (1):
  nfp: enable TSO by default for nfp netdev

Yinjun Zhang (1):
  nfp: allow TSO packets with metadata prepended in NFDK path

 drivers/net/ethernet/netronome/nfp/nfdk/dp.c    | 17 -----------------
 .../net/ethernet/netronome/nfp/nfp_net_common.c |  7 +++----
 .../net/ethernet/netronome/nfp/nfp_net_repr.c   |  5 ++---
 3 files changed, 5 insertions(+), 24 deletions(-)

-- 
2.30.2


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

* [PATCH net-next 1/2] nfp: allow TSO packets with metadata prepended in NFDK path
  2022-07-05  7:36 [PATCH net-next 0/2] nfp: enable TSO by default Simon Horman
@ 2022-07-05  7:36 ` Simon Horman
  2022-07-05  7:36 ` [PATCH net-next 2/2] nfp: enable TSO by default for nfp netdev Simon Horman
  2022-07-06  7:20 ` [PATCH net-next 0/2] nfp: enable TSO by default patchwork-bot+netdevbpf
  2 siblings, 0 replies; 4+ messages in thread
From: Simon Horman @ 2022-07-05  7:36 UTC (permalink / raw)
  To: David Miller, Jakub Kicinski, Paolo Abeni; +Cc: netdev, oss-drivers

From: Yinjun Zhang <yinjun.zhang@corigine.com>

Packets with metadata prepended can be correctly handled in
firmware when TSO is enabled, now remove the error path and
related comments. Since there's no existing firmware that
uses prepended metadata, no need to add compatibility check
here.

Signed-off-by: Yinjun Zhang <yinjun.zhang@corigine.com>
Reviewed-by: Louis Peens <louis.peens@corigine.com>
Signed-off-by: Simon Horman <simon.horman@corigine.com>
---
 drivers/net/ethernet/netronome/nfp/nfdk/dp.c | 17 -----------------
 1 file changed, 17 deletions(-)

diff --git a/drivers/net/ethernet/netronome/nfp/nfdk/dp.c b/drivers/net/ethernet/netronome/nfp/nfdk/dp.c
index 34fe179513bf..0b4f550aa39d 100644
--- a/drivers/net/ethernet/netronome/nfp/nfdk/dp.c
+++ b/drivers/net/ethernet/netronome/nfp/nfdk/dp.c
@@ -56,17 +56,6 @@ nfp_nfdk_tx_tso(struct nfp_net_r_vector *r_vec, struct nfp_nfdk_tx_buf *txbuf,
 	segs = skb_shinfo(skb)->gso_segs;
 	mss = skb_shinfo(skb)->gso_size & NFDK_DESC_TX_MSS_MASK;
 
-	/* Note: TSO of the packet with metadata prepended to skb is not
-	 * supported yet, in which case l3/l4_offset and lso_hdrlen need
-	 * be correctly handled here.
-	 * Concern:
-	 * The driver doesn't have md_bytes easily available at this point.
-	 * The PCI.IN PD ME won't have md_bytes bytes to add to lso_hdrlen,
-	 * so it needs the full length there.  The app MEs might prefer
-	 * l3_offset and l4_offset relative to the start of packet data,
-	 * but could probably cope with it being relative to the CTM buf
-	 * data offset.
-	 */
 	txd.l3_offset = l3_offset;
 	txd.l4_offset = l4_offset;
 	txd.lso_meta_res = 0;
@@ -190,12 +179,6 @@ static int nfp_nfdk_prep_port_id(struct sk_buff *skb)
 	if (unlikely(md_dst->type != METADATA_HW_PORT_MUX))
 		return 0;
 
-	/* Note: Unsupported case when TSO a skb with metedata prepended.
-	 * See the comments in `nfp_nfdk_tx_tso` for details.
-	 */
-	if (unlikely(md_dst && skb_is_gso(skb)))
-		return -EOPNOTSUPP;
-
 	if (unlikely(skb_cow_head(skb, sizeof(md_dst->u.port_info.port_id))))
 		return -ENOMEM;
 
-- 
2.30.2


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

* [PATCH net-next 2/2] nfp: enable TSO by default for nfp netdev
  2022-07-05  7:36 [PATCH net-next 0/2] nfp: enable TSO by default Simon Horman
  2022-07-05  7:36 ` [PATCH net-next 1/2] nfp: allow TSO packets with metadata prepended in NFDK path Simon Horman
@ 2022-07-05  7:36 ` Simon Horman
  2022-07-06  7:20 ` [PATCH net-next 0/2] nfp: enable TSO by default patchwork-bot+netdevbpf
  2 siblings, 0 replies; 4+ messages in thread
From: Simon Horman @ 2022-07-05  7:36 UTC (permalink / raw)
  To: David Miller, Jakub Kicinski, Paolo Abeni; +Cc: netdev, oss-drivers

We can benefit from TSO when the host CPU is not powerful enough,
so enable it by default now.

Signed-off-by: Yinjun Zhang <yinjun.zhang@corigine.com>
Reviewed-by: Louis Peens <louis.peens@corigine.com>
Signed-off-by: Simon Horman <simon.horman@corigine.com>
---
 drivers/net/ethernet/netronome/nfp/nfp_net_common.c | 7 +++----
 drivers/net/ethernet/netronome/nfp/nfp_net_repr.c   | 5 ++---
 2 files changed, 5 insertions(+), 7 deletions(-)

diff --git a/drivers/net/ethernet/netronome/nfp/nfp_net_common.c b/drivers/net/ethernet/netronome/nfp/nfp_net_common.c
index d4b4966d6e29..c5c3a4aac788 100644
--- a/drivers/net/ethernet/netronome/nfp/nfp_net_common.c
+++ b/drivers/net/ethernet/netronome/nfp/nfp_net_common.c
@@ -2420,12 +2420,11 @@ static void nfp_net_netdev_init(struct nfp_net *nn)
 	if (nfp_app_has_tc(nn->app) && nn->port)
 		netdev->hw_features |= NETIF_F_HW_TC;
 
-	/* Advertise but disable TSO by default.
-	 * C-Tag strip and S-Tag strip can't be supported simultaneously,
+	/* C-Tag strip and S-Tag strip can't be supported simultaneously,
 	 * so enable C-Tag strip and disable S-Tag strip by default.
 	 */
-	netdev->features &= ~(NETIF_F_TSO | NETIF_F_TSO6 | NETIF_F_HW_VLAN_STAG_RX);
-	nn->dp.ctrl &= ~(NFP_NET_CFG_CTRL_LSO_ANY | NFP_NET_CFG_CTRL_RXQINQ);
+	netdev->features &= ~NETIF_F_HW_VLAN_STAG_RX;
+	nn->dp.ctrl &= ~NFP_NET_CFG_CTRL_RXQINQ;
 
 	/* Finalise the netdev setup */
 	switch (nn->dp.ops->version) {
diff --git a/drivers/net/ethernet/netronome/nfp/nfp_net_repr.c b/drivers/net/ethernet/netronome/nfp/nfp_net_repr.c
index 8ea4d8b55750..8b77582bdfa0 100644
--- a/drivers/net/ethernet/netronome/nfp/nfp_net_repr.c
+++ b/drivers/net/ethernet/netronome/nfp/nfp_net_repr.c
@@ -380,11 +380,10 @@ int nfp_repr_init(struct nfp_app *app, struct net_device *netdev,
 
 	netdev->features = netdev->hw_features;
 
-	/* Advertise but disable TSO by default.
-	 * C-Tag strip and S-Tag strip can't be supported simultaneously,
+	/* C-Tag strip and S-Tag strip can't be supported simultaneously,
 	 * so enable C-Tag strip and disable S-Tag strip by default.
 	 */
-	netdev->features &= ~(NETIF_F_TSO | NETIF_F_TSO6 | NETIF_F_HW_VLAN_STAG_RX);
+	netdev->features &= ~NETIF_F_HW_VLAN_STAG_RX;
 	netif_set_tso_max_segs(netdev, NFP_NET_LSO_MAX_SEGS);
 
 	netdev->priv_flags |= IFF_NO_QUEUE | IFF_DISABLE_NETPOLL;
-- 
2.30.2


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

* Re: [PATCH net-next 0/2] nfp: enable TSO by default
  2022-07-05  7:36 [PATCH net-next 0/2] nfp: enable TSO by default Simon Horman
  2022-07-05  7:36 ` [PATCH net-next 1/2] nfp: allow TSO packets with metadata prepended in NFDK path Simon Horman
  2022-07-05  7:36 ` [PATCH net-next 2/2] nfp: enable TSO by default for nfp netdev Simon Horman
@ 2022-07-06  7:20 ` patchwork-bot+netdevbpf
  2 siblings, 0 replies; 4+ messages in thread
From: patchwork-bot+netdevbpf @ 2022-07-06  7:20 UTC (permalink / raw)
  To: Simon Horman; +Cc: davem, kuba, pabeni, netdev, oss-drivers

Hello:

This series was applied to netdev/net-next.git (master)
by David S. Miller <davem@davemloft.net>:

On Tue,  5 Jul 2022 08:36:02 +0100 you wrote:
> Hi,
> 
> this short series enables TSO by default on all NICs supported by the NFP
> driver.
> 
> Simon Horman (1):
>   nfp: enable TSO by default for nfp netdev
> 
> [...]

Here is the summary with links:
  - [net-next,1/2] nfp: allow TSO packets with metadata prepended in NFDK path
    https://git.kernel.org/netdev/net-next/c/ccccb4932977
  - [net-next,2/2] nfp: enable TSO by default for nfp netdev
    https://git.kernel.org/netdev/net-next/c/7de8b691615f

You are awesome, thank you!
-- 
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/patchwork/pwbot.html



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

end of thread, other threads:[~2022-07-06  7:20 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-07-05  7:36 [PATCH net-next 0/2] nfp: enable TSO by default Simon Horman
2022-07-05  7:36 ` [PATCH net-next 1/2] nfp: allow TSO packets with metadata prepended in NFDK path Simon Horman
2022-07-05  7:36 ` [PATCH net-next 2/2] nfp: enable TSO by default for nfp netdev Simon Horman
2022-07-06  7:20 ` [PATCH net-next 0/2] nfp: enable TSO by default patchwork-bot+netdevbpf

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.