18/04/2019 12:59, Thomas Monjalon: > 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: > http://git.dpdk.org/dpdk/commit/?id=23ea57a2a > " > 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.
For the record, it did not happen in 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 [...] The progress in April 2019 was 4 of 46 (9%). > Please let's progress smoothly on this topic, thanks. More than one year later, the progress is 26 of 53 (49%). > 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) We cannot wait forever. Temporary cannot be longer than 2 years. I am going to send a deprecation notice to remove the "temporary" flag RTE_ETH_DEV_CLOSE_REMOVE. It will break drivers which are not migrated. It will probably help to find motivation in new priorities. More details on what to do can be found in this mail thread: http://inbox.dpdk.org/dev/1748144.UFpUr2FPnr@xps/