Hi Thomas

vdev_netvsc has no close API - should I change something there?

> From: Thomas Monjalon <tho...@monjalon.net>
> Hi all,
> 
> Since DPDK 18.11, the behaviour of the close operation is changed if
> RTE_ETH_DEV_CLOSE_REMOVE is enabled in the driver:
> port is released (i.e. totally freed and data erased) on close.
> This new behaviour is enabled per driver for a migration period.
> 
> Looking at the code, you can see these comments:
> /* old behaviour: only free queue arrays */ RTE_ETHDEV_LOG(DEBUG, "Port
> closing is using an old behaviour.\n"
>       "The driver %s should migrate to the new behaviour.\n",
> /* new behaviour: send event + reset state + free all data */
> 
> You can find an advice in the commit:
>       https://eur03.safelinks.protection.outlook.com/?url=http%3A%2F%2
> Fgit.dpdk.org%2Fdpdk%2Fcommit%2F%3Fid%3D23ea57a2a&amp;data=02%7
> C01%7Cmatan%40mellanox.com%7C3fea370ec31f4d22be8708d6c3ecf74b%7
> Ca652971c7d2e4d9ba6a4d149256f461b%7C0%7C0%7C636911819926371170&a
> mp;sdata=%2BHLHG6VK2gNLejSHRKLYtS4Qelqg%2FOD%2FUQbZwOIT9%2BA
> %3D&amp;reserved=0
> "
> When enabling RTE_ETH_DEV_CLOSE_REMOVE,
> the PMD must free all its private resources for the port, in its dev_close
> function.
> It is advised to call the dev_close function in the remove function in order 
> to
> support removing a device without closing its ports.
> "
> 
> It would be great to complete this migration for the next LTS version, which
> will be 19.11.
> It means the work should be ideally finished during the summer.
> 
> The migration to the new behaviour is done in 4 drivers:
> git grep -l RTE_ETH_DEV_CLOSE_REMOVE drivers | cut -d/ -f3
>       ena
>       enic
>       mlx5
>       vmxnet3
> 
> Following drivers should be migrated:
> ( find drivers/net -mindepth 1 -maxdepth 1 -type d | cut -d/ -f3 ; git grep -l
> RTE_ETH_DEV_CLOSE_REMOVE drivers | cut -d/ -f3 ) | sort | uniq -u
>       af_packet
>       af_xdp
>       ark
>       atlantic
>       avp
>       axgbe
>       bnx2x
>       bnxt
>       bonding
>       cxgbe
>       dpaa
>       dpaa2
>       e1000
>       enetc
>       failsafe
>       fm10k
>       i40e
>       iavf
>       ice
>       ifc
>       ixgbe
>       kni
>       liquidio
>       mlx4
>       mvneta
>       mvpp2
>       netvsc
>       nfb
>       nfp
>       null
>       octeontx
>       pcap
>       qede
>       ring
>       sfc
>       softnic
>       szedata2
>       tap
>       thunderx
>       vdev_netvsc
>       vhost
>       virtio
> 
> Please let's progress smoothly on this topic, thanks.
> 
> The concerned maintainers (Cc) can be found with the following command:
> devtools/get-maintainer.sh $(( find drivers/net -mindepth 1 -maxdepth 1 -
> type d | cut -d/ -f-3 ; git grep -l RTE_ETH_DEV_CLOSE_REMOVE drivers ) |
> sort | uniq -u)
> 

Reply via email to