forked from iqiyi/dpvs
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
patch: allow bonding slaves from different numa nodes
Note the patch may have a negative influnce on performance. It's not a good practice to bonding slaves across numa nodes. Signed-off-by: ywc689 <[email protected]>
- Loading branch information
Showing
6 changed files
with
62 additions
and
10 deletions.
There are no files selected for viewing
4 changes: 2 additions & 2 deletions
4
patch/dpdk-stable-20.11.1/0001-kni-use-netlink-event-for-multicast-driver-part.patch
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,7 +1,7 @@ | ||
From 8e66b7600c7d8d0e59dd85565986436c0e03a2c8 Mon Sep 17 00:00:00 2001 | ||
From 09760dd24ceaa9a6ce2435cdf9105e1da5d95616 Mon Sep 17 00:00:00 2001 | ||
From: huangyichen <[email protected]> | ||
Date: Thu, 1 Jul 2021 21:21:16 +0800 | ||
Subject: [PATCH 1/5] kni: use netlink event for multicast (driver part) | ||
Subject: [PATCH 1/6] kni: use netlink event for multicast (driver part) | ||
|
||
Kni driver sends netlink event every time hw-multicast list updated by | ||
kernel, the user kni app should capture the event and update multicast | ||
|
4 changes: 2 additions & 2 deletions
4
patch/dpdk-stable-20.11.1/0002-pdump-change-dpdk-pdump-tool-for-dpvs.patch
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,7 +1,7 @@ | ||
From 0ef2e126c8ca9b4a246f680a2a5110b734e9782b Mon Sep 17 00:00:00 2001 | ||
From 60e1eb0a50fc10ca69bcdc4148fdec35576eeedc Mon Sep 17 00:00:00 2001 | ||
From: huangyichen <[email protected]> | ||
Date: Thu, 1 Jul 2021 21:23:50 +0800 | ||
Subject: [PATCH 2/5] pdump: change dpdk-pdump tool for dpvs | ||
Subject: [PATCH 2/6] pdump: change dpdk-pdump tool for dpvs | ||
|
||
--- | ||
app/pdump/main.c | 167 ++++++++++++++++++++++++++++++++++++++++--- | ||
|
4 changes: 2 additions & 2 deletions
4
patch/dpdk-stable-20.11.1/0003-for-debug-only-enable-dpdk-eal-memory-debug.patch
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,7 +1,7 @@ | ||
From 446e9d2ae65c25ca382323bdd7cdec765f357886 Mon Sep 17 00:00:00 2001 | ||
From c9763a0b83bdf0fbf9a5a0ca8c96d999cca62196 Mon Sep 17 00:00:00 2001 | ||
From: huangyichen <[email protected]> | ||
Date: Thu, 1 Jul 2021 21:24:47 +0800 | ||
Subject: [PATCH 3/5] [for debug only] enable dpdk eal memory debug | ||
Subject: [PATCH 3/6] [for debug only] enable dpdk eal memory debug | ||
|
||
The patch is used for memory debug. To use the patch, configure meson with option | ||
-Dc_args="-DRTE_MALLOC_DEBUG" when building dpdk. For example, | ||
|
4 changes: 2 additions & 2 deletions
4
patch/dpdk-stable-20.11.1/0004-ixgbe_flow-patch-ixgbe-fdir-rte_flow-for-dpvs.patch
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,7 +1,7 @@ | ||
From fc81d45d6bf23bd6d9b0e7eb9fdc7fe41b559e65 Mon Sep 17 00:00:00 2001 | ||
From 54aad262b48f5904d7f1688b56526908151f5574 Mon Sep 17 00:00:00 2001 | ||
From: huangyichen <[email protected]> | ||
Date: Fri, 2 Jul 2021 11:55:47 +0800 | ||
Subject: [PATCH 4/5] ixgbe_flow: patch ixgbe fdir rte_flow for dpvs | ||
Subject: [PATCH 4/6] ixgbe_flow: patch ixgbe fdir rte_flow for dpvs | ||
|
||
1. Ignore fdir flow rule priority attribute. | ||
2. Use different fdir soft-id for flow rules configured for the same queue. | ||
|
4 changes: 2 additions & 2 deletions
4
patch/dpdk-stable-20.11.1/0005-Fix-bonding-mode-4-problem-caused-by-LACP-failure.patch
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,7 +1,7 @@ | ||
From ad725a88c0acbd795646cf1d6280c5de7a012044 Mon Sep 17 00:00:00 2001 | ||
From 0d0ba57681393cd9c11a0ac069c6f676b9f34707 Mon Sep 17 00:00:00 2001 | ||
From: huangyichen <[email protected]> | ||
Date: Fri, 2 Jul 2021 11:57:03 +0800 | ||
Subject: [PATCH 5/5] Fix bonding mode 4 problem caused by LACP failure. | ||
Subject: [PATCH 5/6] Fix bonding mode 4 problem caused by LACP failure. | ||
|
||
The problem is disscussed in Issue #725 of iqiyi/dpvs in detail. | ||
https://github.com/iqiyi/dpvs/issues/725 | ||
|
52 changes: 52 additions & 0 deletions
52
patch/dpdk-stable-20.11.1/0006-bonding-allow-slaves-from-different-numa-nodes.patch
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,52 @@ | ||
From e6d97675f818b6225209a3cada1e53a0756daedb Mon Sep 17 00:00:00 2001 | ||
From: wencyu <[email protected]> | ||
Date: Mon, 2 Aug 2021 13:52:24 +0800 | ||
Subject: [PATCH 6/6] bonding: allow slaves from different numa nodes | ||
|
||
Note the patch may have a negative influnce on performance. | ||
It's not a good practice to bonding slaves across numa nodes. | ||
|
||
Signed-off-by: wencyu <[email protected]> | ||
--- | ||
drivers/net/bonding/rte_eth_bond_pmd.c | 18 ++++++++++++++++-- | ||
1 file changed, 16 insertions(+), 2 deletions(-) | ||
|
||
diff --git a/drivers/net/bonding/rte_eth_bond_pmd.c b/drivers/net/bonding/rte_eth_bond_pmd.c | ||
index 057b1ad..53f8ba3 100644 | ||
--- a/drivers/net/bonding/rte_eth_bond_pmd.c | ||
+++ b/drivers/net/bonding/rte_eth_bond_pmd.c | ||
@@ -1762,7 +1762,14 @@ slave_configure(struct rte_eth_dev *bonded_eth_dev, | ||
|
||
errval = rte_eth_rx_queue_setup(slave_eth_dev->data->port_id, q_id, | ||
bd_rx_q->nb_rx_desc, | ||
- rte_eth_dev_socket_id(slave_eth_dev->data->port_id), | ||
+ // In spite of performance problem, bonding slaves had better to support | ||
+ // slaves from different numa nodes. Considering that numa node on which | ||
+ // the resources of bonding port is allocated from is specified by | ||
+ // rte_eth_bond_create() at bonding creation, the slave's queue_setup | ||
+ // would fail if specified with the slave's numa node id that is different | ||
+ // from the one of the bonding port. See rte_eth_dma_zone_reserve() for | ||
+ // details. | ||
+ SOCKET_ID_ANY, | ||
&(bd_rx_q->rx_conf), bd_rx_q->mb_pool); | ||
if (errval != 0) { | ||
RTE_BOND_LOG(ERR, | ||
@@ -1778,7 +1785,14 @@ slave_configure(struct rte_eth_dev *bonded_eth_dev, | ||
|
||
errval = rte_eth_tx_queue_setup(slave_eth_dev->data->port_id, q_id, | ||
bd_tx_q->nb_tx_desc, | ||
- rte_eth_dev_socket_id(slave_eth_dev->data->port_id), | ||
+ // In spite of performance problem, bonding slaves had better to support | ||
+ // slaves from different numa nodes. Considering that numa node on which | ||
+ // the resources of bonding port is allocated from is specified by | ||
+ // rte_eth_bond_create() at bonding creation, the slave's queue_setup | ||
+ // would fail if specified with the slave's numa node id that is different | ||
+ // from the one of the bonding port. See rte_eth_dma_zone_reserve() for | ||
+ // details. | ||
+ SOCKET_ID_ANY, | ||
&bd_tx_q->tx_conf); | ||
if (errval != 0) { | ||
RTE_BOND_LOG(ERR, | ||
-- | ||
1.8.3.1 | ||
|