From: Robert Sanford <rsanford2@gmail.com>
To: dev@dpdk.org
Cc: chas3@att.com, humin29@huawei.com, bruce.richardson@intel.com
Subject: [PATCH v2 3/8] net/bonding: change mbuf pool and ring creation
Date: Tue, 21 Dec 2021 14:57:25 -0500 [thread overview]
Message-ID: <1640116650-3475-4-git-send-email-rsanford@akamai.com> (raw)
In-Reply-To: <1640116650-3475-1-git-send-email-rsanford@akamai.com>
- Turn off mbuf pool caching to avoid mbufs lingering in pool caches.
At most, we transmit one LACPDU per second, per port.
LACP tx_machine() performs the "get", and runs in the context of the
interrupt thread (no default cache).
PMD typically "puts" no more than one LACPDU per second, on average.
- Create rings with RING_F_EXACT_SZ flag, so that they are the desired
size, and not one less than requested.
Signed-off-by: Robert Sanford <rsanford@akamai.com>
---
drivers/net/bonding/rte_eth_bond_8023ad.c | 8 +++-----
1 file changed, 3 insertions(+), 5 deletions(-)
diff --git a/drivers/net/bonding/rte_eth_bond_8023ad.c b/drivers/net/bonding/rte_eth_bond_8023ad.c
index 43231bc..9ed2a46 100644
--- a/drivers/net/bonding/rte_eth_bond_8023ad.c
+++ b/drivers/net/bonding/rte_eth_bond_8023ad.c
@@ -1101,9 +1101,7 @@ bond_mode_8023ad_activate_slave(struct rte_eth_dev *bond_dev,
}
snprintf(mem_name, RTE_DIM(mem_name), "slave_port%u_pool", slave_id);
- port->mbuf_pool = rte_pktmbuf_pool_create(mem_name, total_tx_desc,
- RTE_MEMPOOL_CACHE_MAX_SIZE >= 32 ?
- 32 : RTE_MEMPOOL_CACHE_MAX_SIZE,
+ port->mbuf_pool = rte_pktmbuf_pool_create(mem_name, total_tx_desc, 0,
0, element_size, socket_id);
/* Any memory allocation failure in initialization is critical because
@@ -1115,7 +1113,7 @@ bond_mode_8023ad_activate_slave(struct rte_eth_dev *bond_dev,
snprintf(mem_name, RTE_DIM(mem_name), "slave_%u_rx", slave_id);
port->rx_ring = rte_ring_create(mem_name,
- rte_align32pow2(BOND_MODE_8023AX_SLAVE_RX_PKTS), socket_id, 0);
+ BOND_MODE_8023AX_SLAVE_RX_PKTS, socket_id, RING_F_EXACT_SZ);
if (port->rx_ring == NULL) {
rte_panic("Slave %u: Failed to create rx ring '%s': %s\n", slave_id,
@@ -1125,7 +1123,7 @@ bond_mode_8023ad_activate_slave(struct rte_eth_dev *bond_dev,
/* TX ring is at least one pkt longer to make room for marker packet. */
snprintf(mem_name, RTE_DIM(mem_name), "slave_%u_tx", slave_id);
port->tx_ring = rte_ring_create(mem_name,
- rte_align32pow2(BOND_MODE_8023AX_SLAVE_TX_PKTS + 1), socket_id, 0);
+ BOND_MODE_8023AX_SLAVE_TX_PKTS + 1, socket_id, RING_F_EXACT_SZ);
if (port->tx_ring == NULL) {
rte_panic("Slave %u: Failed to create tx ring '%s': %s\n", slave_id,
--
2.7.4
next prev parent reply other threads:[~2021-12-21 19:58 UTC|newest]
Thread overview: 35+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-12-15 18:19 [PATCH 0/7] net/bonding: fixes and LACP short timeout Robert Sanford
2021-12-15 18:19 ` [PATCH 1/7] net/bonding: fix typos and whitespace Robert Sanford
2021-12-21 19:57 ` [PATCH v2 0/8] net/bonding: fixes and LACP short timeout Robert Sanford
2021-12-21 19:57 ` [PATCH v2 1/8] net/bonding: fix typos and whitespace Robert Sanford
2022-02-04 15:06 ` Ferruh Yigit
2021-12-21 19:57 ` [PATCH v2 2/8] net/bonding: fix bonded dev configuring slave dev Robert Sanford
2021-12-21 19:57 ` Robert Sanford [this message]
2021-12-21 19:57 ` [PATCH v2 4/8] net/bonding: support enabling LACP short timeout Robert Sanford
2022-02-04 14:46 ` Ferruh Yigit
2021-12-21 19:57 ` [PATCH v2 5/8] net/bonding: add bond_8023ad and bond_alb to doc Robert Sanford
2022-02-04 14:48 ` Ferruh Yigit
2021-12-21 19:57 ` [PATCH v2 6/8] remove self from timers maintainers Robert Sanford
2022-03-08 23:26 ` Thomas Monjalon
2021-12-21 19:57 ` [PATCH v2 7/8] net/ring: add promisc and all-MC stubs Robert Sanford
2022-02-04 14:36 ` Ferruh Yigit
2022-02-04 14:49 ` Bruce Richardson
2022-02-11 19:57 ` Ferruh Yigit
2021-12-21 19:57 ` [PATCH v2 8/8] net/bonding: add LACP short timeout tests Robert Sanford
2022-02-04 14:49 ` Ferruh Yigit
2021-12-22 3:27 ` [PATCH v2 0/8] net/bonding: fixes and LACP short timeout Min Hu (Connor)
2022-01-11 16:41 ` Kevin Traynor
2022-02-04 15:09 ` Ferruh Yigit
2021-12-15 18:19 ` [PATCH 2/7] net/bonding: fix bonded dev configuring slave dev Robert Sanford
2021-12-15 18:19 ` [PATCH 3/7] net/bonding: change mbuf pool and ring allocation Robert Sanford
2021-12-16 8:59 ` Min Hu (Connor)
2021-12-17 19:49 ` Sanford, Robert
2021-12-18 3:44 ` Min Hu (Connor)
2021-12-20 16:47 ` Sanford, Robert
2021-12-21 2:01 ` Min Hu (Connor)
2021-12-21 15:31 ` Sanford, Robert
2021-12-22 3:25 ` Min Hu (Connor)
2021-12-15 18:19 ` [PATCH 4/7] net/bonding: support enabling LACP short timeout Robert Sanford
2021-12-15 18:19 ` [PATCH 5/7] net/bonding: add LACP short timeout to tests Robert Sanford
2021-12-15 18:20 ` [PATCH 6/7] net/bonding: add bond_8023ad and bond_alb to doc Robert Sanford
2021-12-15 18:20 ` [PATCH 7/7] Remove self from Timers maintainers Robert Sanford
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=1640116650-3475-4-git-send-email-rsanford@akamai.com \
--to=rsanford2@gmail.com \
--cc=bruce.richardson@intel.com \
--cc=chas3@att.com \
--cc=dev@dpdk.org \
--cc=humin29@huawei.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 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).