Hi Zhiyong,

> -----Original Message-----
> From: dev [mailto:[email protected]] On Behalf Of
> [email protected]
> Sent: Thursday, May 17, 2018 2:00 PM
> To: [email protected]
> Cc: [email protected]; Yigit, Ferruh <[email protected]>; Bie,
> Tiwei <[email protected]>; Yao, Lei A <[email protected]>; Yang, Zhiyong
> <[email protected]>
> Subject: [dpdk-dev] [PATCH] app/testpmd: add to call detach for vdev when
> quitting
> 
> For vdev, just calling rte_eth_dev_close() isn't enough to free all the 
> resources
> allocated during device probe, e.g. for virtio-user, virtio_user_pmd_remove(),
> i.e. the remove() method of a vdev driver, needs to be called to unlink the 
> socket
> file created during device probe. So this patch calls the 
> rte_eth_dev_detach() for
> vdev when quitting testpmd.
> 
> Cc: [email protected]
> Cc: [email protected]
> Cc: [email protected]
> Cc: [email protected]
> 
> Signed-off-by: Zhiyong Yang <[email protected]>
> ---
>  app/test-pmd/testpmd.c | 6 ++++++
>  1 file changed, 6 insertions(+)
> 
> diff --git a/app/test-pmd/testpmd.c b/app/test-pmd/testpmd.c index
> 134401603..1d308f056 100644
> --- a/app/test-pmd/testpmd.c
> +++ b/app/test-pmd/testpmd.c
> @@ -2011,6 +2011,8 @@ detach_port(portid_t port_id)  void
>  pmd_test_exit(void)
>  {
> +     const struct rte_bus *bus;
> +     struct rte_device *device;
>       portid_t pt_id;
>       int ret;
> 
> @@ -2020,10 +2022,14 @@ pmd_test_exit(void)
>       if (ports != NULL) {
>               no_link_check = 1;
>               RTE_ETH_FOREACH_DEV(pt_id) {
> +                     device = rte_eth_devices[pt_id].device;
> +                     bus = rte_bus_find_by_device(device);
>                       printf("\nShutting down port %d...\n", pt_id);
>                       fflush(stdout);
>                       stop_port(pt_id);
>                       close_port(pt_id);
> +                     if (bus && !strcmp(bus->name, "vdev"))
> +                             detach_port(pt_id);
>               }
>       }
> 
> --
> 2.14.3

This appears to be a bug fix patch, if so it should have a fixes line.
Also the commit line should include "fix", for example:
"app/testpmd: fix pmd_test_exit function for vdevs"

Regards,

Bernard.

Reply via email to