On 6/26/20 3:27 PM, Maxime Coquelin wrote: > -rte_vdpa_unregister_device(struct rte_vdpa_device *vdev) > +rte_vdpa_unregister_device(struct rte_vdpa_device *dev) > { > - int i; > + struct rte_vdpa_device *cur_dev, *tmp_dev; > + int ret = -1; > > - for (i = 0; i < MAX_VHOST_DEVICE; i++) { > - if (vdev != &vdpa_devices[i]) > + rte_spinlock_lock(&vdpa_device_list_lock); > + TAILQ_FOREACH_SAFE(cur_dev, &vdpa_device_list, next, tmp_dev) { > + if (dev != cur_dev) > continue; > > - memset(vdev, 0, sizeof(struct rte_vdpa_device)); > + TAILQ_REMOVE(&vdpa_device_list, dev, next); > + rte_free(dev); > vdpa_device_num--; > - > - return 0; > + ret = 0; > + break; > } > + rte_spinlock_lock(&vdpa_device_list_lock); I missed Adrian's comment about the double lock here in v2. I'll post a v4 fixing it. Note to self: call this API in vdpa example. Maxime > - return -1; > + return ret; > } >
- [dpdk-dev] [PATCH v3 02/14] bus/fslmc: fix null pointer de... Maxime Coquelin
- Re: [dpdk-dev] [PATCH v3 02/14] bus/fslmc: fix null p... Adrian Moreno
- [dpdk-dev] [PATCH v3 07/14] vhost: replace device ID in ap... Maxime Coquelin
- [dpdk-dev] [PATCH v3 06/14] vhost: replace vDPA device ID ... Maxime Coquelin
- [dpdk-dev] [PATCH v3 05/14] vhost: replace device ID in vD... Maxime Coquelin
- [dpdk-dev] [PATCH v3 08/14] vhost: remove useless vDPA API Maxime Coquelin
- [dpdk-dev] [PATCH v3 10/14] vhost: introduce wrappers for ... Maxime Coquelin
- [dpdk-dev] [PATCH v3 04/14] vhost: make vDPA framework bus... Maxime Coquelin
- Re: [dpdk-dev] [PATCH v3 04/14] vhost: make vDPA fram... Adrian Moreno
- [dpdk-dev] [PATCH v3 09/14] vhost: use linked-list for vDP... Maxime Coquelin
- Re: [dpdk-dev] [PATCH v3 09/14] vhost: use linked-lis... Maxime Coquelin
- [dpdk-dev] [PATCH v3 11/14] examples/vdpa: use new wrapper... Maxime Coquelin
- [dpdk-dev] [PATCH v3 13/14] vhost: remove vDPA device coun... Maxime Coquelin
- [dpdk-dev] [PATCH v3 12/14] examples/vdpa: remove useless ... Maxime Coquelin
- Re: [dpdk-dev] [PATCH v3 12/14] examples/vdpa: remove... Adrian Moreno
- [dpdk-dev] [PATCH v3 14/14] vhost: split vDPA header file Maxime Coquelin
- [dpdk-dev] [PATCH v3 00/14] vDPA API and framework rework Maxime Coquelin
- [dpdk-dev] [PATCH v3 01/14] bus/dpaa: fix null pointe... Maxime Coquelin
- [dpdk-dev] [PATCH v3 02/14] bus/fslmc: fix null point... Maxime Coquelin
- [dpdk-dev] [PATCH v3 05/14] vhost: replace device ID ... Maxime Coquelin
- [dpdk-dev] [PATCH v3 04/14] vhost: make vDPA framewor... Maxime Coquelin