[dpdk-dev] [PATCH] net/avp: remove resources when port is closed

Ferruh Yigit ferruh.yigit at intel.com
Mon May 27 18:03:01 CEST 2019


On 5/27/2019 2:46 PM, Allain Legacy wrote:
> The rte_eth_dev_close() function now handles freeing resources for
> devices (e.g., mac_addrs).  There is no change in behaviour for AVP
> devices since they do not currently free their dynamic memory; which was
> a bug.  To conform with the new close() behaviour we are asserting the
> RTE_ETH_DEV_CLOSE_REMOVE flag so that rte_eth_dev_close() releases
> all device related dynamic memory.
> 
> Cc: Matt Peters <matt.peters at windriver.com>
> Signed-off-by: Allain Legacy <allain.legacy at windriver.com>

+1 to patch.
But Rx/Tx queues are not freed by 'rte_eth_dev_close()', they are still need to
be freed by the driver.
Since you started this, can you please extend the patch to clean them as well?

> ---
>  drivers/net/avp/avp_ethdev.c | 2 ++
>  1 file changed, 2 insertions(+)
> 
> diff --git a/drivers/net/avp/avp_ethdev.c b/drivers/net/avp/avp_ethdev.c
> index 09388d05f..7c37f4c8a 100644
> --- a/drivers/net/avp/avp_ethdev.c
> +++ b/drivers/net/avp/avp_ethdev.c
> @@ -959,6 +959,8 @@ eth_avp_dev_init(struct rte_eth_dev *eth_dev)
>  	eth_dev->dev_ops = &avp_eth_dev_ops;
>  	eth_dev->rx_pkt_burst = &avp_recv_pkts;
>  	eth_dev->tx_pkt_burst = &avp_xmit_pkts;
> +	/* Let rte_eth_dev_close() release the port resources */
> +	eth_dev->data->dev_flags |= RTE_ETH_DEV_CLOSE_REMOVE;
>  
>  	if (rte_eal_process_type() != RTE_PROC_PRIMARY) {
>  		/*
> 



More information about the dev mailing list