On Sun, 28 Apr 2019 06:57:59 +0000
Matan Azrad <ma...@mellanox.com> wrote:

> 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)
> >   
> 

I have a version still testing

Reply via email to