netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v4 0/6] igb: xdp patches followup
@ 2020-11-11 17:04 sven.auhagen
  2020-11-11 17:04 ` [PATCH v4 1/6] igb: XDP xmit back fix error code sven.auhagen
                   ` (5 more replies)
  0 siblings, 6 replies; 16+ messages in thread
From: sven.auhagen @ 2020-11-11 17:04 UTC (permalink / raw)
  To: anthony.l.nguyen, maciej.fijalkowski, kuba
  Cc: davem, intel-wired-lan, netdev, nhorman, sassmann,
	sandeep.penigalapati, brouer, pmenzel

From: Sven Auhagen <sven.auhagen@voleatech.de>

This patch series addresses some of the comments that came back
after the igb XDP patch was accepted.
Most of it is code cleanup.
The last patch contains a fix for a tx queue timeout
that can occur when using xdp.

Change from v3:
    * extack message on error add netdev warning when rx buffer
      is too small that shows the buffer and frame size

Change from v2:
    * Move SOB line to end
    * Remove SOB from cover letter
    * Add a better commit message for
      avoid transmit queue timeout in xdp path
    * Add ACK by from Maciej Fijalkowski

Change from v1:
    * Drop patch 5 as the igb_rx_frame_truesize won't match
    * Fix typo in comment
    * Add Suggested-by and Reviewed-by tags
    * Add how to avoid transmit queue timeout in xdp path
      is fixed in the commit message

Sven Auhagen (6):
  igb: XDP xmit back fix error code
  igb: take vlan double header into account
  igb: XDP extack message on error
  igb: skb add metasize for xdp
  igb: use xdp_do_flush
  igb: avoid transmit queue timeout in xdp path

 drivers/net/ethernet/intel/igb/igb.h      |  5 ++++
 drivers/net/ethernet/intel/igb/igb_main.c | 33 +++++++++++++++--------
 2 files changed, 27 insertions(+), 11 deletions(-)

-- 
2.20.1


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

* [PATCH v4 1/6] igb: XDP xmit back fix error code
  2020-11-11 17:04 [PATCH v4 0/6] igb: xdp patches followup sven.auhagen
@ 2020-11-11 17:04 ` sven.auhagen
  2020-12-08 12:47   ` Penigalapati, Sandeep
  2020-11-11 17:04 ` [PATCH v4 2/6] igb: take vlan double header into account sven.auhagen
                   ` (4 subsequent siblings)
  5 siblings, 1 reply; 16+ messages in thread
From: sven.auhagen @ 2020-11-11 17:04 UTC (permalink / raw)
  To: anthony.l.nguyen, maciej.fijalkowski, kuba
  Cc: davem, intel-wired-lan, netdev, nhorman, sassmann,
	sandeep.penigalapati, brouer, pmenzel

From: Sven Auhagen <sven.auhagen@voleatech.de>

The igb XDP xmit back function should only return
defined error codes.

Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
Acked-by: Maciej Fijalkowski <maciej.fijalkowski@intel.com>
Signed-off-by: Sven Auhagen <sven.auhagen@voleatech.de>
---
 drivers/net/ethernet/intel/igb/igb_main.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/net/ethernet/intel/igb/igb_main.c b/drivers/net/ethernet/intel/igb/igb_main.c
index 5fc2c381da55..08cc6f59aa2e 100644
--- a/drivers/net/ethernet/intel/igb/igb_main.c
+++ b/drivers/net/ethernet/intel/igb/igb_main.c
@@ -2910,7 +2910,7 @@ static int igb_xdp_xmit_back(struct igb_adapter *adapter, struct xdp_buff *xdp)
 	 */
 	tx_ring = adapter->xdp_prog ? igb_xdp_tx_queue_mapping(adapter) : NULL;
 	if (unlikely(!tx_ring))
-		return -ENXIO;
+		return IGB_XDP_CONSUMED;
 
 	nq = txring_txq(tx_ring);
 	__netif_tx_lock(nq, cpu);
-- 
2.20.1


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

* [PATCH v4 2/6] igb: take vlan double header into account
  2020-11-11 17:04 [PATCH v4 0/6] igb: xdp patches followup sven.auhagen
  2020-11-11 17:04 ` [PATCH v4 1/6] igb: XDP xmit back fix error code sven.auhagen
@ 2020-11-11 17:04 ` sven.auhagen
  2020-12-01  8:23   ` Penigalapati, Sandeep
  2020-11-11 17:04 ` [PATCH v4 3/6] igb: XDP extack message on error sven.auhagen
                   ` (3 subsequent siblings)
  5 siblings, 1 reply; 16+ messages in thread
From: sven.auhagen @ 2020-11-11 17:04 UTC (permalink / raw)
  To: anthony.l.nguyen, maciej.fijalkowski, kuba
  Cc: davem, intel-wired-lan, netdev, nhorman, sassmann,
	sandeep.penigalapati, brouer, pmenzel

From: Sven Auhagen <sven.auhagen@voleatech.de>

Increase the packet header padding to include double VLAN tagging.
This patch uses a macro for this.

Suggested-by: Maciej Fijalkowski <maciej.fijalkowski@intel.com>
Reviewed-by: Maciej Fijalkowski <maciej.fijalkowski@intel.com>
Acked-by: Maciej Fijalkowski <maciej.fijalkowski@intel.com>
Signed-off-by: Sven Auhagen <sven.auhagen@voleatech.de>
---
 drivers/net/ethernet/intel/igb/igb.h      | 5 +++++
 drivers/net/ethernet/intel/igb/igb_main.c | 7 +++----
 2 files changed, 8 insertions(+), 4 deletions(-)

diff --git a/drivers/net/ethernet/intel/igb/igb.h b/drivers/net/ethernet/intel/igb/igb.h
index 0286d2fceee4..aaa954aae574 100644
--- a/drivers/net/ethernet/intel/igb/igb.h
+++ b/drivers/net/ethernet/intel/igb/igb.h
@@ -138,6 +138,8 @@ struct vf_mac_filter {
 /* this is the size past which hardware will drop packets when setting LPE=0 */
 #define MAXIMUM_ETHERNET_VLAN_SIZE 1522
 
+#define IGB_ETH_PKT_HDR_PAD	(ETH_HLEN + ETH_FCS_LEN + (VLAN_HLEN * 2))
+
 /* Supported Rx Buffer Sizes */
 #define IGB_RXBUFFER_256	256
 #define IGB_RXBUFFER_1536	1536
@@ -247,6 +249,9 @@ enum igb_tx_flags {
 #define IGB_SFF_ADDRESSING_MODE		0x4
 #define IGB_SFF_8472_UNSUP		0x00
 
+/* TX resources are shared between XDP and netstack
+ * and we need to tag the buffer type to distinguish them
+ */
 enum igb_tx_buf_type {
 	IGB_TYPE_SKB = 0,
 	IGB_TYPE_XDP,
diff --git a/drivers/net/ethernet/intel/igb/igb_main.c b/drivers/net/ethernet/intel/igb/igb_main.c
index 08cc6f59aa2e..0a9198037b98 100644
--- a/drivers/net/ethernet/intel/igb/igb_main.c
+++ b/drivers/net/ethernet/intel/igb/igb_main.c
@@ -2826,7 +2826,7 @@ static int igb_setup_tc(struct net_device *dev, enum tc_setup_type type,
 
 static int igb_xdp_setup(struct net_device *dev, struct bpf_prog *prog)
 {
-	int i, frame_size = dev->mtu + ETH_HLEN + ETH_FCS_LEN + VLAN_HLEN;
+	int i, frame_size = dev->mtu + IGB_ETH_PKT_HDR_PAD;
 	struct igb_adapter *adapter = netdev_priv(dev);
 	bool running = netif_running(dev);
 	struct bpf_prog *old_prog;
@@ -3950,8 +3950,7 @@ static int igb_sw_init(struct igb_adapter *adapter)
 	/* set default work limits */
 	adapter->tx_work_limit = IGB_DEFAULT_TX_WORK;
 
-	adapter->max_frame_size = netdev->mtu + ETH_HLEN + ETH_FCS_LEN +
-				  VLAN_HLEN;
+	adapter->max_frame_size = netdev->mtu + IGB_ETH_PKT_HDR_PAD;
 	adapter->min_frame_size = ETH_ZLEN + ETH_FCS_LEN;
 
 	spin_lock_init(&adapter->nfc_lock);
@@ -6491,7 +6490,7 @@ static void igb_get_stats64(struct net_device *netdev,
 static int igb_change_mtu(struct net_device *netdev, int new_mtu)
 {
 	struct igb_adapter *adapter = netdev_priv(netdev);
-	int max_frame = new_mtu + ETH_HLEN + ETH_FCS_LEN + VLAN_HLEN;
+	int max_frame = new_mtu + IGB_ETH_PKT_HDR_PAD;
 
 	if (adapter->xdp_prog) {
 		int i;
-- 
2.20.1


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

* [PATCH v4 3/6] igb: XDP extack message on error
  2020-11-11 17:04 [PATCH v4 0/6] igb: xdp patches followup sven.auhagen
  2020-11-11 17:04 ` [PATCH v4 1/6] igb: XDP xmit back fix error code sven.auhagen
  2020-11-11 17:04 ` [PATCH v4 2/6] igb: take vlan double header into account sven.auhagen
@ 2020-11-11 17:04 ` sven.auhagen
  2020-11-11 17:04 ` [PATCH v4 4/6] igb: skb add metasize for xdp sven.auhagen
                   ` (2 subsequent siblings)
  5 siblings, 0 replies; 16+ messages in thread
From: sven.auhagen @ 2020-11-11 17:04 UTC (permalink / raw)
  To: anthony.l.nguyen, maciej.fijalkowski, kuba
  Cc: davem, intel-wired-lan, netdev, nhorman, sassmann,
	sandeep.penigalapati, brouer, pmenzel

From: Sven Auhagen <sven.auhagen@voleatech.de>

Add an extack error message when the RX buffer size is too small
for the frame size.

Tested-by: Sandeep Penigalapati <sandeep.penigalapati@intel.com>
Suggested-by: Maciej Fijalkowski <maciej.fijalkowski@intel.com>
Reviewed-by: Maciej Fijalkowski <maciej.fijalkowski@intel.com>
Acked-by: Maciej Fijalkowski <maciej.fijalkowski@intel.com>
Signed-off-by: Sven Auhagen <sven.auhagen@voleatech.de>
---
 drivers/net/ethernet/intel/igb/igb_main.c | 17 ++++++++++++-----
 1 file changed, 12 insertions(+), 5 deletions(-)

diff --git a/drivers/net/ethernet/intel/igb/igb_main.c b/drivers/net/ethernet/intel/igb/igb_main.c
index 0a9198037b98..a0a310a75cc5 100644
--- a/drivers/net/ethernet/intel/igb/igb_main.c
+++ b/drivers/net/ethernet/intel/igb/igb_main.c
@@ -2824,20 +2824,25 @@ static int igb_setup_tc(struct net_device *dev, enum tc_setup_type type,
 	}
 }
 
-static int igb_xdp_setup(struct net_device *dev, struct bpf_prog *prog)
+static int igb_xdp_setup(struct net_device *dev, struct netdev_bpf *bpf)
 {
 	int i, frame_size = dev->mtu + IGB_ETH_PKT_HDR_PAD;
 	struct igb_adapter *adapter = netdev_priv(dev);
+	struct bpf_prog *prog = bpf->prog, *old_prog;
 	bool running = netif_running(dev);
-	struct bpf_prog *old_prog;
 	bool need_reset;
 
 	/* verify igb ring attributes are sufficient for XDP */
 	for (i = 0; i < adapter->num_rx_queues; i++) {
 		struct igb_ring *ring = adapter->rx_ring[i];
 
-		if (frame_size > igb_rx_bufsz(ring))
+		if (frame_size > igb_rx_bufsz(ring)) {
+			NL_SET_ERR_MSG_MOD(bpf->extack,
+					   "The RX buffer size is too small for the frame size");
+			netdev_warn(dev, "XDP RX buffer size %d is too small for the frame size %d\n",
+				    igb_rx_bufsz(ring), frame_size);
 			return -EINVAL;
+		}
 	}
 
 	old_prog = xchg(&adapter->xdp_prog, prog);
@@ -2869,7 +2874,7 @@ static int igb_xdp(struct net_device *dev, struct netdev_bpf *xdp)
 {
 	switch (xdp->command) {
 	case XDP_SETUP_PROG:
-		return igb_xdp_setup(dev, xdp->prog);
+		return igb_xdp_setup(dev, xdp);
 	default:
 		return -EINVAL;
 	}
@@ -6499,7 +6504,9 @@ static int igb_change_mtu(struct net_device *netdev, int new_mtu)
 			struct igb_ring *ring = adapter->rx_ring[i];
 
 			if (max_frame > igb_rx_bufsz(ring)) {
-				netdev_warn(adapter->netdev, "Requested MTU size is not supported with XDP\n");
+				netdev_warn(adapter->netdev,
+					    "Requested MTU size is not supported with XDP. Max frame size is %d\n",
+					    max_frame);
 				return -EINVAL;
 			}
 		}
-- 
2.20.1


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

* [PATCH v4 4/6] igb: skb add metasize for xdp
  2020-11-11 17:04 [PATCH v4 0/6] igb: xdp patches followup sven.auhagen
                   ` (2 preceding siblings ...)
  2020-11-11 17:04 ` [PATCH v4 3/6] igb: XDP extack message on error sven.auhagen
@ 2020-11-11 17:04 ` sven.auhagen
  2020-12-08 12:50   ` Penigalapati, Sandeep
  2020-11-11 17:04 ` [PATCH v4 5/6] igb: use xdp_do_flush sven.auhagen
  2020-11-11 17:04 ` [PATCH v4 6/6] igb: avoid transmit queue timeout in xdp path sven.auhagen
  5 siblings, 1 reply; 16+ messages in thread
From: sven.auhagen @ 2020-11-11 17:04 UTC (permalink / raw)
  To: anthony.l.nguyen, maciej.fijalkowski, kuba
  Cc: davem, intel-wired-lan, netdev, nhorman, sassmann,
	sandeep.penigalapati, brouer, pmenzel

From: Sven Auhagen <sven.auhagen@voleatech.de>

add metasize if it is set in xdp

Suggested-by: Maciej Fijalkowski <maciej.fijalkowski@intel.com>
Reviewed-by: Maciej Fijalkowski <maciej.fijalkowski@intel.com>
Acked-by: Maciej Fijalkowski <maciej.fijalkowski@intel.com>
Signed-off-by: Sven Auhagen <sven.auhagen@voleatech.de>
---
 drivers/net/ethernet/intel/igb/igb_main.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/drivers/net/ethernet/intel/igb/igb_main.c b/drivers/net/ethernet/intel/igb/igb_main.c
index a0a310a75cc5..fa93aec0ba04 100644
--- a/drivers/net/ethernet/intel/igb/igb_main.c
+++ b/drivers/net/ethernet/intel/igb/igb_main.c
@@ -8350,6 +8350,7 @@ static struct sk_buff *igb_build_skb(struct igb_ring *rx_ring,
 				     struct xdp_buff *xdp,
 				     union e1000_adv_rx_desc *rx_desc)
 {
+	unsigned int metasize = xdp->data - xdp->data_meta;
 #if (PAGE_SIZE < 8192)
 	unsigned int truesize = igb_rx_pg_size(rx_ring) / 2;
 #else
@@ -8371,6 +8372,9 @@ static struct sk_buff *igb_build_skb(struct igb_ring *rx_ring,
 	skb_reserve(skb, xdp->data - xdp->data_hard_start);
 	__skb_put(skb, xdp->data_end - xdp->data);
 
+	if (metasize)
+		skb_metadata_set(skb, metasize);
+
 	/* pull timestamp out of packet data */
 	if (igb_test_staterr(rx_desc, E1000_RXDADV_STAT_TSIP)) {
 		igb_ptp_rx_pktstamp(rx_ring->q_vector, skb->data, skb);
-- 
2.20.1


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

* [PATCH v4 5/6] igb: use xdp_do_flush
  2020-11-11 17:04 [PATCH v4 0/6] igb: xdp patches followup sven.auhagen
                   ` (3 preceding siblings ...)
  2020-11-11 17:04 ` [PATCH v4 4/6] igb: skb add metasize for xdp sven.auhagen
@ 2020-11-11 17:04 ` sven.auhagen
  2020-12-01  7:30   ` Penigalapati, Sandeep
  2020-11-11 17:04 ` [PATCH v4 6/6] igb: avoid transmit queue timeout in xdp path sven.auhagen
  5 siblings, 1 reply; 16+ messages in thread
From: sven.auhagen @ 2020-11-11 17:04 UTC (permalink / raw)
  To: anthony.l.nguyen, maciej.fijalkowski, kuba
  Cc: davem, intel-wired-lan, netdev, nhorman, sassmann,
	sandeep.penigalapati, brouer, pmenzel

From: Sven Auhagen <sven.auhagen@voleatech.de>

Since it is a new XDP implementation change xdp_do_flush_map
to xdp_do_flush.

Suggested-by: Maciej Fijalkowski <maciej.fijalkowski@intel.com>
Reviewed-by: Maciej Fijalkowski <maciej.fijalkowski@intel.com>
Acked-by: Maciej Fijalkowski <maciej.fijalkowski@intel.com>
Signed-off-by: Sven Auhagen <sven.auhagen@voleatech.de>
---
 drivers/net/ethernet/intel/igb/igb_main.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/net/ethernet/intel/igb/igb_main.c b/drivers/net/ethernet/intel/igb/igb_main.c
index fa93aec0ba04..b6c793441585 100644
--- a/drivers/net/ethernet/intel/igb/igb_main.c
+++ b/drivers/net/ethernet/intel/igb/igb_main.c
@@ -8781,7 +8781,7 @@ static int igb_clean_rx_irq(struct igb_q_vector *q_vector, const int budget)
 	rx_ring->skb = skb;
 
 	if (xdp_xmit & IGB_XDP_REDIR)
-		xdp_do_flush_map();
+		xdp_do_flush();
 
 	if (xdp_xmit & IGB_XDP_TX) {
 		struct igb_ring *tx_ring = igb_xdp_tx_queue_mapping(adapter);
-- 
2.20.1


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

* [PATCH v4 6/6] igb: avoid transmit queue timeout in xdp path
  2020-11-11 17:04 [PATCH v4 0/6] igb: xdp patches followup sven.auhagen
                   ` (4 preceding siblings ...)
  2020-11-11 17:04 ` [PATCH v4 5/6] igb: use xdp_do_flush sven.auhagen
@ 2020-11-11 17:04 ` sven.auhagen
  2020-11-24 14:49   ` Penigalapati, Sandeep
  5 siblings, 1 reply; 16+ messages in thread
From: sven.auhagen @ 2020-11-11 17:04 UTC (permalink / raw)
  To: anthony.l.nguyen, maciej.fijalkowski, kuba
  Cc: davem, intel-wired-lan, netdev, nhorman, sassmann,
	sandeep.penigalapati, brouer, pmenzel

From: Sven Auhagen <sven.auhagen@voleatech.de>

Since we share the transmit queue with the network stack,
it is possible that we run into a transmit queue timeout.
This will reset the queue.
This happens under high load when XDP is using the
transmit queue pretty much exclusively.

netdev_start_xmit() sets the trans_start variable of the
transmit queue to jiffies which is later utilized by dev_watchdog(),
so to avoid timeout, let stack know that XDP xmit happened by
bumping the trans_start within XDP Tx routines to jiffies.

Acked-by: Maciej Fijalkowski <maciej.fijalkowski@intel.com>
Signed-off-by: Sven Auhagen <sven.auhagen@voleatech.de>
---
 drivers/net/ethernet/intel/igb/igb_main.c | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/drivers/net/ethernet/intel/igb/igb_main.c b/drivers/net/ethernet/intel/igb/igb_main.c
index b6c793441585..74f0f06bedff 100644
--- a/drivers/net/ethernet/intel/igb/igb_main.c
+++ b/drivers/net/ethernet/intel/igb/igb_main.c
@@ -2919,6 +2919,8 @@ static int igb_xdp_xmit_back(struct igb_adapter *adapter, struct xdp_buff *xdp)
 
 	nq = txring_txq(tx_ring);
 	__netif_tx_lock(nq, cpu);
+	/* Avoid transmit queue timeout since we share it with the slow path */
+	nq->trans_start = jiffies;
 	ret = igb_xmit_xdp_ring(adapter, tx_ring, xdpf);
 	__netif_tx_unlock(nq);
 
@@ -2951,6 +2953,9 @@ static int igb_xdp_xmit(struct net_device *dev, int n,
 	nq = txring_txq(tx_ring);
 	__netif_tx_lock(nq, cpu);
 
+	/* Avoid transmit queue timeout since we share it with the slow path */
+	nq->trans_start = jiffies;
+
 	for (i = 0; i < n; i++) {
 		struct xdp_frame *xdpf = frames[i];
 		int err;
-- 
2.20.1


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

* RE: [PATCH v4 6/6] igb: avoid transmit queue timeout in xdp path
  2020-11-11 17:04 ` [PATCH v4 6/6] igb: avoid transmit queue timeout in xdp path sven.auhagen
@ 2020-11-24 14:49   ` Penigalapati, Sandeep
  0 siblings, 0 replies; 16+ messages in thread
From: Penigalapati, Sandeep @ 2020-11-24 14:49 UTC (permalink / raw)
  To: sven.auhagen, Nguyen, Anthony L, Fijalkowski, Maciej, kuba
  Cc: davem, intel-wired-lan, netdev, nhorman, sassmann, brouer, pmenzel

From: sven.auhagen@voleatech.de <sven.auhagen@voleatech.de> 
Sent: Wednesday, November 11, 2020 10:35 PM
To: Nguyen, Anthony L <anthony.l.nguyen@intel.com>; Fijalkowski, Maciej <maciej.fijalkowski@intel.com>; kuba@kernel.org
Cc: davem@davemloft.net; intel-wired-lan@lists.osuosl.org; netdev@vger.kernel.org; nhorman@redhat.com; sassmann@redhat.com; Penigalapati, Sandeep <sandeep.penigalapati@intel.com>; brouer@redhat.com; pmenzel@molgen.mpg.de
Subject: [PATCH v4 6/6] igb: avoid transmit queue timeout in xdp path

From: Sven Auhagen <sven.auhagen@voleatech.de>

Since we share the transmit queue with the network stack, it is possible that we run into a transmit queue timeout.
This will reset the queue.
This happens under high load when XDP is using the transmit queue pretty much exclusively.

netdev_start_xmit() sets the trans_start variable of the transmit queue to jiffies which is later utilized by dev_watchdog(), so to avoid timeout, let stack know that XDP xmit happened by bumping the trans_start within XDP Tx routines to jiffies.

Acked-by: Maciej Fijalkowski <maciej.fijalkowski@intel.com>
Signed-off-by: Sven Auhagen <sven.auhagen@voleatech.de>
---
 drivers/net/ethernet/intel/igb/igb_main.c | 5 +++++
 1 file changed, 5 insertions(+)

Tested-by: Sandeep Penigalapati <sandeep.penigalapati@intel.com>

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

* RE: [PATCH v4 5/6] igb: use xdp_do_flush
  2020-11-11 17:04 ` [PATCH v4 5/6] igb: use xdp_do_flush sven.auhagen
@ 2020-12-01  7:30   ` Penigalapati, Sandeep
  0 siblings, 0 replies; 16+ messages in thread
From: Penigalapati, Sandeep @ 2020-12-01  7:30 UTC (permalink / raw)
  To: sven.auhagen, Nguyen, Anthony L, Fijalkowski, Maciej, kuba
  Cc: davem, intel-wired-lan, netdev, nhorman, sassmann, brouer, pmenzel

> From: sven.auhagen@voleatech.de <sven.auhagen@voleatech.de>
> Sent: Wednesday, November 11, 2020 10:35 PM
> To: Nguyen, Anthony L <anthony.l.nguyen@intel.com>; Fijalkowski, Maciej
> <maciej.fijalkowski@intel.com>; kuba@kernel.org
> Cc: davem@davemloft.net; intel-wired-lan@lists.osuosl.org;
> netdev@vger.kernel.org; nhorman@redhat.com; sassmann@redhat.com;
> Penigalapati, Sandeep <sandeep.penigalapati@intel.com>;
> brouer@redhat.com; pmenzel@molgen.mpg.de
> Subject: [PATCH v4 5/6] igb: use xdp_do_flush
> 
> From: Sven Auhagen <sven.auhagen@voleatech.de>
> 
> Since it is a new XDP implementation change xdp_do_flush_map to
> xdp_do_flush.
> 
> Suggested-by: Maciej Fijalkowski <maciej.fijalkowski@intel.com>
> Reviewed-by: Maciej Fijalkowski <maciej.fijalkowski@intel.com>
> Acked-by: Maciej Fijalkowski <maciej.fijalkowski@intel.com>
> Signed-off-by: Sven Auhagen <sven.auhagen@voleatech.de>
> ---
>  drivers/net/ethernet/intel/igb/igb_main.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
Tested-by: Sandeep Penigalapati <sandeep.penigalapati@intel.com>

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

* RE: [PATCH v4 2/6] igb: take vlan double header into account
  2020-11-11 17:04 ` [PATCH v4 2/6] igb: take vlan double header into account sven.auhagen
@ 2020-12-01  8:23   ` Penigalapati, Sandeep
  2020-12-01  8:58     ` Jesper Dangaard Brouer
  0 siblings, 1 reply; 16+ messages in thread
From: Penigalapati, Sandeep @ 2020-12-01  8:23 UTC (permalink / raw)
  To: sven.auhagen, Nguyen, Anthony L, Fijalkowski, Maciej, kuba
  Cc: davem, intel-wired-lan, netdev, nhorman, sassmann, brouer, pmenzel

> From: sven.auhagen@voleatech.de <sven.auhagen@voleatech.de>
> Sent: Wednesday, November 11, 2020 10:35 PM
> To: Nguyen, Anthony L <anthony.l.nguyen@intel.com>; Fijalkowski, Maciej
> <maciej.fijalkowski@intel.com>; kuba@kernel.org
> Cc: davem@davemloft.net; intel-wired-lan@lists.osuosl.org;
> netdev@vger.kernel.org; nhorman@redhat.com; sassmann@redhat.com;
> Penigalapati, Sandeep <sandeep.penigalapati@intel.com>;
> brouer@redhat.com; pmenzel@molgen.mpg.de
> Subject: [PATCH v4 2/6] igb: take vlan double header into account
> 
> From: Sven Auhagen <sven.auhagen@voleatech.de>
> 
> Increase the packet header padding to include double VLAN tagging.
> This patch uses a macro for this.
> 
> Suggested-by: Maciej Fijalkowski <maciej.fijalkowski@intel.com>
> Reviewed-by: Maciej Fijalkowski <maciej.fijalkowski@intel.com>
> Acked-by: Maciej Fijalkowski <maciej.fijalkowski@intel.com>
> Signed-off-by: Sven Auhagen <sven.auhagen@voleatech.de>
> ---
>  drivers/net/ethernet/intel/igb/igb.h      | 5 +++++
>  drivers/net/ethernet/intel/igb/igb_main.c | 7 +++----
>  2 files changed, 8 insertions(+), 4 deletions(-)
> 
Tested-by: Sandeep Penigalapati <sandeep.penigalapati@intel.com>

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

* Re: [PATCH v4 2/6] igb: take vlan double header into account
  2020-12-01  8:23   ` Penigalapati, Sandeep
@ 2020-12-01  8:58     ` Jesper Dangaard Brouer
  2020-12-05  9:42       ` Sven Auhagen
  0 siblings, 1 reply; 16+ messages in thread
From: Jesper Dangaard Brouer @ 2020-12-01  8:58 UTC (permalink / raw)
  To: Penigalapati, Sandeep
  Cc: sven.auhagen, Nguyen, Anthony L, Fijalkowski, Maciej, kuba,
	davem, intel-wired-lan, netdev, nhorman, sassmann, pmenzel,
	brouer

On Tue, 1 Dec 2020 08:23:23 +0000
"Penigalapati, Sandeep" <sandeep.penigalapati@intel.com> wrote:

> Tested-by: Sandeep Penigalapati <sandeep.penigalapati@intel.com>

Very happy that you are testing this.

Have you also tested that samples/bpf/ xdp_redirect_cpu program works?

-- 
Best regards,
  Jesper Dangaard Brouer
  MSc.CS, Principal Kernel Engineer at Red Hat
  LinkedIn: http://www.linkedin.com/in/brouer


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

* Re: [PATCH v4 2/6] igb: take vlan double header into account
  2020-12-01  8:58     ` Jesper Dangaard Brouer
@ 2020-12-05  9:42       ` Sven Auhagen
  2020-12-08 10:52         ` Penigalapati, Sandeep
  0 siblings, 1 reply; 16+ messages in thread
From: Sven Auhagen @ 2020-12-05  9:42 UTC (permalink / raw)
  To: Jesper Dangaard Brouer
  Cc: Penigalapati, Sandeep, Nguyen, Anthony L, Fijalkowski, Maciej,
	kuba, davem, intel-wired-lan, netdev, nhorman, sassmann, pmenzel

On Tue, Dec 01, 2020 at 09:58:52AM +0100, Jesper Dangaard Brouer wrote:
> On Tue, 1 Dec 2020 08:23:23 +0000
> "Penigalapati, Sandeep" <sandeep.penigalapati@intel.com> wrote:
> 
> > Tested-by: Sandeep Penigalapati <sandeep.penigalapati@intel.com>
> 
> Very happy that you are testing this.
> 
> Have you also tested that samples/bpf/ xdp_redirect_cpu program works?

Hi Jesper,

I have tested the xdp routing example but it would be good if someone
can double check this.

Best
Sven

> 
> -- 
> Best regards,
>   Jesper Dangaard Brouer
>   MSc.CS, Principal Kernel Engineer at Red Hat
>   LinkedIn: https://eur03.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.linkedin.com%2Fin%2Fbrouer&amp;data=04%7C01%7Csven.auhagen%40voleatech.de%7C5a78333f75c945b9bcee08d895d75e5b%7Cb82a99f679814a7295344d35298f847b%7C0%7C0%7C637424099531073949%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&amp;sdata=g80690tGbCHAi3lr412ZlKoxwIFSIzn5e8V8nO1aZcw%3D&amp;reserved=0
> 

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

* RE: [PATCH v4 2/6] igb: take vlan double header into account
  2020-12-05  9:42       ` Sven Auhagen
@ 2020-12-08 10:52         ` Penigalapati, Sandeep
  2020-12-08 11:39           ` Jesper Dangaard Brouer
  0 siblings, 1 reply; 16+ messages in thread
From: Penigalapati, Sandeep @ 2020-12-08 10:52 UTC (permalink / raw)
  To: Sven Auhagen, Jesper Dangaard Brouer
  Cc: Nguyen, Anthony L, Fijalkowski, Maciej, kuba, davem,
	intel-wired-lan, netdev, nhorman, sassmann, pmenzel

On Tue, Dec 01, 2020 at 09:58:52AM +0100, Jesper Dangaard Brouer wrote:
> > On Tue, 1 Dec 2020 08:23:23 +0000
> > "Penigalapati, Sandeep" <sandeep.penigalapati@intel.com> wrote:
> >
> > > Tested-by: Sandeep Penigalapati <sandeep.penigalapati@intel.com>
> >
> > Very happy that you are testing this.
> >
> > Have you also tested that samples/bpf/ xdp_redirect_cpu program works?
> 
> Hi Jesper,
> 
> I have tested the xdp routing example but it would be good if someone can
> double check this.
> 
> Best
> Sven
> 
Hi Jesper, Sven

I have tested xdp_redirect_cpu and it is working.

Thanks,
Sandeep
> >
> > --
> > Best regards,
> >   Jesper Dangaard Brouer
> >   MSc.CS, Principal Kernel Engineer at Red Hat
> >   LinkedIn:
> >
> https://eur03.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.l
> >
> inkedin.com%2Fin%2Fbrouer&amp;data=04%7C01%7Csven.auhagen%40vol
> eatech.
> >
> de%7C5a78333f75c945b9bcee08d895d75e5b%7Cb82a99f679814a7295344d3
> 5298f84
> >
> 7b%7C0%7C0%7C637424099531073949%7CUnknown%7CTWFpbGZsb3d8eyJ
> WIjoiMC4wLj
> >
> AwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&amp;
> sdata=
> > g80690tGbCHAi3lr412ZlKoxwIFSIzn5e8V8nO1aZcw%3D&amp;reserved=0
> >

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

* Re: [PATCH v4 2/6] igb: take vlan double header into account
  2020-12-08 10:52         ` Penigalapati, Sandeep
@ 2020-12-08 11:39           ` Jesper Dangaard Brouer
  0 siblings, 0 replies; 16+ messages in thread
From: Jesper Dangaard Brouer @ 2020-12-08 11:39 UTC (permalink / raw)
  To: Penigalapati, Sandeep
  Cc: Sven Auhagen, Nguyen, Anthony L, Fijalkowski, Maciej, kuba,
	davem, intel-wired-lan, netdev, nhorman, sassmann, pmenzel,
	brouer

On Tue, 8 Dec 2020 10:52:28 +0000
"Penigalapati, Sandeep" <sandeep.penigalapati@intel.com> wrote:

> On Tue, Dec 01, 2020 at 09:58:52AM +0100, Jesper Dangaard Brouer wrote:
> > > On Tue, 1 Dec 2020 08:23:23 +0000
> > > "Penigalapati, Sandeep" <sandeep.penigalapati@intel.com> wrote:
> > >  
> > > > Tested-by: Sandeep Penigalapati <sandeep.penigalapati@intel.com>  
> > >
> > > Very happy that you are testing this.
> > >
> > > Have you also tested that samples/bpf/ xdp_redirect_cpu program works?  
> > 
> > Hi Jesper,
> > 
> > I have tested the xdp routing example but it would be good if someone can
> > double check this.
> > 
> Hi Jesper, Sven
> 
> I have tested xdp_redirect_cpu and it is working.

Thanks this is great to hear.

You have tested with large frames right?  As cpumap just creates SKBs
based on xdp_frame, and send them to the normal network stack (on
remote CPU), you can just to a standard TCP-stream throughput test with
iperf or netperf.  That should hopefully blowup if we screwed up the
boundaries of the two packets sharing the same page.  (In principle we
should verify the content of the TCP transfer, so maybe a scp + md5sum
is a better test).

-- 
Best regards,
  Jesper Dangaard Brouer
  MSc.CS, Principal Kernel Engineer at Red Hat
  LinkedIn: http://www.linkedin.com/in/brouer


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

* RE: [PATCH v4 1/6] igb: XDP xmit back fix error code
  2020-11-11 17:04 ` [PATCH v4 1/6] igb: XDP xmit back fix error code sven.auhagen
@ 2020-12-08 12:47   ` Penigalapati, Sandeep
  0 siblings, 0 replies; 16+ messages in thread
From: Penigalapati, Sandeep @ 2020-12-08 12:47 UTC (permalink / raw)
  To: sven.auhagen, Nguyen, Anthony L, Fijalkowski, Maciej, kuba
  Cc: davem, intel-wired-lan, netdev, nhorman, sassmann, brouer, pmenzel

> From: sven.auhagen@voleatech.de <sven.auhagen@voleatech.de>
> Sent: Wednesday, November 11, 2020 10:35 PM
> To: Nguyen, Anthony L <anthony.l.nguyen@intel.com>; Fijalkowski, Maciej
> <maciej.fijalkowski@intel.com>; kuba@kernel.org
> Cc: davem@davemloft.net; intel-wired-lan@lists.osuosl.org;
> netdev@vger.kernel.org; nhorman@redhat.com; sassmann@redhat.com;
> Penigalapati, Sandeep <sandeep.penigalapati@intel.com>;
> brouer@redhat.com; pmenzel@molgen.mpg.de
> Subject: [PATCH v4 1/6] igb: XDP xmit back fix error code
> 
> From: Sven Auhagen <sven.auhagen@voleatech.de>
> 
> The igb XDP xmit back function should only return defined error codes.
> 
> Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
> Acked-by: Maciej Fijalkowski <maciej.fijalkowski@intel.com>
> Signed-off-by: Sven Auhagen <sven.auhagen@voleatech.de>
> ---
>  drivers/net/ethernet/intel/igb/igb_main.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
Tested-by: Sandeep Penigalapati <sandeep.penigalapati@intel.com>

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

* RE: [PATCH v4 4/6] igb: skb add metasize for xdp
  2020-11-11 17:04 ` [PATCH v4 4/6] igb: skb add metasize for xdp sven.auhagen
@ 2020-12-08 12:50   ` Penigalapati, Sandeep
  0 siblings, 0 replies; 16+ messages in thread
From: Penigalapati, Sandeep @ 2020-12-08 12:50 UTC (permalink / raw)
  To: sven.auhagen, Nguyen, Anthony L, Fijalkowski, Maciej, kuba
  Cc: davem, intel-wired-lan, netdev, nhorman, sassmann, brouer, pmenzel

> From: sven.auhagen@voleatech.de <sven.auhagen@voleatech.de>
> Sent: Wednesday, November 11, 2020 10:35 PM
> To: Nguyen, Anthony L <anthony.l.nguyen@intel.com>; Fijalkowski, Maciej
> <maciej.fijalkowski@intel.com>; kuba@kernel.org
> Cc: davem@davemloft.net; intel-wired-lan@lists.osuosl.org;
> netdev@vger.kernel.org; nhorman@redhat.com; sassmann@redhat.com;
> Penigalapati, Sandeep <sandeep.penigalapati@intel.com>;
> brouer@redhat.com; pmenzel@molgen.mpg.de
> Subject: [PATCH v4 4/6] igb: skb add metasize for xdp
> 
> From: Sven Auhagen <sven.auhagen@voleatech.de>
> 
> add metasize if it is set in xdp
> 
> Suggested-by: Maciej Fijalkowski <maciej.fijalkowski@intel.com>
> Reviewed-by: Maciej Fijalkowski <maciej.fijalkowski@intel.com>
> Acked-by: Maciej Fijalkowski <maciej.fijalkowski@intel.com>
> Signed-off-by: Sven Auhagen <sven.auhagen@voleatech.de>
> ---
>  drivers/net/ethernet/intel/igb/igb_main.c | 4 ++++
>  1 file changed, 4 insertions(+)
> 
Tested-by: Sandeep Penigalapati <sandeep.penigalapati@intel.com>

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

end of thread, other threads:[~2020-12-08 12:51 UTC | newest]

Thread overview: 16+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-11-11 17:04 [PATCH v4 0/6] igb: xdp patches followup sven.auhagen
2020-11-11 17:04 ` [PATCH v4 1/6] igb: XDP xmit back fix error code sven.auhagen
2020-12-08 12:47   ` Penigalapati, Sandeep
2020-11-11 17:04 ` [PATCH v4 2/6] igb: take vlan double header into account sven.auhagen
2020-12-01  8:23   ` Penigalapati, Sandeep
2020-12-01  8:58     ` Jesper Dangaard Brouer
2020-12-05  9:42       ` Sven Auhagen
2020-12-08 10:52         ` Penigalapati, Sandeep
2020-12-08 11:39           ` Jesper Dangaard Brouer
2020-11-11 17:04 ` [PATCH v4 3/6] igb: XDP extack message on error sven.auhagen
2020-11-11 17:04 ` [PATCH v4 4/6] igb: skb add metasize for xdp sven.auhagen
2020-12-08 12:50   ` Penigalapati, Sandeep
2020-11-11 17:04 ` [PATCH v4 5/6] igb: use xdp_do_flush sven.auhagen
2020-12-01  7:30   ` Penigalapati, Sandeep
2020-11-11 17:04 ` [PATCH v4 6/6] igb: avoid transmit queue timeout in xdp path sven.auhagen
2020-11-24 14:49   ` Penigalapati, Sandeep

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).