[PATCH] net/bonding: fix mbuf fast free usage
Ferruh Yigit
ferruh.yigit at amd.com
Tue May 24 15:43:28 CEST 2022
On 5/21/2022 8:08 AM, Min Hu (Connor) wrote:
> [CAUTION: External Email]
>
> Usage of 'RTE_ETH_TX_OFFLOAD_MBUF_FAST_FREE' offload has two
> constraints: per-queue all mbufs comes from the same mempool and
> has refcnt = 1.
>
> Bonding mode Broadcast, Tx mbuf has more than one refcnt.
> Bonding mode 8023AD, It contains two mempools separately for LACP
> packets and other packets. In Tx or Rx, Fast mbuf free will operate
> mbuf from different mempool.
>
> This patch will prevent 'RTE_ETH_TX_OFFLOAD_MBUF_FAST_FREE' offload
> when in bonding mode Broadcast and mode 8023AD.
>
Hi Connor,
Please find a few syntax comment below, rest lgtm.
> Fixes: 78aecefed955 ("bond: move param parsing in configure step")
> Cc: stable at dpdk.org
>
> Signed-off-by: Min Hu (Connor) <humin29 at huawei.com>
> ---
> drivers/net/bonding/rte_eth_bond_pmd.c | 10 ++++++++++
> 1 file changed, 10 insertions(+)
>
> diff --git a/drivers/net/bonding/rte_eth_bond_pmd.c b/drivers/net/bonding/rte_eth_bond_pmd.c
> index c929b55768..5ca90c7590 100644
> --- a/drivers/net/bonding/rte_eth_bond_pmd.c
> +++ b/drivers/net/bonding/rte_eth_bond_pmd.c
> @@ -3563,6 +3563,7 @@ bond_ethdev_configure(struct rte_eth_dev *dev)
> const char *name = dev->device->name;
> struct bond_dev_private *internals = dev->data->dev_private;
> struct rte_kvargs *kvlist = internals->kvlist;
> + uint64_t offloads;
> int arg_count;
> uint16_t port_id = dev - rte_eth_devices;
> uint8_t agg_mode;
> @@ -3613,6 +3614,15 @@ bond_ethdev_configure(struct rte_eth_dev *dev)
> }
> }
>
> + offloads = dev->data->dev_conf.txmode.offloads;
> + if ((offloads & RTE_ETH_TX_OFFLOAD_MBUF_FAST_FREE) &&
> + (internals->mode == BONDING_MODE_8023AD ||
> + internals->mode == BONDING_MODE_BROADCAST)) {
Can you indent above two lines one more tab, to differentiate them from
content of the if block.
> + RTE_BOND_LOG(WARNING, "BOND MODE Broadcast & 8023AD don't support MBUF_FAST_FREE offload, force disable it.");
- Why "BOND MODE" is uppercase, if there is no special reason for it, I
suggest using lower case.
- Can you break the message to next line, this enables shorter line
without breaking the message:
RTE_BOND_LOG(WARNING,
"BOND MODE Broadcast & 8023AD don't support ....
> + offloads &= ~RTE_ETH_TX_OFFLOAD_MBUF_FAST_FREE;
> + dev->data->dev_conf.txmode.offloads = offloads;
> + }
> +
> /* set the max_rx_pktlen */
> internals->max_rx_pktlen = internals->candidate_max_rx_pktlen;
>
> --
> 2.33.0
>
More information about the stable
mailing list